.block-cta {
	&[data-display-type="normal"] {
		.block-inner {
			display: grid;
			grid-template-columns: 1fr;
			gap: 6rem;

			@include media-min($medium) {
				grid-template-columns: repeat(12, 1fr);
				gap: var(--grid-column-gutter);
			}
		}
	}

	&__column {
		font-weight: 300;
		@include media-min($medium) {
			grid-column: span 6;

			[data-num-cols="1"] & {
				grid-column: span 12;
			}
		}

		@include media-min($large) {
			[data-num-cols="1"] & {
				grid-column: 4 / span 6;
			}
		}
	}

	&__column-title-container {
		display: flex;
		align-items: center;
		gap: 1.8rem;
		margin-bottom: 1.5rem;
	}

	&__column-title {
		margin-top: 0;
	}

	&__column-icon-image {
		height: 50px;
		min-height: 50px;
		color: var(--color-white);
	}

	&__column-buttons {
		display: flex;
		align-items: center;
		gap: 2rem;
		margin-top: 2rem;
	}

	&__slim-container {
		display: flex;
		gap: 16px;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		padding: 4rem 3rem;
		border-radius: var(--card-border-radius);
		background-size: cover;
		background-position: center;

		@include media-min($medium) {
			gap: 32px;
		}

		@include media-min($large) {
			gap: 48px;
			flex-direction: row;
			padding: 8rem 9rem;
		}

		&--has-center {
			justify-content: center;
			@include media-min($large) {
				flex-direction: column;
			}
			.button {
				margin-top: 1.6rem;
			}
		}
	}

	&__slim-heading {
		text-align: center;
		flex: 1;

		@include media-min($large) {
			text-align: left;
			margin-bottom: 0;
		}
	}

	&__subscribe-form {
		margin-top: 0;
		width: 100%;
		max-width: 240px;

		.hs-form-field {
			position: relative;
			margin-bottom: 0;
			input {
				width: 100%;
				flex: 1;
				height: var(--default-input-min-height);
				background: #fff;
				color: #000;
				border: 1px solid var(--form-control-border-color-default);
				&::placeholder {
					color: var(--form-control-placeholder-color);
				}
			}
			.hs-error-msgs {
				position: absolute;
				top: 100%;
				left: 0;
				line-height: 1.2;
			}
		}

		.hs_recaptcha,
		.hs_submit,
		.hs_error_rollup {
			display: none;
		}

		&[data-error] {
			&::after {
				content: attr(data-error);
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				transform: translateY(calc(100% + 5px));
				font-size: 1.4rem;
				color: var(--error-text);
			}
		}
	}

	&__subscribe-success {
		margin-top: 0;
	}

	.button {
		min-width: unset;
	}

	&__minimal {
		display: grid;
		grid-template-columns: repeat(var(--grid-num-cols, 1), minmax(0, 1fr));
		gap: var(--grid-column-gutter);
		align-items: center;
		padding: 40px 0;
		overflow: hidden;
		@include media-min($medium) {
			padding: 40px 30px;
			--grid-num-cols: 12;
		}
		@include media-min($large) {
			padding: 64px;
		}
		h2,
		h4,
		.heading-lg {
			font-size: 40px;
			font-weight: 700;
			line-height: 48px;
			color: #fff;
			@include media-min($medium) {
				font-size: 60px;
				font-weight: 700;
				line-height: 64px;
			}
		}
		h5,
		.heading-sm {
			font-size: 40px;
			font-weight: 700;
			line-height: 48px;
			color: #fff;
			@include media-min($medium) {
				font-size: 50px;
				font-weight: 700;
				line-height: 56px;
			}
			& + p {
				margin-top: 64px;
			}
		}
		.desc {
			margin-top: 26px;
			font-size: 24px;
			line-height: 32px;
			color: #fff;
		}
		p {
			font-weight: 300;
		}
		.button-group {
			margin-top: 64px;
			justify-content: center;
			@include media-min($medium) {
				justify-content: flex-start;
			}
		}
		&-image {
			text-align: center;
			@include media-min($medium) {
				grid-column: span 4;
			}
		}
		&-content {
			text-align: center;
			@include media-min($medium) {
				text-align: left;
				grid-column: 5 / span 12;
			}
		}
	}
}
