/*
 * Baseline branded styling for ordinary WordPress pages (e.g. the Privacy
 * Policy page) rendered through the active theme's default page template.
 * The theme itself ships with no CSS of its own, so without this, any
 * standard WP page renders as completely unstyled HTML. This does not
 * touch page content - only the surrounding theme chrome (header, nav,
 * content wrapper, footer) that the theme's own templates output.
 */

:root {
	--pcr-navy: #051435;
	--pcr-navy-800: #0f172a;
	--pcr-blue: #083f88;
	--pcr-gold: #ffc113;
	--pcr-gray-600: #475569;
	--pcr-gray-400: #94a3b8;
	--pcr-gray-200: #e2e8f0;
	--pcr-gray-50: #fafafa;
	--pcr-green: #10b981;
}

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	color: #0f172a;
	background: #fff;
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

#wrapper {
	margin: 0 auto;
}

#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 24px 120px;
	border-bottom: 1px solid #e2e8f0;
}

#branding a {
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 1.25rem;
	color: #051435;
	text-decoration: none;
}

#branding .custom-logo-link {
	display: block;
}

#branding .custom-logo {
	max-height: 48px;
	width: auto;
	display: block;
}

#site-description {
	display: none;
}

#menu {
	display: flex;
	align-items: center;
	gap: 24px;
}

#menu .menu ul {
	list-style: none;
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
}

#menu .menu a {
	color: #475569;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
}

#menu .menu a:hover,
#menu .menu .current_page_item a {
	color: #083f88;
}

#search {
	display: none;
}

#container {
	max-width: 900px;
	margin: 0 auto;
	padding: 64px 24px;
}

.entry-title {
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 2.5rem;
	line-height: 1.1;
	color: #0f172a;
	margin: 0 0 32px;
}

.entry-content {
	font-size: 1rem;
	line-height: 1.8;
	color: #475569;
}

.entry-content h2 {
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 1.5rem;
	color: #0f172a;
	margin: 40px 0 16px;
}

.entry-content h3 {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	color: #0f172a;
	margin: 24px 0 12px;
}

.entry-content p {
	margin: 0 0 16px;
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 16px;
	padding-left: 1.5rem;
}

.entry-content li {
	margin-bottom: 8px;
}

.entry-content a {
	color: #083f88;
}

/* Fallback footer, only used if the plugin is deactivated. */
#footer {
	background-color: #051435;
	color: #94a3b8;
	padding: 24px 120px;
	margin-top: 64px;
	font-size: 0.875rem;
}

/* Shared footer partial (templates/partials/footer.php), rendered by the
   theme's footer.php via pcr_render_footer() so every page - not just the
   registration landing page - shares one consistent footer. */
.pcr-footer {
	background-color: var(--pcr-navy);
	color: var(--pcr-gray-400);
}
.pcr-footer-text {
	color: var(--pcr-gray-400);
}
.pcr-footer-link {
	color: var(--pcr-gray-400);
	text-decoration: none;
}
.pcr-footer-link:hover {
	color: #fff;
}

/* 404 page (theme's 404.php). Scoped to body.error404 (added automatically
   by WordPress' body_class()) so the full-viewport centering below only
   affects this page, not ordinary content pages sharing #wrapper/#container. */
body.error404 #wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.error404 #container {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 24px;
	padding-bottom: 24px;
}

.pcr-404 {
	text-align: center;
}

.pcr-404-code {
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 6rem;
	line-height: 1;
	color: var(--pcr-blue);
	margin: 0 0 8px;
}

.pcr-404 .entry-title {
	margin-bottom: 16px;
}

.pcr-404 .entry-content {
	max-width: 480px;
	margin: 0 auto;
}

.pcr-404-actions {
	margin: 24px 0;
}

.pcr-404-cta {
	display: inline-block;
	background-color: var(--pcr-gold);
	color: var(--pcr-navy);
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 0.9375rem;
	text-decoration: none;
	border-radius: 12px;
	padding: 12px 28px;
}

.pcr-404-cta:hover,
.pcr-404-cta:focus {
	background-color: #e6ac0f;
	color: var(--pcr-navy);
}

@media (max-width: 782px) {
	#header,
	#footer {
		padding-left: 24px;
		padding-right: 24px;
	}
	#container {
		padding: 40px 24px;
	}
	.entry-title {
		font-size: 2rem;
	}
	.pcr-404-code {
		font-size: 4rem;
	}
}
