.campaign-family-grid-cta {
  --campaign-family-grid-cta-bg: #f2f2f2;
  --campaign-family-grid-cta-text: #111111;
  --campaign-family-grid-cta-muted: #4a4a4a;
  --campaign-family-grid-cta-accent: #a91d22;
  --campaign-family-grid-cta-primary-bg: #000000;
  --campaign-family-grid-cta-secondary-bg: #a91d22;
  --campaign-family-grid-cta-button-text: #ffffff;
  --campaign-family-grid-cta-radius: 16px;

  height: 100%;
  min-height: 100%;
  padding: 15px;
  border-radius: var(--campaign-family-grid-cta-radius);
  background: var(--campaign-family-grid-cta-bg);
  box-shadow: none;
  align-content: center;
  display: flex !important;
}

.campaign-family-grid-cta .campaign-family-grid-cta__content {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  gap: 0.56rem;
}

.campaign-family-grid-cta .campaign-family-grid-cta__heading {
  margin: 0 auto;
  color: var(--campaign-family-grid-cta-text);
  font-size: clamp(1.82rem, 2.05vw, 2.04rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.campaign-family-grid-cta .campaign-family-grid-cta__heading-line {
  display: block;
  margin-bottom: 0.04em;
}

.campaign-family-grid-cta .campaign-family-grid-cta__heading-accent {
  display: block;
  color: var(--campaign-family-grid-cta-accent);
  line-height: 0.95;
}

.campaign-family-grid-cta .campaign-family-grid-cta__description {
  margin: 0 auto;
  max-width: 40ch;
  color: var(--campaign-family-grid-cta-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.campaign-family-grid-cta .campaign-family-grid-cta__description p {
  margin: 0;
}

.campaign-family-grid-cta .campaign-family-grid-cta__description p + p {
  margin-top: 0.42rem;
}

.campaign-family-grid-cta .campaign-family-grid-cta__actions {
  width: 100%;
  max-width: 196px;
  margin-top: 0.12rem;
  gap: 0.44rem;
}

.campaign-family-grid-cta .campaign-family-grid-cta__button {
  width: min(280px, 100%);
  min-height: 56px;
  padding: 0.9rem 2rem;
  border: 0;
  border-radius: 100px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(16px, 1.15vw, 16px);
  font-weight: 500;
  line-height: 1.1;
  text-transform: none;
  letter-spacing: 0;
  transition: opacity 180ms ease, transform 180ms ease;
  align-content: center;
}

.campaign-family-grid-cta .campaign-family-grid-cta__button:focus-visible {
  opacity: 0.97;
  text-decoration: none;
}

.campaign-family-grid-cta .campaign-family-grid-cta__button:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

.campaign-family-grid-cta .campaign-family-grid-cta__button--primary {
  background: var(--campaign-family-grid-cta-primary-bg);
  color: var(--campaign-family-grid-cta-button-text);
}

.campaign-family-grid-cta .campaign-family-grid-cta__button--primary:hover,
.campaign-family-grid-cta .campaign-family-grid-cta__button--primary:focus-visible {
  background: var(--campaign-family-grid-cta-primary-bg);
  color: var(--campaign-family-grid-cta-button-text);
}

.campaign-family-grid-cta .campaign-family-grid-cta__button--secondary {
  background: var(--campaign-family-grid-cta-secondary-bg);
  color: var(--campaign-family-grid-cta-button-text);
}

.campaign-family-grid-cta .campaign-family-grid-cta__button--secondary:hover,
.campaign-family-grid-cta .campaign-family-grid-cta__button--secondary:focus-visible {
  background: var(--campaign-family-grid-cta-secondary-bg);
  color: var(--campaign-family-grid-cta-button-text);
}

.campaign-product-grid .campaign-family-grid-cta.campaign-family-grid-cta--grid {
  padding: 15px;
  border-radius: 16px;
}

.campaign-product-grid .campaign-family-grid-cta.campaign-product-grid__card--cta {
  justify-content: center;
}

.campaign-family-grid-cta.campaign-family-grid-cta--shortcode {
  max-width: 360px;
  margin: 0 auto;
}

@media (max-width: 959px) {
  .campaign-family-grid-cta {
    padding: 14px;
  }

  .campaign-family-grid-cta .campaign-family-grid-cta__content {
    max-width: 15rem;
  }

  .campaign-family-grid-cta .campaign-family-grid-cta__heading {
    font-size: clamp(1.64rem, 4.6vw, 1.9rem);
  }

  .campaign-family-grid-cta .campaign-family-grid-cta__description {
    /* max-width: 27ch; */
    font-size: 0.79rem;
    line-height: 1.42;
  }

  .campaign-family-grid-cta .campaign-family-grid-cta__actions {
    max-width: 192px;
  }

/*  .campaign-family-grid-cta .campaign-family-grid-cta__button {
    min-height: 35px;
    font-size: 0.71rem;
  }*/
}

@media (max-width: 639px) {
  .campaign-family-grid-cta .campaign-family-grid-cta__content,
  .campaign-family-grid-cta .campaign-family-grid-cta__actions {
    max-width: 100%;
  }
}
