:root {
	--kft-forest: #2D4A1E;
	--kft-forest-mid: #4A6741;
	--kft-forest-light: #5A7A50;
	--kft-moss: #6B8A5E;
	--kft-gold: #ffcb4e;
	--kft-gold-light: #F0B830;
	--kft-cream: #FDF6E8;
	--kft-cream-dim: #E8DEC8;
	--kft-danger: #B84A0A;
	--kft-rust: #B84A0A;
	--kft-amber: #ffcb4e;
}

.bg-gold {
	background-color: #ffcb4e !important;
}

.bg-gold-light {
	background-color: #F0B830 !important;
}

.bg-gold\/10 {
	background-color: rgba(255, 203, 78, 0.1) !important;
}

.bg-gold\/15 {
	background-color: rgba(255, 203, 78, 0.15) !important;
}

.bg-gold\/20 {
	background-color: rgba(255, 203, 78, 0.2) !important;
}

.bg-forest {
	background-color: #FFFFFF !important;
}

.bg-forest-mid {
	background-color: #FFFFFF !important;
	box-shadow: none !important;
}

.bg-forest-light {
	background-color: #FFFFFF !important;
}

.bg-moss {
	background-color: #FFFFFF !important;
}

.bg-moss-light {
	background-color: #FFFFFF !important;
}

.bg-danger {
	background-color: #B84A0A !important;
}

.text-forest {
	color: #111111 !important;
}

.text-cream {
	color: #111111 !important;
}

.text-cream-dim {
	color: #3F3F46 !important;
}

.text-gold {
	color: #8A5A00 !important;
}

.text-gold\/25 {
	color: rgba(138, 90, 0, 0.25) !important;
}

.text-gold\/30 {
	color: rgba(138, 90, 0, 0.3) !important;
}

.text-gold\/40 {
	color: rgba(138, 90, 0, 0.4) !important;
}

.text-gold\/60 {
	color: rgba(138, 90, 0, 0.6) !important;
}

.text-gold\/70 {
	color: rgba(138, 90, 0, 0.7) !important;
}

.text-moss-light {
	color: #6B8A5E !important;
}

.border-gold\/10 {
	border-color: rgba(212, 183, 118, 0.42) !important;
}

.border-gold\/15 {
	border-color: rgba(212, 183, 118, 0.5) !important;
}

.border-gold\/20 {
	border-color: rgba(212, 183, 118, 0.58) !important;
}

.border-gold\/30 {
	border-color: rgba(212, 183, 118, 0.72) !important;
}

.border-white\/5 {
	border-color: rgba(45, 74, 30, 0.12) !important;
}

.border-white\/15 {
	border-color: rgba(45, 74, 30, 0.2) !important;
}

.border-moss\/20 {
	border-color: rgba(107, 138, 94, 0.3) !important;
}

.border-danger\/20 {
	border-color: rgba(184, 74, 10, 0.24) !important;
}

.border-danger\/30 {
	border-color: rgba(184, 74, 10, 0.3) !important;
}

.hover\:bg-gold-light:hover {
	background-color: #F0B830 !important;
}

.hover\:bg-forest-light:hover {
	background-color: #FFFFFF !important;
}

.hover\:text-gold:hover {
	color: #ffcb4e !important;
}

.hover\:text-gold-light:hover {
	color: #A66B00 !important;
}

body {
	background: #FFFFFF;
	color: #2D4A1E;
	font-family: "DM Sans", sans-serif;
}

#page {
	background: #FFFFFF;
}

.kft-container {
	width: 100%;
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

@media screen and (min-width: 768px) {
	.kft-container {
		padding-left: 4rem;
		padding-right: 4rem;
	}
}

.kft-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 9999px;
	background: #ffcb4e;
	color: #2D4A1E;
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	transition: opacity 0.2s ease;
}

.kft-btn-primary:hover {
	opacity: 0.9;
}

.kft-btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 9999px;
	background: #4f8a57;
	color: #FFFFFF;
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	transition: opacity 0.2s ease;
}

.kft-btn-secondary:hover {
	opacity: 0.9;
}

.font-display {
	font-family: "Playfair Display", serif;
}

.lucide-icon {
	display: inline-block;
	vertical-align: middle;
}

html {
	scroll-behavior: smooth;
}

.trail-card-img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.kft-prose {
	color: #111111;
	line-height: 1.75;
}

.kft-prose h2,
.kft-prose h3 {
	font-family: "Playfair Display", serif;
	color: #111111;
}

.kft-prose a {
	color: #6B8A5E;
	text-decoration: underline;
}

.kft-prose a:hover {
	color: #ffcb4e;
}

.kft-prose ul,
.kft-prose ol {
	padding-left: 1.5rem;
	margin: 1rem 0;
}

.kft-prose li {
	margin-bottom: 0.5rem;
}

.kft-prose blockquote {
	border-left: 3px solid #ffcb4e;
	padding-left: 1rem;
	color: #52525B;
	font-style: italic;
	margin: 1.5rem 0;
}

.kft-reading-content {
	max-width: 48rem;
	color: #111111;
	line-height: 1.9;
}

.kft-reading-content p {
	margin: 0 0 1.25rem;
	color: #111111;
}

.kft-reading-content h2,
.kft-reading-content h3,
.kft-reading-content h4 {
	margin: 2rem 0 1rem;
	font-family: "Playfair Display", serif;
	color: #111111;
}

.kft-reading-content ul,
.kft-reading-content ol {
	margin: 1rem 0 1.25rem;
	padding-left: 1.5rem;
}

.kft-reading-content li {
	margin-bottom: 0.5rem;
	color: #111111;
}

.kft-reading-content a {
	color: #8A5A00;
	text-decoration: underline;
}

.kft-reading-content a:hover {
	color: #A66B00;
}

.kft-legal-shell {
	color: #111111;
}

.kft-legal-breadcrumbs {
	font-size: 0.95rem;
	line-height: 1.5;
	color: #52525B;
}

.kft-legal-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.kft-legal-breadcrumbs a:hover {
	color: #111111;
}

.kft-legal-title {
	margin: 0 0 2rem;
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	line-height: 1.05;
	color: #111111;
}

.kft-legal-content {
	max-width: 100%;
	font-size: 1.125rem;
	line-height: 1.85;
	color: #1f2937;
}

.kft-legal-content > *:first-child {
	margin-top: 0;
}

.kft-legal-content p {
	margin: 0 0 1.1rem;
	font-size: 1.125rem;
	line-height: 1.8;
	color: #1f2937;
}

.kft-legal-content h2 {
	margin: 2.5rem 0 1rem;
	font-family: "Playfair Display", serif;
	font-size: clamp(1.7rem, 2.8vw, 2.2rem);
	line-height: 1.2;
	color: #111111;
}

.kft-legal-content h3 {
	margin: 2rem 0 0.85rem;
	font-family: "Playfair Display", serif;
	font-size: clamp(1.35rem, 2.2vw, 1.65rem);
	line-height: 1.3;
	color: #111111;
}

.kft-legal-content ul,
.kft-legal-content ol {
	margin: 1rem 0 1.5rem;
	padding-left: 1.5rem;
}

.kft-legal-content li {
	margin-bottom: 0.6rem;
	font-size: 1.125rem;
	line-height: 1.8;
	color: #1f2937;
}

.kft-legal-content strong {
	font-weight: 700;
	color: #111111;
}

.kft-legal-content em {
	font-style: italic;
}

.kft-auth-hero {
	display: none;
}

@media screen and (min-width: 1024px) {
	.kft-auth-hero {
		display: flex;
	}
}

details summary {
	list-style: none;
}

details summary::-webkit-details-marker {
	display: none;
}

.rotate {
	transition: transform 0.2s ease;
}

.skip-link {
	position: absolute;
	top: -40px;
	left: 6px;
	z-index: 9999;
	background: #ffcb4e;
	color: #2D4A1E;
	padding: 8px 16px;
	border-radius: 0 0 8px 8px;
	transition: top 0.2s;
}

.skip-link:focus {
	top: 0;
}

.kft-status-panel button[data-status="open"] {
	background: rgba(106, 138, 94, 0.2);
	color: #6B8A5E;
}

.kft-status-panel button[data-status="restricted"] {
	background: rgba(255, 203, 78, 0.2);
	color: #ffcb4e;
}

.kft-status-panel button[data-status="closed"] {
	background: rgba(184, 74, 10, 0.2);
	color: #B84A0A;
}

.admin-bar #site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar #site-header {
		top: 46px;
	}
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
textarea {
	appearance: none;
	-webkit-appearance: none;
}

@media print {
	#site-header,
	footer,
	.kft-status-panel {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}
}
