/*
Theme Name: Sacred Kings Focus
Theme URI: https://sacredkings.org/
Author: Sacred Kings
Description: A minimal Sacred Kings child theme for a focused application page.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Version: 0.3.19
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sacred-kings-focus
Tags: custom-colors, full-site-editing, accessibility-ready
*/

:root {
	--sk-surface-page: #f3eee2;
	--sk-surface-paper: #fbf9f3;
	--sk-surface-ink: #13171e;
	--sk-surface-soft: #eee5d6;
	--sk-surface-footer: #0e1218;
	--sk-surface-header: rgba(243, 238, 226, 0.96);
	--sk-text-primary: #2b2722;
	--sk-text-secondary: #6a6256;
	--sk-text-inverse: #f3eee2;
	--sk-text-inverse-soft: #d5c9b9;
	--sk-text-highlight: #ffffff;
	--sk-text-heading-gold: #8d6c23;
	--sk-border-default: #d9c9aa;
	--sk-border-subtle: #e8ddca;
	--sk-accent-gold: #ddb066;
	--sk-accent-gold-hover: #c98f35;
	--sk-accent-gold-soft: rgba(221, 176, 102, 0.18);
	--sk-accent-gold-glow: rgba(221, 176, 102, 0.12);
	--sk-accent-focus-glow: rgba(123, 61, 28, 0.22);
	--sk-accent-sienna: #a85a28;
	--sk-accent-sienna-hover: #9a4f20;
	--sk-focus-ring: #7b3d1c;
	--sk-space-1: 4px;
	--sk-space-2: 8px;
	--sk-space-3: 12px;
	--sk-space-4: 16px;
	--sk-space-5: 20px;
	--sk-space-6: 24px;
	--sk-space-8: 32px;
	--sk-space-10: 40px;
	--sk-space-12: 48px;
	--sk-space-16: 64px;
	--sk-space-20: 80px;
	--sk-space-24: 96px;
	--sk-radius-card: 16px;
	--sk-radius-control: 12px;
	--sk-edge-ceremonial: 6px;
	--sk-width-content: 1180px;
	--sk-width-reading: 720px;
	--sk-shadow-subtle: 0 1px 0 rgba(43, 39, 34, 0.08);
	--sk-shadow-default: 0 16px 36px rgba(38, 28, 16, 0.12);
	--sk-shadow-prominent: 0 28px 70px rgba(6, 9, 14, 0.35);
	--sk-shadow-heading-highlight: 3px -3px 0 var(--sk-text-highlight);
	--sk-shadow-heading-contrast: 2px 2px 5px rgba(14, 18, 24, 0.33);
	--sk-font-sans: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--sk-font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

body {
	background: var(--sk-surface-page);
	color: var(--sk-text-primary);
	font-family: var(--sk-font-sans);
	font-optical-sizing: auto;
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
	overflow-x: hidden;
}

body.admin-bar header.wp-block-template-part:has(.sk-header) {
	top: 46px;
}

.sk-page *,
.sk-page *::before,
.sk-page *::after,
.sk-header *,
.sk-header *::before,
.sk-header *::after,
.sk-footer *,
.sk-footer *::before,
.sk-footer *::after {
	box-sizing: border-box;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.sk-page {
	background: var(--sk-surface-page);
	margin: 0;
	min-height: 100dvh;
}

.sk-page h1:not(.screen-reader-text),
.sk-latest__title {
	color: var(--sk-text-primary);
	font-family: var(--sk-font-serif);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.02;
	text-shadow: var(--sk-shadow-heading-highlight);
	text-wrap: balance;
}

.sk-page h3 {
	color: var(--sk-text-heading-gold);
	font-family: var(--sk-font-serif);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: var(--sk-shadow-heading-contrast);
	text-wrap: balance;
}

.sk-paper-box,
.sk-mission-card,
.sk-post,
.sk-form-page__surface,
.sk-thank-you-page__surface {
	background: var(--sk-surface-paper);
	border: 1px solid var(--sk-border-subtle);
	border-inline: var(--sk-edge-ceremonial) solid var(--sk-accent-gold);
	border-radius: var(--sk-radius-card);
}

.sk-shell {
	margin-inline: auto;
	max-width: var(--sk-width-content);
	padding-inline: var(--sk-space-4);
	width: 100%;
}

.sk-header {
	background: var(--sk-surface-header);
	border-bottom: 1px solid var(--sk-border-subtle);
	position: relative;
}

header.wp-block-template-part:has(.sk-header) {
	position: sticky;
	top: 0;
	z-index: 20;
}

.sk-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--sk-width-content);
	min-height: 64px;
	padding: var(--sk-space-2) var(--sk-space-4);
}

.sk-brand {
	color: var(--sk-text-primary);
	font-family: var(--sk-font-serif);
	font-size: 1.125rem;
	font-weight: 700;
	text-decoration: none;
}

.sk-nav {
	display: flex;
	gap: var(--sk-space-1);
}

.sk-nav__link {
	border-radius: var(--sk-radius-control);
	color: var(--sk-text-secondary);
	font-size: 0.9375rem;
	font-weight: 800;
	min-height: 44px;
	padding: var(--sk-space-2) var(--sk-space-4);
	text-decoration: none;
	transition: background-color 140ms ease-out, color 140ms ease-out, transform 140ms ease-out;
}

.sk-nav__link:hover,
.sk-nav__link:active {
	background: var(--sk-accent-gold-soft);
	color: var(--sk-accent-sienna-hover);
	transform: translateY(-1px);
}

.sk-nav__link:focus-visible,
.sk-post a:focus-visible,
.sk-path-link:focus-visible,
.sk-form-page a:focus-visible,
.sk-thank-you-page a:focus-visible,
.fluentform .ff-btn-submit:focus-visible {
	outline: 3px solid var(--sk-focus-ring);
	outline-offset: 3px;
}

.sk-hero {
	background: radial-gradient(circle at 50% 35%, var(--sk-accent-gold-glow), transparent 36%), var(--sk-surface-ink);
	color: var(--sk-text-inverse);
	overflow: hidden;
}

.sk-hero__inner {
	display: grid;
	min-height: calc(270px + min(39vw, 180px));
	padding-block: var(--sk-space-6) calc(var(--sk-space-16) - var(--sk-space-1));
	place-items: center;
}

.sk-hero__crest {
	display: block;
	filter: drop-shadow(var(--sk-shadow-prominent));
	height: auto;
	max-width: 360px;
	width: min(78vw, 360px);
}

.sk-logo {
	overflow: visible;
}

.sk-logo__sheen {
	mix-blend-mode: screen;
	pointer-events: none;
}

.sk-logo__sheen-track {
	animation: sk-logo-sheen 10s ease-in-out infinite;
	transform-box: view-box;
	transform-origin: center;
}

@keyframes sk-logo-sheen {
	0% { opacity: 0; transform: translateX(-180px); }
	8% { opacity: 1; }
	68% { opacity: 1; }
	72% { opacity: 0; transform: translateX(390px); }
	100% { opacity: 0; transform: translateX(390px); }
}

.sk-mission {
	padding-bottom: var(--sk-space-16);
	position: relative;
	z-index: 2;
}

.sk-mission-card {
	box-shadow: var(--sk-shadow-default);
	margin-top: calc(var(--sk-space-10) * -1);
	padding: var(--sk-space-6);
}

.sk-mission-statement {
	padding-block: var(--sk-space-5);
}

.sk-mission-statement:first-child {
	padding-top: 0;
}

.sk-mission-statement:last-child {
	padding-bottom: 0;
}

.sk-mission-statement + .sk-mission-statement {
	border-top: 1px solid var(--sk-border-subtle);
}

.sk-mission-statement h3 {
	margin: 0;
}

.sk-eyebrow {
	color: var(--sk-accent-sienna);
	font-size: 0.8125rem;
	font-weight: 800;
	line-height: 1.4;
	margin: 0;
	text-transform: uppercase;
}

.sk-mission-statement p {
	font-family: var(--sk-font-serif);
	font-size: 1.125rem;
	line-height: 1.65;
	margin: var(--sk-space-3) 0 0;
	max-width: 75ch;
}

.sk-focus-content {
	margin-inline: auto;
	max-width: var(--sk-width-content);
	padding: var(--sk-space-16) var(--sk-space-4);
}

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

.sk-focus-content h2 {
	font-family: var(--sk-font-serif);
	line-height: 1.08;
	text-wrap: balance;
}

.sk-focus-content h2,
.sk-latest__title {
	font-size: 2.25rem;
}

.sk-focus-content a,
.sk-post a {
	color: var(--sk-accent-sienna);
}

.sk-focus-content > .wp-block-post-content,
.sk-focus-content .sk-paths {
	max-width: none;
	width: 100%;
}

.sk-paths > h2 {
	margin: 0;
}

.sk-paths__list {
	display: grid;
	gap: var(--sk-space-3);
	margin-top: var(--sk-space-8);
}

.sk-path-link {
	align-items: center;
	background: var(--sk-surface-paper);
	border: 1px solid var(--sk-border-subtle);
	border-inline: var(--sk-edge-ceremonial) solid var(--sk-accent-gold);
	border-radius: var(--sk-radius-control);
	box-shadow: var(--sk-shadow-subtle);
	color: var(--sk-text-primary);
	display: grid;
	font-size: 1rem;
	font-weight: 800;
	gap: var(--sk-space-4);
	grid-template-columns: auto minmax(0, 1fr);
	line-height: 1.35;
	min-height: 72px;
	padding: var(--sk-space-4) var(--sk-space-5);
	text-decoration: none;
	transition: border-color 140ms ease-out, box-shadow 140ms ease-out, color 140ms ease-out, transform 140ms ease-out;
	width: 100%;
}

.sk-focus-content .sk-path-link,
.sk-focus-content .sk-path-link:visited {
	color: var(--sk-text-primary);
}

.sk-path-link:hover {
	border-color: var(--sk-accent-gold);
	box-shadow: var(--sk-shadow-default);
	color: var(--sk-accent-sienna-hover);
	transform: translateY(-1px);
}

.sk-path-link:active {
	box-shadow: var(--sk-shadow-subtle);
	transform: translateY(1px);
}

.sk-path-link__number {
	color: var(--sk-accent-sienna);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}

.sk-form-page {
	min-height: calc(100dvh - 192px);
	padding-block: var(--sk-space-16);
}

.sk-form-page__title {
	margin: 0;
	max-width: var(--sk-width-reading);
}

.sk-form-page__surface {
	box-shadow: var(--sk-shadow-default);
	margin-top: var(--sk-space-8);
	padding: var(--sk-space-6);
}

.sk-form-page__surface .wp-block-post-content {
	max-width: none;
	width: 100%;
}

.sk-form-page__surface .fluentform {
	max-width: var(--sk-width-reading);
	width: 100%;
}

.sk-thank-you-page {
	min-height: calc(100dvh - 192px);
	padding-block: var(--sk-space-16);
}

.sk-thank-you-page__title {
	margin: 0;
	max-width: none;
	width: 100%;
}

.sk-thank-you-page__surface {
	box-shadow: var(--sk-shadow-default);
	margin-top: var(--sk-space-8);
	padding: var(--sk-space-6);
}

.sk-thank-you-page__content,
.sk-thank-you-page__content > * {
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100%;
}

.fluentform .ff-el-group {
	margin-bottom: var(--sk-space-5);
}

.fluentform .ff-el-input--label label {
	color: var(--sk-text-primary);
	font-weight: 800;
}

.fluentform input,
.fluentform select,
.fluentform textarea {
	background: var(--sk-surface-paper);
	border: 1px solid var(--sk-border-default);
	border-radius: var(--sk-radius-control);
	color: var(--sk-text-primary);
	font: inherit;
	min-height: 44px;
}

.fluentform input:focus,
.fluentform select:focus,
.fluentform textarea:focus {
	border-color: var(--sk-accent-sienna);
	box-shadow: 0 0 0 3px var(--sk-accent-focus-glow);
	outline: 0;
}

.fluentform .ff-el-form-check label.ff-el-form-check-label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: var(--sk-space-3);
	min-height: 44px;
	padding-block: var(--sk-space-2);
}

.fluentform .ff-el-form-check-input[type="checkbox"],
.fluentform .ff-el-form-check-input[type="radio"] {
	accent-color: var(--sk-accent-sienna);
	border: 2px solid var(--sk-text-secondary);
	flex: 0 0 20px;
	height: 20px;
	margin: 2px 0 0;
	min-height: 20px;
	width: 20px;
}

.fluentform .ff-el-form-check label.ff_tc_label .ff_tc_checkbox {
	display: block;
	flex: 0 0 20px;
	padding: 0 !important;
	width: 20px;
}

.fluentform .ff-el-form-check label.ff_tc_label {
	align-items: baseline;
}

.fluentform .ff_tc_label .ff-el-form-check-input[type="checkbox"] {
	margin-top: 0;
	top: 0;
}

.fluentform .ff_t_c {
	display: block;
	height: auto;
	width: auto;
}

.fluentform .ff_tc_label:has(.ff-el-form-check-input[aria-required="true"]) .ff_t_c::after {
	color: var(--sk-accent-sienna-hover);
	content: " *";
	font-weight: 800;
}

.fluentform .ff-el-section-break {
	border-bottom: 1px solid var(--sk-border-subtle);
	font-family: var(--sk-font-serif);
	padding-bottom: var(--sk-space-2);
}

.fluentform .ff-el-section-break h3 {
	font-weight: 700;
}

.fluentform .ff-btn-submit {
	background: var(--sk-accent-gold) !important;
	border: 0;
	border-radius: var(--sk-radius-control);
	color: var(--sk-text-primary) !important;
	font-weight: 800;
	min-height: 48px;
	padding: var(--sk-space-3) var(--sk-space-6);
	transition: background-color 140ms ease-out, transform 140ms ease-out;
}

.fluentform .ff-btn-submit:hover {
	background: var(--sk-accent-gold-hover) !important;
	transform: translateY(-1px);
}

.sk-latest {
	background: var(--sk-surface-soft);
	padding-block: var(--sk-space-16);
}

.sk-latest__title {
	margin: 0 0 var(--sk-space-8);
	padding-inline: calc(var(--sk-space-6) + var(--sk-edge-ceremonial));
}

.sk-post-list .wp-block-post-template {
	display: grid;
	gap: var(--sk-space-8);
	list-style: none;
	margin: 0;
	padding: 0;
}

.sk-post {
	box-shadow: var(--sk-shadow-subtle);
	max-width: none;
	padding: var(--sk-space-6);
	width: 100%;
}

.sk-post h3 {
	margin: 0;
}

.sk-post h3 a {
	color: inherit;
	text-shadow: inherit;
	text-decoration-color: var(--sk-accent-gold);
	text-underline-offset: 4px;
}

.sk-post__date {
	color: var(--sk-text-secondary);
	font-family: var(--sk-font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	margin-top: var(--sk-space-2);
}

.sk-post > .wp-block-post-title,
.sk-post > .sk-post__date,
.sk-post .wp-block-post-content {
	margin-inline: 0 !important;
	margin-top: var(--sk-space-6);
	max-width: none !important;
	width: 100%;
}

.sk-post > .wp-block-post-title {
	margin-top: 0;
}

.sk-post > .sk-post__date {
	margin-top: var(--sk-space-2);
}

.sk-post .wp-block-post-content > * {
	margin-inline: 0 !important;
	max-width: none !important;
}

.sk-post .wp-block-image img {
	display: block;
	height: auto;
	width: 100%;
}

.sk-moosend-signup {
	background: var(--sk-surface-soft);
	padding-block: var(--sk-space-16);
}

.sk-moosend-signup,
.sk-moosend-signup *,
.sk-moosend-signup *::before,
.sk-moosend-signup *::after {
	box-sizing: border-box;
}

.sk-moosend-signup [data-mooform-id],
.sk-moosend-signup iframe {
	max-width: 100%;
	width: 100%;
}

.sk-moosend-signup #msf_64778134-ebf7-4d2a-afa2-1a9046b25995 .inner-row-div,
.sk-moosend-signup #msf_64778134-ebf7-4d2a-afa2-1a9046b25995 .landing-page-slot {
	max-width: none !important;
	width: 100% !important;
}

.sk-moosend-signup #msf_64778134-ebf7-4d2a-afa2-1a9046b25995 .border-wrapper {
	background: var(--sk-surface-paper) !important;
	border: 1px solid var(--sk-border-subtle) !important;
	border-inline: var(--sk-edge-ceremonial) solid var(--sk-accent-gold) !important;
	border-radius: var(--sk-radius-card) !important;
	box-shadow: var(--sk-shadow-default);
	overflow: hidden;
}

.sk-moosend-signup #msf_64778134-ebf7-4d2a-afa2-1a9046b25995 form.moosend-subscription-form {
	margin-inline: auto !important;
	max-width: 50% !important;
	width: 50% !important;
}

.sk-footer {
	background: var(--sk-surface-footer);
	color: var(--sk-text-inverse-soft);
	font-family: var(--sk-font-sans);
	padding: var(--sk-space-10) var(--sk-space-4);
	text-align: center;
}

.sk-footer p {
	margin: 0;
}

@media (min-width: 700px) {
	body.admin-bar header.wp-block-template-part:has(.sk-header) {
		top: 32px;
	}

	.sk-header__inner,
	.sk-shell {
		padding-inline: var(--sk-space-6);
	}

	.sk-hero__inner {
		min-height: 510px;
		padding-block: var(--sk-space-8) calc(var(--sk-space-16) + var(--sk-space-1));
	}

	.sk-mission-card {
		padding: var(--sk-space-8);
	}

	.sk-mission-statement p {
		font-size: 1.35rem;
	}

	.sk-page h3 {
		font-size: 1.75rem;
	}

	.sk-focus-content {
		padding-block: var(--sk-space-20);
	}

	.sk-latest {
		padding-block: var(--sk-space-16) var(--sk-space-20);
	}

	.sk-focus-content h2 {
		font-size: 2.5rem;
	}

	.sk-page h1:not(.screen-reader-text),
	.sk-latest__title {
		font-size: 3rem;
	}

	.sk-path-link {
		font-size: 1.125rem;
	}

	.sk-form-page__surface {
		padding: var(--sk-space-8);
	}

	.sk-thank-you-page__surface {
		padding: var(--sk-space-8);
	}

	.sk-form-page__title {
		font-size: 3rem;
	}

	.sk-post {
		padding: var(--sk-space-8);
	}

	.sk-latest__title {
		padding-inline: calc(var(--sk-space-8) + var(--sk-edge-ceremonial));
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.sk-logo__sheen {
		display: none;
	}
}
