.nova-info-blocks-wrapper {
	display: flex;
	flex-direction: column;
	gap: max(.5rem, calc(.5 * var(--su)));
	--box-bg: var(--white-100);
	--box-line: var(--primary-10);
	--box-title: var(--primary-100);
	--box-title-open: var(--accent-100);
	--box-icon-line: var(--primary-20);
}

.nova-info-box {
	width: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	cursor: pointer;
	padding: max(1rem, calc(1 * var(--su))) max(1.5rem, calc(1.5 * var(--su)));
	background-color: var(--box-bg);
	outline: 1px solid var(--box-line);
	outline-offset: -1px;
}

.nova-info-box .box-title {
	width: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: max(1rem, calc(1 * var(--su)));
	font-size: var(--body-m-regular);
	font-weight: 400;
	color: var(--box-title);
	transition: color 300ms ease;
}

.nova-info-box.open .box-title {
	color: var(--box-title-open);
}

.nova-info-box .info-title {
	display: flex;
	align-items: center;
	gap: max(.5rem, calc(.5 * var(--su)));
}

.nova-info-box .info-title::before {
	content: '';
	display: block;
	height: 1em;
	aspect-ratio: 1;
	flex-shrink: 0;
	background-color: currentColor;
	mask: var(--icon-dot) center / contain no-repeat;
}

.nova-info-box .icon {
	position: relative;
	flex-shrink: 0;
	width: max(2rem, calc(2 * var(--su)));
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	outline: 1px solid var(--box-icon-line);
	outline-offset: -1px;
}

.nova-info-box .icon span {
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 30%;
	height: 1px;
	background-color: currentColor;
	transition: transform 300ms ease-in-out;
}

.nova-info-box .icon span:nth-child(2) {
	transform: rotate(90deg);
}

.nova-info-box.open .icon span:nth-child(2) {
	transform: rotate(0deg);
}

.nova-info-box .nova-info-inner {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 300ms ease-in-out, padding 300ms ease-in-out;
	padding-right: max(2rem, calc(2 * var(--su)));
}

.nova-info-box.open .nova-info-inner {
	grid-template-rows: 1fr;
	padding-top: max(.5rem, calc(.5 * var(--su)));
}

.nova-info-box .nova-info-content {
	overflow: hidden;
	font-size: var(--body-m-regular);
}

.nova-info-box .nova-info-content p:last-of-type {
	margin-bottom: 0;
}

.vacancy-info-box .nova-info-content {
	font-size: var(--body-s-regular);
}
