/**
 * Shared premium policy components for dedicated page templates.
 *
 * Loaded only for:
 * - page-aims-and-scope.php
 * - page-indexing-and-abstracting.php
 * - page-author-guidelines.php
 * - page-publication-fee-apc.php
 * - page-peer-review-policy.php
 * - page-publication-ethics.php
 */

:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page) {
	--policy-radius: 22px;
	--policy-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 40px rgba(15, 23, 42, 0.06);
	--policy-gap: 1.5rem;
	--policy-sidebar-width: 320px;
	--policy-card-padding: 2rem;
	--policy-transition: 0.55s ease;
	--policy-focus-color: #2563eb;
	--policy-skip-bg: #ffffff;
	--policy-skip-fg: #0f172a;
	scroll-behavior: smooth;
}

/* Shared icon baseline */
.bjfr-as-icon,
.bjfr-ia-icon,
.bjfr-pf-icon,
.bjfr-prp-icon,
.bjfr-pe-icon {
	display: block;
	flex-shrink: 0;
}

/* Shared breadcrumb typography */
.bjfr-as-page > .bjfr-breadcrumbs ol,
.bjfr-ia-page > .bjfr-breadcrumbs ol,
.bjfr-pe-page > .bjfr-breadcrumbs ol,
.bjfr-prp-page > .bjfr-breadcrumbs ol {
	font-size: 0.8125rem;
}

/* Shared scroll-reveal (pages using 24px / 0.7s motion) */
[data-bjfr-ia-reveal],
[data-bjfr-pe-reveal],
[data-bjfr-prp-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	transition-delay: var(--bjfr-ia-reveal-delay, 0ms);
}

[data-bjfr-pe-reveal] {
	transition-delay: var(--bjfr-pe-reveal-delay, 0ms);
}

[data-bjfr-prp-reveal] {
	transition-delay: var(--bjfr-prp-reveal-delay, 0ms);
}

[data-bjfr-ia-reveal].is-visible,
[data-bjfr-pe-reveal].is-visible,
[data-bjfr-prp-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	[data-bjfr-ia-reveal],
	[data-bjfr-pe-reveal],
	[data-bjfr-prp-reveal] {
		opacity: 1;
		transform: none;
	}
}

/* Keyboard focus */
:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page) :focus-visible {
	outline: 2px solid var(--policy-focus-color);
	outline-offset: 2px;
}

/* Skip link — visible on keyboard focus only */
.bjfr-policy-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100;
	padding: 0.75rem 1rem;
	background: var(--policy-skip-bg);
	color: var(--policy-skip-fg);
	border-radius: var(--policy-radius);
	box-shadow: var(--policy-shadow);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.bjfr-policy-skip-link:focus {
	left: 1rem;
	top: 1rem;
	width: auto;
	height: auto;
	overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
	:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page),
	:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page) *,
	:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page) *::before,
	:where(.bjfr-as-page, .bjfr-ia-page, .bjfr-ag-page, .bjfr-pf-page, .bjfr-prp-page, .bjfr-pe-page) *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}
