/**
 * Nexo Page Kit - Visual Composition Section.
 */

.nexo-visual-composition-section {
  box-sizing: border-box;
  width: 100%;
  border: 0;
  outline: 0;
  margin-top: var(--nexo-visual-composition-section-margin-top, 0);
  margin-bottom: var(--nexo-visual-composition-section-margin-bottom, 0);
  padding: var(--nexo-visual-composition-section-padding, 80px 0);
  background: var(--nexo-visual-composition-section-bg, #ffffff);
  min-height: var(--nexo-visual-composition-section-min-height, 0);
}

.nexo-visual-composition-section *,
.nexo-visual-composition-section *::before,
.nexo-visual-composition-section *::after {
  box-sizing: border-box;
}

.nexo-visual-composition-section__container {
  width: min(var(--nexo-visual-composition-container-width, 1015px), 100%);
  margin: var(--nexo-visual-composition-container-margin, 0 auto);
  padding: var(--nexo-visual-composition-container-padding, 0);
}

.nexo-visual-composition-section__header {
  max-width: var(--nexo-visual-composition-header-max-width, 100%);
  margin: 0 0 var(--nexo-visual-composition-header-margin-bottom, 32px);
  text-align: var(--nexo-visual-composition-header-align, left);
}

.nexo-visual-composition-section__header-title {
  margin: 0;
  color: var(--nexo-visual-composition-header-title-color, #25292a);
  font-family: var(
    --nexo-visual-composition-header-title-font,
    var(--nexo-font-family-headings, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-header-title-size, 36px);
  font-weight: var(--nexo-visual-composition-header-title-weight, 800);
  font-style: var(--nexo-visual-composition-header-title-style, normal);
  line-height: var(--nexo-visual-composition-header-title-line-height, 1.12);
  letter-spacing: var(--nexo-visual-composition-header-title-letter-spacing, 0);
  text-transform: var(
    --nexo-visual-composition-header-title-transform,
    uppercase
  );
}

.nexo-visual-composition-section__header-description {
  margin: var(--nexo-visual-composition-header-description-margin-top, 18px) 0 0;
  color: var(--nexo-visual-composition-header-description-color, #25292a);
  font-family: var(
    --nexo-visual-composition-header-description-font,
    var(--nexo-font-family-body, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-header-description-size, 13px);
  font-weight: var(--nexo-visual-composition-header-description-weight, 400);
  font-style: var(--nexo-visual-composition-header-description-style, normal);
  line-height: var(
    --nexo-visual-composition-header-description-line-height,
    1.45
  );
}

.nexo-visual-composition-section__grid {
  display: grid;
  grid-template-columns: var(
    --nexo-visual-composition-grid-columns,
    repeat(2, minmax(0, 1fr))
  );
  grid-template-rows: var(--nexo-visual-composition-grid-rows, auto auto);
  column-gap: var(--nexo-visual-composition-gap-x, 22px);
  row-gap: var(--nexo-visual-composition-gap-y, 10px);
  width: 100%;
  min-height: var(--nexo-visual-composition-grid-min-height, 370px);
}

.nexo-visual-composition-section__item {
  position: relative;
  z-index: var(--nexo-visual-composition-item-z-index, 1);
  display: block;
  grid-column: var(--nexo-visual-composition-item-column-start, 1) / span
    var(--nexo-visual-composition-item-column-span, 1);
  grid-row: var(--nexo-visual-composition-item-row-start, 1) / span
    var(--nexo-visual-composition-item-row-span, 1);
  min-height: var(--nexo-visual-composition-item-min-height, 180px);
  color: inherit;
  overflow: hidden;
  text-decoration: none;
  background: #d1d5db;
  border-radius: var(--nexo-visual-composition-item-radius, 8px);
}

.nexo-visual-composition-section__media,
.nexo-visual-composition-section__overlay {
  position: absolute;
  inset: 0;
}

.nexo-visual-composition-section__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--nexo-visual-composition-image-fit, cover);
  object-position: var(--nexo-visual-composition-image-position, center center);
  transform: var(--nexo-visual-composition-image-transform, none);
  transform-origin: center;
}

.nexo-visual-composition-section__overlay {
  z-index: 2;
  background: var(--nexo-visual-composition-overlay-bg, #000000);
  opacity: var(--nexo-visual-composition-overlay-opacity, 0.45);
  pointer-events: none;
}

.nexo-visual-composition-section__content {
  position: absolute;
  z-index: var(--nexo-visual-composition-content-z-index, 3);
  width: min(var(--nexo-visual-composition-content-max-width, 360px), 100%);
  padding: var(--nexo-visual-composition-content-padding, 0);
  text-align: var(--nexo-visual-composition-content-align, left);
}

.nexo-visual-composition-section__item--content-top_left
  .nexo-visual-composition-section__content {
  top: var(--nexo-visual-composition-content-offset-y, 28px);
  left: var(--nexo-visual-composition-content-offset-x, 32px);
}

.nexo-visual-composition-section__item--content-top_center
  .nexo-visual-composition-section__content {
  top: var(--nexo-visual-composition-content-offset-y, 28px);
  left: calc(50% + var(--nexo-visual-composition-content-offset-x, 0px));
  transform: translateX(-50%);
}

.nexo-visual-composition-section__item--content-top_right
  .nexo-visual-composition-section__content {
  top: var(--nexo-visual-composition-content-offset-y, 28px);
  right: var(--nexo-visual-composition-content-offset-x, 32px);
}

.nexo-visual-composition-section__item--content-center_left
  .nexo-visual-composition-section__content {
  top: calc(50% + var(--nexo-visual-composition-content-offset-y, 0px));
  left: var(--nexo-visual-composition-content-offset-x, 32px);
  transform: translateY(-50%);
}

.nexo-visual-composition-section__item--content-center
  .nexo-visual-composition-section__content {
  top: calc(50% + var(--nexo-visual-composition-content-offset-y, 0px));
  left: calc(50% + var(--nexo-visual-composition-content-offset-x, 0px));
  transform: translate(-50%, -50%);
}

.nexo-visual-composition-section__item--content-center_right
  .nexo-visual-composition-section__content {
  top: calc(50% + var(--nexo-visual-composition-content-offset-y, 0px));
  right: var(--nexo-visual-composition-content-offset-x, 32px);
  transform: translateY(-50%);
}

.nexo-visual-composition-section__item--content-bottom_left
  .nexo-visual-composition-section__content {
  bottom: var(--nexo-visual-composition-content-offset-y, 28px);
  left: var(--nexo-visual-composition-content-offset-x, 32px);
}

.nexo-visual-composition-section__item--content-bottom_center
  .nexo-visual-composition-section__content {
  bottom: var(--nexo-visual-composition-content-offset-y, 28px);
  left: calc(50% + var(--nexo-visual-composition-content-offset-x, 0px));
  transform: translateX(-50%);
}

.nexo-visual-composition-section__item--content-bottom_right
  .nexo-visual-composition-section__content {
  right: var(--nexo-visual-composition-content-offset-x, 32px);
  bottom: var(--nexo-visual-composition-content-offset-y, 28px);
}

.nexo-visual-composition-section__item--content-custom
  .nexo-visual-composition-section__content {
  top: var(--nexo-visual-composition-content-offset-y, 0px);
  left: var(--nexo-visual-composition-content-offset-x, 0px);
}

.nexo-visual-composition-section__item-title {
  margin: 0 0 var(--nexo-visual-composition-item-title-margin-bottom, 12px);
  color: var(--nexo-visual-composition-item-title-color, #ffffff);
  font-family: var(
    --nexo-visual-composition-item-title-font,
    var(--nexo-font-family-headings, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-item-title-size, 28px);
  font-weight: var(--nexo-visual-composition-item-title-weight, 800);
  font-style: var(--nexo-visual-composition-item-title-style, normal);
  line-height: var(--nexo-visual-composition-item-title-line-height, 1.12);
  letter-spacing: var(--nexo-visual-composition-item-title-letter-spacing, 0);
  text-transform: var(--nexo-visual-composition-item-title-transform, none);
}

.nexo-visual-composition-section__item-description {
  margin: 0;
  color: var(--nexo-visual-composition-item-description-color, #ffffff);
  font-family: var(
    --nexo-visual-composition-item-description-font,
    var(--nexo-font-family-body, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-item-description-size, 13px);
  font-weight: var(--nexo-visual-composition-item-description-weight, 400);
  font-style: var(--nexo-visual-composition-item-description-style, normal);
  line-height: var(
    --nexo-visual-composition-item-description-line-height,
    1.45
  );
  letter-spacing: var(
    --nexo-visual-composition-item-description-letter-spacing,
    0
  );
}

.nexo-visual-composition-section__item-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(var(--nexo-visual-composition-item-cta-width, 180px), 100%);
  min-height: var(--nexo-visual-composition-item-cta-height, 42px);
  margin-top: 16px;
  padding: 0 18px;
  color: var(--nexo-visual-composition-item-cta-color, #ffffff);
  background: var(--nexo-visual-composition-item-cta-bg, #f75c00);
  border-radius: var(--nexo-visual-composition-item-cta-radius, 6px);
  font-family: var(
    --nexo-visual-composition-item-cta-font,
    var(--nexo-font-family-body, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-item-cta-font-size, 12px);
  font-weight: var(--nexo-visual-composition-item-cta-font-weight, 800);
  text-decoration: none;
}

.nexo-visual-composition-section__item-cta:hover,
.nexo-visual-composition-section__item-cta:focus {
  color: var(--nexo-visual-composition-item-cta-color, #ffffff);
  background: var(--nexo-visual-composition-item-cta-hover-bg, #d94f00);
}

.nexo-visual-composition-section__cta-wrap {
  display: flex;
  margin: var(--nexo-visual-composition-cta-margin-top, 42px)
    var(--nexo-visual-composition-cta-margin-right, 0)
    var(--nexo-visual-composition-cta-margin-bottom, 0)
    var(--nexo-visual-composition-cta-margin-left, 0);
}

.nexo-visual-composition-section__cta-wrap--left {
  justify-content: flex-start;
}

.nexo-visual-composition-section__cta-wrap--center {
  justify-content: center;
}

.nexo-visual-composition-section__cta-wrap--right {
  justify-content: flex-end;
}

.nexo-visual-composition-section__cta {
  display: inline-flex;
  align-items: var(--nexo-visual-composition-cta-align-items, center);
  justify-content: var(--nexo-visual-composition-cta-justify-content, center);
  width: min(var(--nexo-visual-composition-cta-width, 340px), 100%);
  min-height: var(--nexo-visual-composition-cta-height, 52px);
  padding: var(--nexo-visual-composition-cta-padding-top, 0)
    var(--nexo-visual-composition-cta-padding-right, 24px)
    var(--nexo-visual-composition-cta-padding-bottom, 0)
    var(--nexo-visual-composition-cta-padding-left, 24px);
  color: var(--nexo-visual-composition-cta-color, #ffffff);
  background: var(--nexo-visual-composition-cta-bg, #f75c00);
  border-radius: var(--nexo-visual-composition-cta-radius, 7px);
  font-family: var(
    --nexo-visual-composition-cta-font,
    var(--nexo-font-family-body, "Nunito Sans", system-ui, sans-serif)
  );
  font-size: var(--nexo-visual-composition-cta-font-size, 13px);
  font-weight: var(--nexo-visual-composition-cta-font-weight, 800);
  font-style: var(--nexo-visual-composition-cta-font-style, normal);
  line-height: var(--nexo-visual-composition-cta-line-height, 1);
  letter-spacing: var(--nexo-visual-composition-cta-letter-spacing, 0);
  text-align: var(--nexo-visual-composition-cta-text-align, center);
  text-decoration: none;
  text-transform: var(--nexo-visual-composition-cta-text-transform, uppercase);
}

.nexo-visual-composition-section__cta:hover,
.nexo-visual-composition-section__cta:focus {
  color: var(--nexo-visual-composition-cta-color, #ffffff);
  background: var(--nexo-visual-composition-cta-hover-bg, #d94f00);
}

.nexo-visual-composition-section__cta-label {
  display: inline-block;
}

.nexo-visual-composition-section__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: var(--nexo-visual-composition-cta-icon-gap, 12px);
  line-height: 1;
}

.nexo-visual-composition-section__cta-icon svg {
  display: block;
  width: var(--nexo-visual-composition-cta-icon-size, 18px);
  height: var(--nexo-visual-composition-cta-icon-size, 18px);
  fill: currentColor;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__container {
  overflow-x: auto;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint {
  display: flex;
  flex-direction: column;
  gap: var(--nexo-visual-composition-row-gap, 24px);
  width: 100%;
  min-height: var(--nexo-visual-composition-grid-min-height, auto);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-row {
  display: grid;
  grid-template-columns: var(--nexo-visual-composition-row-columns, 1fr);
  gap: var(--nexo-visual-composition-row-column-gap, 0);
  min-height: var(--nexo-visual-composition-row-min-height, 80px);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  border: 1px solid rgba(37, 99, 235, 0.45);
  background: rgba(59, 130, 246, 0.12);
  color: #1e3a8a;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  box-sizing: border-box;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--has-inner {
  align-items: stretch;
  justify-content: stretch;
  padding: 0px;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-inner {
  display: flex;
  flex-direction: column;
  gap: var(--nexo-visual-composition-inner-row-gap, 10px);
  width: 100%;
  min-height: 100%;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-inner-row {
  display: grid;
  grid-template-columns: var(--nexo-visual-composition-inner-row-columns, 1fr);
  gap: var(--nexo-visual-composition-inner-column-gap, 0);
  min-height: var(--nexo-visual-composition-inner-row-min-height, 80px);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-inner-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  border: 1px dashed rgba(14, 116, 144, 0.55);
  background: rgba(14, 165, 233, 0.1);
  color: #155e75;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  box-sizing: border-box;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell-type {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  opacity: 0.78;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell-label {
  position: relative;
  z-index: 2;
}

.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-inner-cell {
  border: 0;
  background: transparent;
  color: inherit;
}

.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell-label,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell-type {
  display: none;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--has-text {
  position: relative;
  align-items: stretch;
  justify-content: stretch;
  padding: var(--nexo-visual-blueprint-text-cell-padding, 0);
  border-radius: var(--nexo-visual-blueprint-text-cell-radius, 0);
  background: var(
    --nexo-visual-blueprint-text-background,
    rgba(124, 58, 237, 0.1)
  );
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--has-image-overlay {
  position: relative;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  padding: var(--nexo-visual-blueprint-image-overlay-padding, 0);
  min-height: var(--nexo-visual-blueprint-image-overlay-min-height, inherit);
  border-radius: var(--nexo-visual-blueprint-image-overlay-radius, 0);
  background: var(--nexo-visual-blueprint-image-overlay-background, #111827);
  margin: var(--nexo-visual-blueprint-image-overlay-margin-top, 0)
    var(--nexo-visual-blueprint-image-overlay-margin-right, 0)
    var(--nexo-visual-blueprint-image-overlay-margin-bottom, 0)
    var(--nexo-visual-blueprint-image-overlay-margin-left, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--has-image {
  position: relative;
  align-items: center;
  justify-content: var(--nexo-visual-image-slot-justify, center);
  overflow: hidden;
  min-height: var(--nexo-visual-blueprint-image-min-height, inherit);
  border-radius: var(--nexo-visual-blueprint-image-radius, 0);
  background: var(--nexo-visual-blueprint-image-background, transparent);
  margin: var(--nexo-visual-blueprint-image-margin-top, 0)
    var(--nexo-visual-blueprint-image-margin-right, 0)
    var(--nexo-visual-blueprint-image-margin-bottom, 0)
    var(--nexo-visual-blueprint-image-margin-left, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--has-cta {
  position: relative;
  align-items: stretch;
  justify-content: stretch;
}

.nexo-visual-composition-section--blueprint .nexo-visual-composition-image,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image {
  position: relative;
  z-index: 1;
  display: flex;
  width: var(--nexo-visual-image-slot-width, 100%);
  max-width: var(--nexo-visual-image-slot-max-width, 100%);
  height: var(--nexo-visual-image-slot-height, 320px);
  min-height: var(--nexo-visual-blueprint-image-min-height, 100%);
  aspect-ratio: var(--nexo-visual-image-slot-aspect-ratio, auto);
  border-radius: inherit;
  background: var(--nexo-visual-blueprint-image-background, transparent);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-image__slot,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-slot {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: inherit;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-image__media,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-media {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--nexo-visual-blueprint-image-fit, cover);
  object-position: var(--nexo-visual-blueprint-image-position, 50% 50%);
  transform: var(--nexo-visual-blueprint-image-transform, none);
  transform-origin: center;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  min-height: var(--nexo-visual-blueprint-image-overlay-min-height, 100%);
  border-radius: inherit;
  background: var(--nexo-visual-blueprint-image-overlay-background, #111827);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-overlay-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--nexo-visual-blueprint-image-fit, cover);
  object-position: var(--nexo-visual-blueprint-image-position, 50% 50%);
  transform: var(--nexo-visual-blueprint-image-transform, none);
  transform-origin: center;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-overlay-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--nexo-visual-blueprint-overlay-background, #000000);
  opacity: var(--nexo-visual-blueprint-overlay-opacity, 0.45);
  pointer-events: none;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text {
  position: absolute;
  z-index: 4;
  box-sizing: border-box;
  width: min(100%, var(--nexo-visual-blueprint-text-max-width, 100%));
  max-width: var(--nexo-visual-blueprint-text-max-width, 100%);
  padding: var(--nexo-visual-blueprint-text-padding, 0);
  border-radius: var(--nexo-visual-blueprint-text-cell-radius, 0);
  background: var(--nexo-visual-blueprint-text-background, transparent);
  text-align: var(--nexo-visual-blueprint-text-align, left);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-image-overlay
  .nexo-visual-composition-section__blueprint-text {
  background: transparent;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta {
  position: absolute;
  z-index: 4;
  display: flex;
  width: min(100%, var(--nexo-visual-blueprint-cta-width, 260px));
  text-align: var(--nexo-visual-blueprint-cta-align, center);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--top_left,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--custom {
  top: var(--nexo-visual-blueprint-cta-offset-y, 0);
  left: var(--nexo-visual-blueprint-cta-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--top_center {
  top: var(--nexo-visual-blueprint-cta-offset-y, 0);
  left: 50%;
  transform: translateX(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--top_right {
  top: var(--nexo-visual-blueprint-cta-offset-y, 0);
  right: var(--nexo-visual-blueprint-cta-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--center_left {
  top: 50%;
  left: var(--nexo-visual-blueprint-cta-offset-x, 0);
  transform: translateY(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--center_right {
  top: 50%;
  right: var(--nexo-visual-blueprint-cta-offset-x, 0);
  transform: translateY(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--bottom_left {
  bottom: var(--nexo-visual-blueprint-cta-offset-y, 0);
  left: var(--nexo-visual-blueprint-cta-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--bottom_center {
  bottom: var(--nexo-visual-blueprint-cta-offset-y, 0);
  left: 50%;
  transform: translateX(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta--bottom_right {
  right: var(--nexo-visual-blueprint-cta-offset-x, 0);
  bottom: var(--nexo-visual-blueprint-cta-offset-y, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-button {
  display: inline-flex;
  align-items: var(--nexo-visual-blueprint-cta-align-items, center);
  justify-content: var(--nexo-visual-blueprint-cta-justify-content, center);
  width: min(var(--nexo-visual-blueprint-cta-width, 260px), 100%);
  min-height: var(--nexo-visual-blueprint-cta-height, 52px);
  padding: var(--nexo-visual-blueprint-cta-padding-top, 0)
    var(--nexo-visual-blueprint-cta-padding-right, 24px)
    var(--nexo-visual-blueprint-cta-padding-bottom, 0)
    var(--nexo-visual-blueprint-cta-padding-left, 24px);
  color: var(--nexo-visual-blueprint-cta-color, #ffffff);
  background: var(--nexo-visual-blueprint-cta-bg, #f75c00);
  border-radius: var(--nexo-visual-blueprint-cta-radius, 7px);
  font-family: var(--nexo-visual-blueprint-cta-font-family, inherit);
  font-size: var(--nexo-visual-blueprint-cta-font-size, 13px);
  font-style: var(--nexo-visual-blueprint-cta-font-style, normal);
  font-weight: var(--nexo-visual-blueprint-cta-font-weight, 800);
  letter-spacing: var(--nexo-visual-blueprint-cta-letter-spacing, 0);
  line-height: var(--nexo-visual-blueprint-cta-line-height, 1);
  text-align: var(--nexo-visual-blueprint-cta-text-align, center);
  text-decoration: none;
  text-transform: var(--nexo-visual-blueprint-cta-text-transform, uppercase);
  box-sizing: border-box;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-button:hover,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-button:focus {
  color: var(--nexo-visual-blueprint-cta-color, #ffffff);
  background: var(--nexo-visual-blueprint-cta-hover-bg, #d94f00);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-label {
  display: inline-block;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: var(--nexo-visual-blueprint-cta-icon-gap, 12px);
  line-height: 1;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cta-icon
  svg {
  display: block;
  width: var(--nexo-visual-blueprint-cta-icon-size, 18px);
  height: var(--nexo-visual-blueprint-cta-icon-size, 18px);
  fill: currentColor;
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--top_left,
.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--custom {
  top: var(--nexo-visual-blueprint-text-offset-y, 0);
  left: var(--nexo-visual-blueprint-text-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--top_center {
  top: var(--nexo-visual-blueprint-text-offset-y, 0);
  left: 50%;
  transform: translateX(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--top_right {
  top: var(--nexo-visual-blueprint-text-offset-y, 0);
  right: var(--nexo-visual-blueprint-text-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--center_left {
  top: 50%;
  left: var(--nexo-visual-blueprint-text-offset-x, 0);
  transform: translateY(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--center_right {
  top: 50%;
  right: var(--nexo-visual-blueprint-text-offset-x, 0);
  transform: translateY(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--bottom_left {
  bottom: var(--nexo-visual-blueprint-text-offset-y, 0);
  left: var(--nexo-visual-blueprint-text-offset-x, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--bottom_center {
  bottom: var(--nexo-visual-blueprint-text-offset-y, 0);
  left: 50%;
  transform: translateX(-50%);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text--bottom_right {
  right: var(--nexo-visual-blueprint-text-offset-x, 0);
  bottom: var(--nexo-visual-blueprint-text-offset-y, 0);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text-title {
  margin: 0 0 var(--nexo-visual-blueprint-title-margin-bottom, 14px);
  color: var(--nexo-visual-blueprint-title-color, #25292a);
  font-family: var(--nexo-visual-blueprint-title-font-family, inherit);
  font-size: var(--nexo-visual-blueprint-title-size, 32px);
  font-style: var(--nexo-visual-blueprint-title-style, normal);
  font-weight: var(--nexo-visual-blueprint-title-weight, 800);
  letter-spacing: var(--nexo-visual-blueprint-title-letter-spacing, 0);
  line-height: var(--nexo-visual-blueprint-title-line-height, 1.12);
  text-align: var(--nexo-visual-blueprint-title-align, left);
  text-transform: var(--nexo-visual-blueprint-title-transform, uppercase);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-text-description {
  margin: 0;
  color: var(--nexo-visual-blueprint-description-color, #25292a);
  font-family: var(--nexo-visual-blueprint-description-font-family, inherit);
  font-size: var(--nexo-visual-blueprint-description-size, 13px);
  font-style: var(--nexo-visual-blueprint-description-style, normal);
  font-weight: var(--nexo-visual-blueprint-description-weight, 400);
  letter-spacing: var(--nexo-visual-blueprint-description-letter-spacing, 0);
  line-height: var(--nexo-visual-blueprint-description-line-height, 1.45);
  text-align: var(--nexo-visual-blueprint-description-align, left);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--type-text {
  background: rgba(124, 58, 237, 0.1);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--type-image {
  background: rgba(22, 163, 74, 0.1);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--type-image-overlay {
  background: rgba(245, 158, 11, 0.12);
}

.nexo-visual-composition-section--blueprint
  .nexo-visual-composition-section__blueprint-cell--type-cta {
  background: rgba(249, 115, 22, 0.12);
}

.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-tab="header"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-tab="items"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-tab="cta"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-tab="responsive"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-panel="header"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-panel="items"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-panel="cta"],
.nexo-page-kit-builder--visual-composition-section
  [data-nexo-page-kit-builder-panel="responsive"] {
  display: none;
}

.nexo-visual-layout-builder {
  display: grid;
  gap: 16px;
}

.nexo-visual-layout-builder__empty {
  padding: 22px;
  border: 1px dashed #c3c4c7;
  background: #f6f7f7;
  color: #50575e;
  text-align: center;
}

.nexo-visual-layout-builder__rows {
  display: grid;
  gap: 18px;
}

.nexo-visual-layout-builder__row {
  padding: 16px;
  border: 1px solid #dcdcde;
  background: #ffffff;
}

.nexo-visual-layout-builder__row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.nexo-visual-layout-builder__row-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.nexo-visual-layout-builder__columns {
  display: grid;
  gap: 12px;
  margin: 14px 0;
}

.nexo-visual-layout-builder__column {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(37, 99, 235, 0.25);
  background: rgba(59, 130, 246, 0.06);
}

.nexo-visual-layout-builder__column-inner {
  grid-column: 1 / -1;
}

.nexo-visual-layout-builder__inner {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 12px;
  border: 1px dashed rgba(14, 116, 144, 0.4);
  background: rgba(14, 165, 233, 0.06);
}

.nexo-visual-layout-builder__inner-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.nexo-visual-layout-builder__inner-rows {
  display: grid;
  gap: 12px;
}

.nexo-visual-layout-builder__inner-row {
  padding: 12px;
  border: 1px solid rgba(14, 116, 144, 0.25);
  background: #ffffff;
}

.nexo-visual-layout-builder__inner-columns {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.nexo-visual-layout-builder__inner-column {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 10px;
  border: 1px dashed rgba(14, 116, 144, 0.35);
  background: rgba(14, 165, 233, 0.08);
}

.nexo-visual-layout-builder__cell-id {
  align-self: center;
  color: #1e3a8a;
  font-weight: 700;
}

.nexo-visual-cell-editor {
  display: grid;
  gap: 16px;
}

.nexo-visual-cell-editor__empty {
  padding: 22px;
  border: 1px dashed #c3c4c7;
  background: #f6f7f7;
  color: #50575e;
  text-align: center;
}

.nexo-visual-cell-editor__layout {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 18px;
}

.nexo-visual-cell-editor__list {
  display: grid;
  align-content: start;
  gap: 8px;
}

.nexo-visual-cell-editor__cell {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #dcdcde;
  background: #ffffff;
  color: #1d2327;
  text-align: left;
  cursor: pointer;
}

.nexo-visual-cell-editor__cell.is-active {
  border-color: #f75c00;
  background: rgba(247, 92, 0, 0.1);
  color: #1d2327;
  font-weight: 700;
}

.nexo-visual-composition-section__blueprint-cell.is-selected,
.nexo-visual-composition-section__blueprint-inner-cell.is-selected {
  outline: 3px solid #f75c00;
  outline-offset: 2px;
}

.nexo-visual-cell-editor__panel {
  padding: 16px;
  border: 1px solid #dcdcde;
  background: #ffffff;
}

.nexo-visual-cell-editor__text-fields {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.nexo-visual-cell-editor__field-group {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dcdcde;
  background: #f6f7f7;
}

.nexo-visual-cell-editor__field-group h5 {
  margin: 0;
  color: #1d2327;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.nexo-visual-cell-editor__compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.nexo-visual-cell-editor__wide {
  grid-column: 1 / -1;
}

.nexo-visual-cell-editor .nexo-page-kit-media-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.nexo-visual-cell-editor__text-fields textarea {
  min-height: 54px;
  resize: vertical;
}

/**
 * Admin preview desktop container lock.
 *
 * Mantém o container do Visual Composition Section com largura desktop fixa
 * durante a edição/preview administrativa, para calibragem visual com base no Figma.
 * Não afeta o frontend público.
 */
.nexo-page-kit-admin-preview__frame {
  overflow-x: auto;
}

.nexo-page-kit-admin-preview__frame
  .nexo-visual-composition-section--blueprint:not(
    .nexo-visual-composition-section--runtime
  )
  .nexo-visual-composition-section__container {
  width: 1360px;
  max-width: none;
}

/**
 * Runtime cleanup.
 *
 * Remove estilos de blueprint/editor no frontend e no preview renderizado.
 */
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-inner-cell,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell--has-text,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell--has-image,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell--has-image-overlay,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell--has-cta {
  border: 0;
  background: transparent;
  color: inherit;
}

.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell-label,
.nexo-visual-composition-section--runtime
  .nexo-visual-composition-section__blueprint-cell-type {
  display: none;
}

/**
 * Responsive — tablet.
 *
 * Mantém duas colunas e ajusta cards com conteúdo centralizado à esquerda.
 */
@media (min-width: 768px) and (max-width: 1024px) {
  .nexo-visual-composition-section {
    padding-right: 24px;
    padding-left: 24px;
  }

  .nexo-visual-composition-section__container {
    width: 100%;
    max-width: 100%;
  }

  .nexo-visual-composition-section__grid {
    grid-template-columns: repeat(
      var(--nexo-visual-composition-tablet-columns, 2),
      minmax(0, 1fr)
    );
    grid-template-rows: auto;
    min-height: auto;
  }

  .nexo-visual-composition-section__item {
    grid-column: auto / span 1;
    grid-row: auto / span 1;
    min-height: var(--nexo-visual-composition-item-min-height, 180px);
  }

  .nexo-visual-composition-section__item--content-center_left
    .nexo-visual-composition-section__content {
    top: 30px !important;
    bottom: auto !important;
    left: 24px !important;
    max-width: calc(100% - 48px);
    transform: none !important;
  }

  .nexo-visual-composition-section__item-title,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-text-title {
    font-size: clamp(24px, 3vw, 30px);
    line-height: 1.08;
    overflow-wrap: break-word;
  }

  .nexo-visual-composition-section__item-description,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-text-description {
    font-size: 14px;
    line-height: 1.45;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-image-overlay {
    min-height: max(
      var(--nexo-visual-blueprint-image-overlay-min-height, 180px),
      236px
    );
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-image-overlay
    .nexo-visual-composition-section__blueprint-text--center_left {
    top: 30px !important;
    bottom: auto !important;
    left: 24px !important;
    max-width: calc(100% - 48px);
    transform: none !important;
  }
}

/**
 * Responsive — mobile.
 *
 * Empilha o blueprint, mantém cards de imagem/overlay legíveis e transforma
 * CTA de célula em item de fluxo normal.
 */
@media (max-width: 767px) {
  .nexo-visual-composition-section {
    padding-top: 32px !important;
    padding-right: 16px;
    padding-bottom: 36px !important;
    padding-left: 16px;
  }

  .nexo-visual-composition-section__container {
    width: 100%;
    max-width: 430px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .nexo-visual-composition-section__header {
    position: relative;
    z-index: 6;
    margin-bottom: 28px !important;
  }

  .nexo-visual-composition-section__header-title {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.1;
    overflow-wrap: break-word;
  }

  .nexo-visual-composition-section__header-description {
    font-size: 14px;
    line-height: 1.55;
  }

  .nexo-visual-composition-section__grid {
    position: relative;
    z-index: 1;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto;
    column-gap: 0;
    row-gap: var(--nexo-visual-composition-mobile-gap-y, 16px);
    min-height: auto;
    margin-top: 0;
  }

  .nexo-visual-composition-section__item {
    grid-column: auto / span 1 !important;
    grid-row: auto / span 1 !important;
    width: 100%;
    min-height: 300px;
  }

  .nexo-visual-composition-section__item:first-child {
    min-height: 430px;
  }

  .nexo-visual-composition-section__content {
    top: auto !important;
    right: auto !important;
    bottom: 28px !important;
    left: 24px !important;
    width: auto;
    max-width: calc(100% - 48px);
    transform: none !important;
  }

  .nexo-visual-composition-section__item-title {
    font-size: clamp(22px, 6.4vw, 28px);
    line-height: 1.08;
    overflow-wrap: break-word;
  }

  .nexo-visual-composition-section__item-description {
    font-size: 13.5px;
    line-height: 1.45;
  }

  .nexo-visual-composition-section__cta-wrap {
    position: relative;
    z-index: 5;
    justify-content: stretch;
    margin-top: 56px !important;
  }

  .nexo-visual-composition-section__cta {
    width: 100%;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint {
    position: relative;
    z-index: 1;
    gap: 16px !important;
    width: 100%;
    min-height: auto;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-row,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100%;
    min-height: auto;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner {
    gap: 16px;
    width: 100%;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell {
    width: 100%;
    min-width: 0;
    min-height: auto;
    margin: 0 !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint
    > .nexo-visual-composition-section__blueprint-row:first-child {
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    gap: 0 !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint
    > .nexo-visual-composition-section__blueprint-row:first-child
    .nexo-visual-composition-section__blueprint-cell--has-text:not(
      .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    ),
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint
    > .nexo-visual-composition-section__blueprint-row:first-child
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-text:not(
      .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    ) {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint
    > .nexo-visual-composition-section__blueprint-row:first-child
    .nexo-visual-composition-section__blueprint-cell--has-text:not(
      .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    )
    .nexo-visual-composition-section__blueprint-text,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint
    > .nexo-visual-composition-section__blueprint-row:first-child
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-text:not(
      .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    )
    .nexo-visual-composition-section__blueprint-text {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-image-overlay,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-image-overlay {
    min-height: 380px !important;
    overflow: hidden;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-image-overlay,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-image-overlay {
    position: relative;
    height: 100%;
    min-height: inherit !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-text,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-text {
    position: absolute !important;
    top: auto !important;
    right: 24px !important;
    bottom: 28px !important;
    left: 24px !important;
    z-index: 5;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-text-title {
    font-size: clamp(22px, 6.4vw, 28px);
    line-height: 1.08;
    overflow-wrap: break-word;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-text-title,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-image-overlay
    .nexo-visual-composition-section__blueprint-text-title {
    font-size: clamp(24px, 6.4vw, 30px);
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-text-description {
    font-size: 13.5px;
    line-height: 1.45;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cell--has-cta,
  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-inner-cell.nexo-visual-composition-section__blueprint-cell--has-cta {
    display: block !important;
    min-height: auto !important;
    padding-top: 28px !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cta {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
  }

  .nexo-visual-composition-section--blueprint
    .nexo-visual-composition-section__blueprint-cta-button {
    width: 100% !important;
  }
}
