/**
 * Default template document layout (Figma 1399:3695).
 * Active when body.has-page-header-menu.
 */

.has-page-header-menu .site .entry > .entry-title {
	display: block;
}

.has-page-header-menu {
	--eduplat-scroll-offset: 80px;
}

.site-main--page-doc {
	padding-top: 48px;
	padding-bottom: 48px;
}

/* Beat `.site .entry { padding: 0 }` from style.css (same element). */
.has-page-header-menu .site .entry.eduplat-page-doc {
	box-sizing: border-box;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding: 0 48px;
	font-family: var(--ed-font-sans, "Figtree", system-ui, sans-serif);
	color: #1a1a1a;
}

.eduplat-page-doc *,
.eduplat-page-doc *::before,
.eduplat-page-doc *::after {
	box-sizing: border-box;
}

.eduplat-page-doc__grid {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	width: 100%;
	max-width: 1360px;
	margin-inline: auto;
}

.eduplat-page-doc__toc {
	flex: 0 0 310px;
	width: 310px;
	position: sticky;
	top: calc(var(--eduplat-scroll-offset, 80px) + 16px);
	align-self: flex-start;
	max-height: calc(100vh - var(--eduplat-scroll-offset, 80px) - 32px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.eduplat-page-toc {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
}

.eduplat-page-toc__item {
	margin: 0;
	padding: 0;
}

.eduplat-page-toc__link {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	padding: 5px 20px 5px 30px;
	border-right: 1px solid transparent;
	color: #666666;
	text-align: right;
	text-decoration: none;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	transition: color 0.2s ease, border-color 0.2s ease, font-weight 0.2s ease;
}

.eduplat-page-toc__item.is-active .eduplat-page-toc__link {
	padding-left: 20px;
	border-right-color: #1a1a1a;
	color: #1a1a1a;
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
}

a.eduplat-page-toc__link:hover,
a.eduplat-page-toc__link:focus-visible {
	color: #1a1a1a;
	outline: none;
}

.eduplat-page-doc__content {
	flex: 0 0 660px;
	width: 660px;
	max-width: 100%;
	min-width: 0;
}

.eduplat-page-doc__title {
	margin: 0 0 40px;
	font-size: 48px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.48px;
	color: #1a1a1a;
	scroll-margin-top: calc(var(--eduplat-scroll-offset, 80px) + 16px);
}

.eduplat-page-doc__body {
	width: 100%;
}

.eduplat-page-doc__body > * {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
}

.eduplat-page-doc__body > * + * {
	margin-top: 12px;
}

.eduplat-page-doc__body h2 {
	margin: 40px 0 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.16px;
	color: #1a1a1a;
	scroll-margin-top: calc(var(--eduplat-scroll-offset, 80px) + 16px);
}

.eduplat-page-doc__body h2:first-child {
	margin-top: 0;
}

.eduplat-page-doc__body h2 + * {
	margin-top: 24px;
}

.eduplat-page-doc__body h3 {
	margin: 20px 0 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: #1a1a1a;
	scroll-margin-top: calc(var(--eduplat-scroll-offset, 80px) + 16px);
}

.eduplat-page-doc__body p,
.eduplat-page-doc__body li {
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	color: #1a1a1a;
}

.eduplat-page-doc__body ul,
.eduplat-page-doc__body ol {
	margin: 0;
	padding-left: 1.25em;
}

.eduplat-page-doc__body li + li {
	margin-top: 8px;
}

.eduplat-page-doc__body table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.4;
}

.eduplat-page-doc__body th,
.eduplat-page-doc__body td {
	padding: 12px 16px;
	border: 1px solid #e2e8f0;
	text-align: left;
	vertical-align: top;
}

.eduplat-page-doc__body th {
	font-weight: 600;
	background: #f8fafc;
}

.eduplat-page-doc__aside {
	flex: 1 0 0;
	min-width: 0;
	min-height: 1px;
}

@media (max-width: 1200px) {
	.has-page-header-menu .site .entry.eduplat-page-doc {
		padding-inline: 32px;
	}

	.eduplat-page-doc__grid {
		gap: 32px;
	}

	.eduplat-page-doc__toc {
		flex-basis: 260px;
		width: 260px;
	}

	.eduplat-page-doc__content {
		flex: 1 1 auto;
		width: auto;
	}

	.eduplat-page-doc__aside {
		display: none;
	}
}

@media (max-width: 900px) {
	.site-main--page-doc {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.has-page-header-menu .site .entry.eduplat-page-doc {
		padding-inline: 16px;
	}

	.eduplat-page-doc__grid {
		flex-direction: column;
		gap: 24px;
	}

	.eduplat-page-doc__toc {
		position: static;
		flex: none;
		width: 100%;
		max-height: none;
		overflow: visible;
	}

	.eduplat-page-toc {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
	}

	.eduplat-page-toc::-webkit-scrollbar {
		display: none;
	}

	.eduplat-page-toc__item {
		flex: 0 0 auto;
	}

	.eduplat-page-toc__link {
		justify-content: flex-start;
		width: auto;
		padding: 8px 14px;
		border-right: 0;
		border-bottom: 2px solid transparent;
		text-align: left;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		white-space: nowrap;
	}

	.eduplat-page-toc__item.is-active .eduplat-page-toc__link {
		padding-left: 14px;
		border-right: 0;
		border-bottom-color: #1a1a1a;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
	}

	.eduplat-page-doc__content {
		width: 100%;
	}

	.eduplat-page-doc__title {
		margin-bottom: 24px;
		font-size: 32px;
		letter-spacing: -0.32px;
	}

	.eduplat-page-doc__body h2 {
		margin-top: 32px;
		font-size: 26px;
	}
}
