/* ================================
   ТЕКСТОВІ СТОРІНКИ (правила, конфіденційність, умови донату)
   У стилі карток сайту (style.css: .pfp-main-card)
   ================================ */
.doc-updated {
	margin-top: 10px;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 700;
}

.doc-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	max-width: 1080px;
	margin: 10px auto 30px;
}

.doc-layout--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 820px;
}

.doc-card,
.doc-toc {
	background: rgba(14, 16, 22, 0.7);
	border: 1px solid rgba(167, 139, 250, 0.18);
	border-radius: 16px;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 4px 40px rgba(124, 58, 237, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.doc-toc {
	position: sticky;
	top: 24px;
	padding: 18px;
}

.doc-toc-label {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 10px;
}

.doc-toc nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.doc-toc a {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	padding: 6px 10px;
	border-radius: 8px;
	transition: background 0.2s, color 0.2s;
}

.doc-toc a:hover {
	color: #fff;
	background: rgba(167, 139, 250, 0.08);
}

/* Типографіка тексту з адмінки */
.doc-content {
	padding: 28px 32px;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
}

.doc-content> :first-child {
	margin-top: 0;
}

.doc-content h2 {
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	margin: 30px 0 10px;
	scroll-margin-top: 24px;
}

.doc-content h3 {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	margin: 20px 0 8px;
}

.doc-content p {
	margin: 0 0 12px;
}

.doc-content ul,
.doc-content ol {
	margin: 0 0 14px;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.doc-content li::marker {
	color: var(--accent);
}

.doc-content strong {
	color: #fff;
}

.doc-content a {
	color: #c4b5fd;
	text-decoration: underline;
	text-decoration-color: rgba(196, 181, 253, 0.4);
	text-underline-offset: 3px;
}

.doc-content a:hover {
	text-decoration-color: #c4b5fd;
}

.doc-content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

.doc-content blockquote {
	margin: 0 0 14px;
	padding: 10px 16px;
	border-left: 3px solid var(--accent);
	background: rgba(167, 139, 250, 0.06);
	border-radius: 0 10px 10px 0;
}

.doc-related {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 auto 50px;
}

.doc-related-link {
	padding: 10px 18px;
	border-radius: 100px;
	border: 1px solid rgba(167, 139, 250, 0.3);
	background: rgba(167, 139, 250, 0.08);
	color: #c4b5fd;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s;
}

.doc-related-link:hover {
	background: rgba(167, 139, 250, 0.16);
}

@media (max-width: 860px) {
	.doc-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.doc-toc {
		position: static;
	}

	.doc-content {
		padding: 22px 18px;
		font-size: 14.5px;
	}
}
