/**
 * Premium Policy Page — docs-style layout.
 */

.bjfr-pp-page.bjfr-pt-page {
	--pt-sidebar-left: 320px;
	/* Match header/footer: .bjfr-target-container → --bjfr-container */
	--pt-max: var(--bjfr-container);
	padding-top: 0;
	padding-bottom: 0;
	background: #ffffff;
}

/* Avoid empty-page min-height creating a large white void under the hero. */
.bjfr-main:has(.bjfr-pp-page) {
	min-height: 0;
}

/*
 * Force policy containers onto the shared site rail.
 * .bjfr-pt-shell otherwise overrides .bjfr-target-container max-width/padding.
 */
.bjfr-pp-page .bjfr-pp-docs-hero__inner.bjfr-target-container,
.bjfr-pp-page .bjfr-pp-shell.bjfr-target-container {
	width: min(100%, var(--bjfr-container));
	max-width: var(--bjfr-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 640px) {
	.bjfr-pp-page .bjfr-pp-docs-hero__inner.bjfr-target-container,
	.bjfr-pp-page .bjfr-pp-shell.bjfr-target-container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

.bjfr-pp-shell--body {
	padding-top: 0;
	padding-bottom: 3rem;
}

/* Inline SVG icons must not inherit width:100% from shared icon CSS. */
.bjfr-pp-page svg.bjfr-pt-icon {
	width: auto;
	height: auto;
	max-width: 1.25rem;
	max-height: 1.25rem;
}

/* ===== Docs hero — full-bleed, minimal academic header ===== */
.bjfr-pp-docs-hero {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 2.25rem 0 1.75rem;
	border: 0;
	border-radius: 0;
	background: linear-gradient(180deg, #fcfcfd 0%, #f7f8fa 55%, #f3f4f6 100%);
	border-bottom: 1px solid #e8eaed;
	box-shadow: none;
}

.bjfr-pp-docs-hero__crumbs {
	margin: 0 0 0.75rem;
}

.bjfr-pp-docs-hero__crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 0.75rem;
	line-height: 1.35;
	color: #9ca3af;
}

.bjfr-pp-docs-hero__crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.bjfr-pp-docs-hero__crumb-sep {
	color: #d1d5db;
}

.bjfr-pp-docs-hero__crumbs a {
	color: #9ca3af;
	text-decoration: none;
}

.bjfr-pp-docs-hero__crumbs a:hover {
	color: #6b7280;
	text-decoration: underline;
}

.bjfr-pp-docs-hero__crumbs [aria-current="page"] {
	color: #9ca3af;
	font-weight: 500;
}

.bjfr-pp-docs-hero__label {
	margin: 0 0 0.5rem;
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b7280;
	line-height: 1.3;
}

.bjfr-pp-docs-hero__title {
	margin: 0;
	max-width: 52rem;
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: #0f172a;
}

.bjfr-pp-docs-hero__meta {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	column-gap: 3rem;
	row-gap: 1rem;
	margin: 1.75rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.bjfr-pp-docs-hero__meta-col {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.bjfr-pp-docs-hero__meta-key {
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.2;
	color: #9ca3af;
}

.bjfr-pp-docs-hero__meta-val {
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	color: #374151;
}

.bjfr-pp-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
	padding-top: 1rem;
	overflow: visible;
}

.bjfr-pp-layout--two-col {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
	padding-top: 1rem;
	overflow: visible;
}

/* Mobile: TOC → Download → Need Help → Content */
.bjfr-pp-layout--two-col > .bjfr-pp-sidebar {
	order: 1;
}

.bjfr-pp-layout--two-col > .bjfr-pp-main {
	order: 2;
}

.bjfr-pp-sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	width: 100%;
	overflow: visible;
}

.bjfr-pp-sidebar:empty {
	display: none;
}

.bjfr-pp-toc-sticky {
	position: static;
	width: 100%;
	z-index: auto;
	overflow: visible;
}

@media (min-width: 1024px) {
	.bjfr-pp-sidebar {
		position: sticky;
		top: 120px;
		align-self: start;
		max-height: calc(100vh - 140px);
		overflow: auto;
	}
}

/* Reveal transforms create a containing block and break sticky — disable in sidebar. */
.bjfr-pp-sidebar [data-bjfr-pt-reveal],
.bjfr-pp-toc-sticky [data-bjfr-pt-reveal] {
	opacity: 1;
	transform: none;
}

.bjfr-pp-sidebar--toc,
.bjfr-pp-sidebar--toc .bjfr-pt-sidebar__panel,
.bjfr-pp-sidebar--toc .bjfr-pt-sidebar__section {
	position: static;
	top: auto;
	width: 100%;
	overflow: visible;
}

.bjfr-pp-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: visible;
}

@media (min-width: 1024px) {
	.bjfr-pp-page .bjfr-pp-layout,
	.bjfr-pp-page .bjfr-pp-layout--two-col,
	.bjfr-pp-page .bjfr-pt-layout.bjfr-pp-layout--two-col {
		grid-template-columns: 320px minmax(0, 1fr);
		column-gap: 2.5rem;
	}

	.bjfr-pp-page .bjfr-pp-layout--two-col.bjfr-pp-layout--no-sidebar,
	.bjfr-pp-page .bjfr-pt-layout.bjfr-pp-layout--two-col.bjfr-pp-layout--no-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.bjfr-pp-layout--two-col > .bjfr-pp-sidebar,
	.bjfr-pp-layout--two-col > .bjfr-pp-main {
		order: initial;
	}

	.bjfr-pp-main {
		padding-inline: clamp(0.5rem, 2vw, 2rem);
	}
}

/* Kill shared 3-column / right-rail rules from policy-template-premium.css */
.bjfr-pp-page .bjfr-pt-layout {
	grid-template-columns: minmax(0, 1fr);
	overflow: visible;
}

.bjfr-pp-page .bjfr-pt-shell,
.bjfr-pp-page .bjfr-pp-shell {
	overflow: visible;
}

@media (max-width: 1023px) {
	.bjfr-pp-page .bjfr-pt-sidebar--right {
		order: initial;
	}
}

/* Horizontal TOC */
.bjfr-pp-toc {
	margin-bottom: var(--pt-space-4, 2rem);
}

.bjfr-pp-toc__card {
	padding: 1.5rem;
	border-radius: var(--pt-radius, 22px);
	background: var(--pt-card, #fff);
	border: 1px solid var(--pt-border, #e2e8f0);
	box-shadow: var(--pt-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.bjfr-pp-toc__title {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--pt-dark, #0f172a);
}

.bjfr-pp-toc__grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.bjfr-pp-toc__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.bjfr-pp-toc__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.bjfr-pp-toc__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.875rem 1rem;
	border-radius: 14px;
	border: 1px solid var(--pt-border, #e2e8f0);
	background: var(--pt-bg, #f8fafc);
	color: var(--pt-text, #334155);
	text-decoration: none;
	font-weight: 600;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.bjfr-pp-toc__link:hover,
.bjfr-pp-toc__link.is-active {
	border-color: rgba(37, 99, 235, 0.25);
	background: var(--pt-accent-bg, #eff6ff);
	color: var(--pt-primary, #2563eb);
}

/* Sidebar nested nav */
.bjfr-pp-sidebar__links .bjfr-pp-sidebar__link--level-3 {
	padding-left: 1rem;
}

.bjfr-pp-sidebar__links .bjfr-pp-sidebar__link--level-4 {
	padding-left: 2rem;
}

.bjfr-pp-sidebar__links a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: 10px;
	color: var(--pt-muted, #64748b);
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.45;
	transition: background 0.2s ease, color 0.2s ease;
}

.bjfr-pp-sidebar__links a:hover,
.bjfr-pp-sidebar__links a.is-active,
.bjfr-pt-sidebar__links a.is-active {
	background: var(--pt-accent-bg, #eff6ff);
	color: var(--pt-primary, #2563eb);
}

.bjfr-pp-sidebar__card {
	z-index: auto;
	margin: 0;
	padding: 1.25rem;
	border-radius: var(--pt-radius, 22px);
	background: var(--pt-card, #fff);
	border: 1px solid var(--pt-border, #e2e8f0);
	box-shadow: var(--pt-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.bjfr-pp-sidebar__contact-email {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--pt-primary, #2563eb);
	text-decoration: none;
	font-weight: 600;
	word-break: break-word;
}

.bjfr-pp-sidebar__contact-note {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	color: var(--pt-muted, #64748b);
}

/* Editor content */
.bjfr-pp-content {
	width: 100%;
	max-width: 880px;
	margin-inline: auto;
	padding: 2rem;
	border-radius: var(--pt-radius-lg, 24px);
	background: var(--pt-card, #fff);
	border: 1px solid var(--pt-border, #e2e8f0);
	box-shadow: var(--pt-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.bjfr-pp-content > :first-child {
	margin-top: 0;
}

.bjfr-pp-content > :last-child {
	margin-bottom: 0;
}

.bjfr-pp-content h2,
.bjfr-pp-content h3,
.bjfr-pp-content h4 {
	color: var(--pt-dark, #0f172a);
	scroll-margin-top: 6rem;
}

.bjfr-pp-content h2 {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	font-size: 1.75rem;
}

.bjfr-pp-content h3 {
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	font-size: 1.375rem;
}

.bjfr-pp-content h4 {
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	font-size: 1.125rem;
}

.bjfr-pp-content p,
.bjfr-pp-content ul,
.bjfr-pp-content ol {
	margin-bottom: 1rem;
}

.bjfr-pp-content a {
	color: var(--pt-primary, #2563eb);
}

/*
 * Restore list markers inside policy Gutenberg/classic content.
 * Tailwind Preflight sets ul/ol { list-style: none; margin: 0; padding: 0; }.
 * Scope is limited to .bjfr-pp-content so header/footer/nav are untouched.
 */
.bjfr-pp-content ul,
.bjfr-pp-content .wp-block-list,
.bjfr-pp-content ul.wp-block-list {
	list-style-type: disc;
	list-style-position: outside;
	margin: 1rem 0 1rem 1.5rem;
	padding-left: 1rem;
}

.bjfr-pp-content ol,
.bjfr-pp-content ol.wp-block-list {
	list-style-type: decimal;
	list-style-position: outside;
	margin: 1rem 0 1rem 1.5rem;
	padding-left: 1rem;
}

.bjfr-pp-content li,
.bjfr-pp-content .wp-block-list li {
	display: list-item;
	list-style: inherit;
	margin: 0 0 0.35rem;
	padding: 0;
}

.bjfr-pp-content li > ul,
.bjfr-pp-content li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
}

.bjfr-pp-content ul ul {
	list-style-type: circle;
}

.bjfr-pp-content ul ul ul {
	list-style-type: square;
}

.bjfr-pp-content ol ol {
	list-style-type: lower-alpha;
}

.bjfr-pp-content ol ol ol {
	list-style-type: lower-roman;
}

.bjfr-pp-content ul ul,
.bjfr-pp-content ul ol,
.bjfr-pp-content ol ul,
.bjfr-pp-content ol ol {
	margin-left: 1.25rem;
}

/* Buttons */
.bjfr-pp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	border-radius: 12px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bjfr-pp-btn--block {
	width: 100%;
}

.bjfr-pp-btn--primary {
	background: var(--pt-primary, #2563eb);
	color: #fff;
}

.bjfr-pp-btn--primary:hover {
	background: #1d4ed8;
	color: #fff;
}

.bjfr-pp-btn--secondary {
	background: var(--pt-bg, #f8fafc);
	border-color: var(--pt-border, #e2e8f0);
	color: var(--pt-text, #334155);
}

.bjfr-pp-btn--secondary:hover {
	border-color: rgba(37, 99, 235, 0.25);
	color: var(--pt-primary, #2563eb);
}

.bjfr-pp-btn.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Submit CTA */
.bjfr-pp-submit-cta {
	width: 100%;
	max-width: 880px;
	margin-top: 2rem;
	margin-inline: auto;
}

.bjfr-pp-submit-cta__card {
	padding: 2rem;
	border-radius: var(--pt-radius-lg, 24px);
	background: linear-gradient(135deg, rgba(239, 246, 255, 0.95) 0%, #fff 100%);
	border: 1px solid var(--pt-accent-border, #dbeafe);
	box-shadow: var(--pt-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
	text-align: center;
}

.bjfr-pp-submit-cta__title {
	margin: 0 0 0.75rem;
	font-size: 1.75rem;
	color: var(--pt-dark, #0f172a);
}

.bjfr-pp-submit-cta__text {
	margin: 0 0 1.25rem;
	color: var(--pt-muted, #64748b);
}

@media (max-width: 1023px) {
	.bjfr-pp-sidebar__panel {
		display: none;
	}

	.bjfr-pp-sidebar__panel.is-open {
		display: block;
		margin-top: 0.75rem;
	}
}

.bjfr-pp-sidebar__toggle {
	display: none;
}

@media (max-width: 1023px) {
	.bjfr-pp-sidebar__toggle {
		display: flex;
	}
}
