/*
 * AVS Prohibited Content / Community Guidelines (Theme-agnostic)
 *
 * This stylesheet is intentionally scoped to `body.prohibited-content-page`
 * so it can run alongside any WordPress theme without leaking styles.
 */

/* Design tokens (dark mode) */
:root {
	--avs-pc-bg: #121212;
	--avs-pc-surface: #1E1E1E;
	--avs-pc-text: #E0E0E0;
	--avs-pc-text-muted: #B3B3B3;
	--avs-pc-accent: #ff8a00;
	--avs-pc-accent-hover: #ffb55a;
	--avs-pc-border: rgba(255, 255, 255, 0.1);

	--avs-pc-max-width: 1200px;
	--avs-pc-sidebar-width: 260px;
	--avs-pc-gap: 60px;
	--avs-pc-page-padding-x: 40px;
	--avs-pc-page-padding-y: 32px;
	--avs-pc-sidebar-top: 120px;
}

/* Base page styling */
body.prohibited-content-page {
	background: var(--avs-pc-bg) !important;
	color: var(--avs-pc-text) !important;
}

/* Neutralise common theme wrappers (theme-agnostic) */
body.prohibited-content-page :where(
	#page,
	.site,
	.site-content,
	#content,
	main,
	.content-area,
	.site-main,
	.wp-site-blocks,
	.entry,
	.entry-content,
	article
) {
	background: transparent !important;
}

/* Links */
body.prohibited-content-page :where(a) {
	color: var(--avs-pc-accent);
	text-decoration: none;
}

body.prohibited-content-page :where(a:hover, a:focus-visible) {
	color: var(--avs-pc-accent-hover);
	text-decoration: underline;
}

/* Main layout */
body.prohibited-content-page .avs-prohibited-content {
	display: flex;
	gap: var(--avs-pc-gap);
	max-width: var(--avs-pc-max-width);
	margin: 0 auto;
	padding: var(--avs-pc-page-padding-y) var(--avs-pc-page-padding-x);
	box-sizing: border-box;
}

body.prohibited-content-page .avs-pc-sidebar {
	width: var(--avs-pc-sidebar-width);
	flex-shrink: 0;
	position: sticky;
	top: var(--avs-pc-sidebar-top);
	align-self: flex-start;
}

body.prohibited-content-page .avs-pc-sidebar-title {
	font-size: 12px;
	font-weight: 700;
	color: var(--avs-pc-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid var(--avs-pc-border);
}

/* TOC */
body.prohibited-content-page .avs-pc-toc {
	margin: 0;
	padding: 0;
}

body.prohibited-content-page .avs-pc-toc :where(ul) {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.prohibited-content-page .avs-pc-toc :where(li) {
	margin: 0;
	padding: 0;
}

body.prohibited-content-page .avs-pc-toc a {
	display: block;
	padding: 10px 0;
	color: var(--avs-pc-text-muted);
	font-size: 14px;
	line-height: 1.5;
	border-left: 2px solid transparent;
	padding-left: 12px;
	margin-left: -12px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

body.prohibited-content-page .avs-pc-toc a:hover,
body.prohibited-content-page .avs-pc-toc a:focus-visible {
	color: var(--avs-pc-text);
	text-decoration: none;
}

body.prohibited-content-page .avs-pc-toc a.is-active {
	color: var(--avs-pc-accent);
	border-left-color: var(--avs-pc-accent);
	font-weight: 600;
}

/* Nested H3 list */
body.prohibited-content-page .avs-pc-toc .avs-pc-toc-sub {
	margin: 6px 0 10px 12px;
	padding-left: 12px;
	border-left: 1px solid var(--avs-pc-border);
}

body.prohibited-content-page .avs-pc-toc .avs-pc-toc-sub a {
	font-size: 13px;
	padding-left: 0;
	margin-left: 0;
}

body.prohibited-content-page .avs-pc-toc .avs-pc-toc-h3 a,
body.prohibited-content-page .avs-pc-toc a.avs-pc-toc-h3 {
	font-size: 13px;
	padding-left: 22px;
	margin-left: -22px;
}

/* Article */
body.prohibited-content-page .avs-pc-article {
	flex: 1 1 auto;
	min-width: 0; /* Prevent overflow on long content */
}

body.prohibited-content-page .avs-pc-title {
	margin: 0 0 24px 0;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--avs-pc-accent);
}

body.prohibited-content-page .avs-pc-content {
	background: transparent;
	color: var(--avs-pc-text);
	font-size: 16px;
	line-height: 1.75;
}

/* Typography */
body.prohibited-content-page .avs-pc-content :where(p) {
	margin: 0 0 18px 0;
	color: var(--avs-pc-text);
}

body.prohibited-content-page .avs-pc-content :where(h1, h2, h3, h4, h5, h6) {
	color: var(--avs-pc-text);
	margin: 32px 0 14px;
	line-height: 1.25;
}

body.prohibited-content-page .avs-pc-content :where(h2) {
	font-size: 22px;
	font-weight: 800;
	border-bottom: 1px solid var(--avs-pc-border);
	padding-bottom: 10px;
}

body.prohibited-content-page .avs-pc-content :where(h3) {
	font-size: 18px;
	font-weight: 700;
	color: var(--avs-pc-accent);
}

body.prohibited-content-page .avs-pc-content :where(h2, h3) {
	scroll-margin-top: 140px;
}

body.prohibited-content-page .avs-pc-content :where(ul, ol) {
	margin: 0 0 20px 22px;
	padding: 0;
}

body.prohibited-content-page .avs-pc-content :where(li) {
	margin: 0 0 10px 0;
	color: var(--avs-pc-text);
}

body.prohibited-content-page .avs-pc-content :where(strong, b) {
	color: var(--avs-pc-text);
	font-weight: 700;
}

body.prohibited-content-page .avs-pc-content :where(em, i) {
	color: var(--avs-pc-text-muted);
}

/* Backwards-compatible content classes (from auto-generated HTML) */
body.prohibited-content-page :where(.avs-pc-content, .avs-docs-content) .pc-last-updated {
	color: var(--avs-pc-text-muted);
	font-size: 14px;
	margin-top: -6px;
}

body.prohibited-content-page :where(.avs-pc-content, .avs-docs-content) .pc-intro {
	font-size: 16px;
	color: var(--avs-pc-text);
	max-width: 72ch;
}

body.prohibited-content-page :where(.avs-pc-content, .avs-docs-content) .pc-callout {
	background: var(--avs-pc-surface);
	border: 1px solid var(--avs-pc-border);
	border-left: 4px solid var(--avs-pc-accent);
	padding: 16px;
	margin: 20px 0;
	border-radius: 10px;
	color: var(--avs-pc-text);
}

/* Responsive */
@media (max-width: 980px) {
	:root {
		--avs-pc-gap: 28px;
		--avs-pc-page-padding-x: 20px;
		--avs-pc-page-padding-y: 24px;
	}

	body.prohibited-content-page .avs-prohibited-content {
		flex-direction: column;
	}

	body.prohibited-content-page .avs-pc-sidebar {
		width: 100%;
		position: static;
		top: auto;
	}

	body.prohibited-content-page .avs-pc-title {
		font-size: 28px;
	}
}

/* Print */
@media print {
	body.prohibited-content-page .avs-prohibited-content {
		display: none !important;
	}
}
