/**
 * Parent category → child CTA grid (shortcode b1-parent-cta).
 * Rows alternate: 2 wide tiles, then 4 tiles, repeating.
 */

.b1-parent-cta-root .b1-parent-cta-section {
	margin-top: 100px;
	margin-bottom: 100px;
}

/* Stack row wrappers; Elementor container is flex in theme — override */
.b1-parent-cta-root .b1-parent-cta-section .elementor-container.elementor-column-gap-default.b1-parent-cta {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap !important;
	gap: 20px;
	width: 100%;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.b1-parent-cta-root .b1-parent-cta__row {
	display: grid;
	width: 100%;
	box-sizing: border-box;
	/* Matches Elementor column-gap-default (~10px padding each side → ~20px between tiles) */
	gap: 20px;
}

/* Desktop: first row of each pair = 2 equal columns; second row = 4 */
.b1-parent-cta-root .b1-parent-cta__row--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b1-parent-cta-root .b1-parent-cta__row--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Partial last row in a 4-slot row */
.b1-parent-cta-root .b1-parent-cta__row--cols-4.b1-parent-cta__row--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b1-parent-cta-root .b1-parent-cta__row--cols-4.b1-parent-cta__row--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b1-parent-cta-root .b1-parent-cta__row--cols-2.b1-parent-cta__row--count-1 > .b1-parent-cta__col-link,
.b1-parent-cta-root .b1-parent-cta__row--cols-4.b1-parent-cta__row--count-1 > .b1-parent-cta__col-link {
	grid-column: 1 / -1;
}

/* Tablet / mobile: 4-up rows become 2×2; 2-up rows stay 2 columns */
@media (max-width: 1024px) {
	.b1-parent-cta-root .b1-parent-cta__row--cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.b1-parent-cta-root .b1-parent-cta__row--cols-4.b1-parent-cta__row--count-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.b1-parent-cta-root .b1-parent-cta__row--cols-4.b1-parent-cta__row--count-1 > .b1-parent-cta__col-link {
		grid-column: 1 / -1;
	}
}

/* Real links — fill grid cell */
.b1-parent-cta-root .b1-parent-cta a.b1-parent-cta__col-link {
	display: flex !important;
	flex-direction: column;
	min-width: 0;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
	transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

.b1-parent-cta-root .b1-parent-cta a.b1-parent-cta__col-link:focus-visible {
	outline: 2px solid rgba(122, 162, 213, 0.95);
	outline-offset: 2px;
}

.b1-parent-cta-root .b1-parent-cta a.b1-parent-cta__col-link > .elementor-widget-wrap {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
}

/* Title size: match original template (wider on 2-up rows, smaller on 4-up) */
@media (min-width: 1025px) {
	.b1-parent-cta-root .b1-parent-cta__row--cols-2 .b1-parent-cta__widget .elementor-cta__title {
		font-size: 38px;
	}

	.b1-parent-cta-root .b1-parent-cta__row--cols-4 .b1-parent-cta__widget .elementor-cta__title {
		font-size: 32px;
	}
}

@media (max-width: 1024px) {
	.b1-parent-cta-root .b1-parent-cta__widget .elementor-cta__title {
		font-size: 38px;
	}
}

/* CTA widget — shared transitions */
.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta__content-item {
	transition-duration: 1000ms;
}

.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta .elementor-cta__bg,
.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta .elementor-cta__bg-overlay {
	transition-duration: 1500ms;
}

.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta__content {
	text-align: center;
}

.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta__title {
	font-weight: 300;
}

.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta:not(:hover) .elementor-cta__bg-overlay {
	background-color: rgba(122, 162, 213, 0.92);
}

.b1-parent-cta-root .b1-parent-cta .b1-parent-cta__widget .elementor-cta:hover .elementor-cta__bg-overlay {
	background-color: rgba(122, 162, 213, 0.43);
}
