.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta {
  position: relative;

  width: 100%;

  margin: 0;

  padding:
    var(--contact-cta-padding-top)
    30px
    var(--contact-cta-padding-bottom);

  box-sizing: border-box;

  background:
    var(--contact-cta-bg);

  overflow: hidden;
}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__inner {
  width: 100%;
  max-width: 1200px;

  margin:
    0
    auto;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap:
    var(--contact-cta-gap);

  text-align: center;
}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__title {
  margin: 0;
  padding: 0;

  max-width: 100%;

  color:
    var(
      --contact-cta-title-color
    );

  font-family: inherit;

  font-size:
    var(
      --contact-cta-title-size
    );

  font-weight: 400;

  line-height: 1.2;

  letter-spacing: 0.02em;

  text-align: center;

  text-transform: uppercase;
}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button {
  width:
    var(
      --contact-cta-button-width
    );

  height:
    var(
      --contact-cta-button-height
    );

  max-width: 100%;

  padding:
    0
    24px;

  box-sizing: border-box;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  border: 0;

  border-radius:
    var(
      --contact-cta-button-radius
    );

  background:
    var(
      --contact-cta-button-bg
    );

  color:
    var(
      --contact-cta-button-text
    );

  font-family: inherit;

  font-size:
    var(
      --contact-cta-button-font-size
    );

  font-weight: 400;

  line-height: 1;

  letter-spacing: 0.02em;

  text-align: center;

  text-decoration: none;

  white-space: nowrap;

  cursor: pointer;

  transition:
    transform
    0.2s
    ease,

    opacity
    0.2s
    ease,

    box-shadow
    0.2s
    ease;
}


@media (hover: hover) {

  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button:hover {
    transform:
      translateY(-2px);

    opacity: 0.92;

    box-shadow:
      0
      8px
      22px
      rgba(
        0,
        0,
        0,
        0.08
      );
  }

}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button:active {
  transform:
    translateY(0)
    scale(0.98);
}


@media (
  min-width: 768px
) and (
  max-width: 1023px
) {

  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta {
    padding-left: 24px;
    padding-right: 24px;
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__title {
    font-size:
      min(
        var(
          --contact-cta-title-size
        ),
        36px
      );
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button {
    max-width: 320px;
  }

}


@media (max-width: 767px) {

  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta {
    padding-left: 20px;
    padding-right: 20px;
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__inner {
    gap:
      min(
        var(
          --contact-cta-gap
        ),
        32px
      );
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__title {
    width: 100%;

    font-size:
      var(
        --contact-cta-mobile-title-size
      );

    line-height: 1.25;

    letter-spacing: 0.015em;
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button {
    width:
      min(
        var(
          --contact-cta-mobile-button-width
        ),
        calc(
          100vw -
          40px
        )
      );

    height:
      var(
        --contact-cta-mobile-button-height
      );

    max-width: 100%;

    padding:
      0
      20px;

    font-size:
      var(
        --contact-cta-mobile-button-font-size
      );
  }

}


@media (max-width: 380px) {

  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta {
    padding-left: 16px;
    padding-right: 16px;
  }


  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button {
    max-width:
      calc(
        100vw -
        32px
      );
  }

}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta--empty {
  min-height: 160px;

  padding: 30px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #f7f7f7;

  border:
    1px
    dashed
    #d7d7d7;
}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__placeholder {
  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 6px;

  font-family: inherit;

  font-size: 13px;

  text-align: center;

  color: #666666;
}


.cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__placeholder strong {
  color: #222222;

  font-size: 15px;
}


@media (
  prefers-reduced-motion:
  reduce
) {

  .cc_tb32aqjd_u1nHerHJWT .mappyco-contact-cta__button {
    transition: none;
  }

}