.bsw-venues-cta {
	background: #fff;
	padding-block: 85px 0;
}

.bsw-venues-cta__row.wp-block-group {
	display: flex !important;
	align-items: flex-start;
	max-width: 1078px;
	margin-inline: auto !important;
}

/* Photo column — 431px of the 1078 row, credit hanging below */
.bsw-venues-cta__photo-side {
	flex: 0 0 431px;
	max-width: 431px;
}

.bsw-venues-cta__photo {
	display: block;
	width: 100%;
	height: 371px;
	object-fit: cover;
	object-position: 46% center;
}

p.bsw-venues-cta__credit {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-style: italic;
	font-size: 14px;
	color: #baaa7c;
	margin-block: 5px 0 !important;
}

/* Mauve card — the remaining 647px */
.bsw-venues-cta__card.wp-block-group {
	flex: 1 1 auto;
	background: var(--wp--preset--color--mauve, #ba878f);
	min-height: 371px;
	padding-block: 63px !important;
	padding-inline: 41px !important;
	box-sizing: border-box;
}

h2.bsw-venues-cta__heading {
	font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 42px !important;
	line-height: normal !important;
	color: #fff !important;
	margin-block: 0 !important;
}

/* Blush rule under the heading (the accent color used on mauve surfaces) */
h2.bsw-venues-cta__heading::after {
	content: "";
	display: block;
	width: 43px;
	height: 1.5px;
	background: var(--wp--preset--color--blush, #d7a3ac);
	margin: 20px auto 0;
}

p.bsw-venues-cta__body {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 18px;
	line-height: 2;
	color: #fff;
	max-width: 553px;
	margin-block: 20px 0 !important;
	margin-inline: auto !important;
}

.bsw-venues-cta__card .wp-block-buttons {
	margin-block: 24px 0 !important;
}

/* White filled button on the mauve card */
.bsw-venues-cta__btn .wp-block-button__link {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	background: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	min-height: 61px;
	min-width: 301px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bsw-venues-cta__btn .wp-block-button__link:hover {
	background: var(--wp--preset--color--blush, #d7a3ac) !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	/* Whole section goes mauve full-bleed; card first, photo below */
	.bsw-venues-cta {
		background: var(--wp--preset--color--mauve, #ba878f);
		padding-block: 0 14px;
		padding-inline: 21px;
	}

	.bsw-venues-cta__row.wp-block-group {
		flex-direction: column-reverse;
		max-width: 100%;
	}

	.bsw-venues-cta__card.wp-block-group {
		background: transparent;
		min-height: 0;
		width: 100%;
		padding-block: 40px 0 !important;
		padding-inline: 12px !important;
	}

	h2.bsw-venues-cta__heading {
		font-size: 38px !important;
		line-height: 38px !important;
	}

	h2.bsw-venues-cta__heading::after {
		margin-top: 24px;
	}

	p.bsw-venues-cta__body {
		margin-block-start: 9px !important;
	}

	.bsw-venues-cta__card .wp-block-buttons {
		margin-block-start: 25px !important;
	}

	.bsw-venues-cta__btn.wp-block-button {
		width: 100%;
	}

	.bsw-venues-cta__btn .wp-block-button__link {
		display: flex !important;
		min-width: 0 !important;
		max-width: 301px;
		width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}

	.bsw-venues-cta__photo-side {
		flex: none;
		width: 100%;
		max-width: 100%;
		margin-block-start: 41px;
	}

	.bsw-venues-cta__photo {
		height: auto;
		aspect-ratio: 398 / 343;
	}

	/* Credit sits on the mauve background on mobile */
	p.bsw-venues-cta__credit {
		color: #fff;
	}
}
