/* Editable programme format section. The glow is part of the block; the
 * heading, cards and bonus stay in normal document flow. */
:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format {
	position: relative;
	box-sizing: border-box;
	min-height: 0;
	height: auto;
	overflow: hidden;
	padding: 100px 0 72px;
	background: #fff;
	color: #000;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-container {
	position: relative;
	z-index: 1;
	width: min(1190px, calc(100% - 48px));
	margin: 0 auto;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__glow {
	position: absolute;
	z-index: 0;
	top: 181px;
	right: -596.53px;
	display: flex;
	width: 1192.531px;
	height: 1251.519px;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__glow > div {
	flex: none;
	transform: rotate(75.04deg) scaleY(-1);
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__glow > div > div {
	position: relative;
	width: 1039.81px;
	height: 956.479px;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__glow img {
	position: absolute;
	inset: -16.5% -4.33% -5.37% -15.18%;
	display: block;
	width: 119.51%;
	max-width: none;
	height: 122.74%;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-section-heading {
	position: relative;
	top: auto;
	left: auto;
	display: block;
	width: 100%;
	margin: 0;
	transform: none;
	text-align: center;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-section-heading h2 {
	max-width: 1093px;
	margin: 0 auto;
	color: #000;
	font-size: 48px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -1px;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__grid {
	position: relative;
	top: auto;
	left: auto;
	display: grid;
	width: 100%;
	margin: 87px 0 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 221px;
	gap: 10px;
	transform: none;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card {
	display: flex;
	min-width: 0;
	height: 221px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 40px 30px;
	border: 1px solid #eae9e9;
	border-radius: 30px;
	background: #fff;
	box-sizing: border-box;
	color: #000;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card:nth-child(4) {
	grid-column: 3;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card:nth-child(5) {
	grid-column: 4;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card h3 {
	width: 100%;
	margin: 0;
	color: #000;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -1px;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card p {
	width: 100%;
	margin: 0;
	color: rgba(0, 0, 0, .8);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -1px;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-bonus {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	display: flex;
	width: 100%;
	align-items: center;
	gap: 10px;
	margin: 36px 0 0;
	padding: 15px 30px;
	border: 1px solid #eae9e9;
	border-radius: 500px;
	background: #fff;
	box-sizing: border-box;
	color: #000;
	text-align: left;
	transform: none;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-bonus img {
	display: block;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
}

:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-bonus span {
	opacity: .8;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -1px;
}

@media (max-width: 800px) {
	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format {
		padding: 52px 0 72px;
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-container {
		width: calc(100% - 32px);
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-section-heading h2 {
		font-size: 34px;
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__grid {
		margin-top: 72px;
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card,
	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card:nth-child(4),
	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format-card:nth-child(5) {
		grid-column: auto;
		height: auto;
		min-height: 221px;
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format .fp-program-bonus {
		border-radius: 30px;
	}

	:is(body.fp-program-page, .editor-styles-wrapper) .fp-program-format__glow {
		right: -820px;
	}
}
