/*
Theme Name: Wellsprings of Continuum
Description: Theme for Wellsprings of Continuum
Version: 4.0
Author: The Breathable Body LLC
*/

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background-color: #0d0d0d;
	color: #d4c9b0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 17px;
	line-height: 1.8;
}

a { color: #8aabcc; text-decoration: none; }
a:hover { color: #e8dfc8; text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* ── Site header ── */
.site-header {
	background-color: #111111;
	border-bottom: 1px solid #2a2a2a;
	text-align: center;
	padding: 1.4rem 1rem 0;
}

.site-title {
	font-family: Georgia, serif;
	font-size: clamp(1.4rem, 3vw, 2.1rem);
	font-weight: normal;
	color: #e0d0b0;
	letter-spacing: 0.06em;
	margin: 0 0 1rem;
}

.site-title a { color: inherit; text-decoration: none; }

/* ── Nav ── */
.main-nav {
	background-color: #1a1a1a;
	border-top: 1px solid #262626;
}

.main-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-nav ul li {
	position: relative;
}

.main-nav ul li a {
	display: block;
	padding: 0.65rem 1rem;
	color: #b8b0a0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.15s, border-color 0.15s;
}

.main-nav ul li a:hover,
.main-nav ul li.current-menu-item > a,
.main-nav ul li.current_page_item > a,
.main-nav ul li.current-menu-ancestor > a {
	color: #e8dfc8;
	border-bottom-color: #8a7a5a;
	text-decoration: none;
}

/* Dropdowns */
.main-nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #1e1e1e;
	border: 1px solid #333;
	z-index: 200;
	flex-direction: column;
	min-width: 200px;
}

.main-nav ul li:hover > ul,
.main-nav ul li:focus-within > ul {
	display: flex;
}

.main-nav ul ul li a {
	border-bottom: 1px solid #2a2a2a;
	padding: 0.5rem 1rem;
	font-size: 0.78rem;
	white-space: nowrap;
}

/* ── Page content area ── */
.site-main {
	max-width: 860px;
	margin: 0 auto;
	padding: 2.5rem 2rem 4rem;
}

/* ── Entry title ── */
.entry-title {
	font-family: Georgia, serif;
	font-size: clamp(1.2rem, 2.8vw, 1.7rem);
	font-weight: normal;
	color: #c8a860;
	text-align: center;
	margin: 0 0 1.8rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #2e2e2e;
}

/* ── Content typography ── */
.entry-content p {
	color: #cfc4aa;
	margin-bottom: 1.4rem;
}

.entry-content h2 {
	font-family: Georgia, serif;
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #e0d4b8;
	margin: 2rem 0 0.8rem;
	border-bottom: 1px solid #2e2e2e;
	padding-bottom: 0.4rem;
}

.entry-content h3 {
	font-family: Georgia, serif;
	font-size: 1rem;
	color: #c8b898;
	margin: 1.5rem 0 0.4rem;
	font-style: italic;
	font-weight: normal;
}

.entry-content ul,
.entry-content ol {
	color: #cfc4aa;
	padding-left: 1.6rem;
	margin-bottom: 1.4rem;
}

.entry-content li { margin-bottom: 0.4rem; }

.entry-content strong { color: #e0d4b8; }
.entry-content em { color: #b0a898; }

.entry-content hr {
	border: none;
	border-top: 1px solid #2e2e2e;
	margin: 2rem 0;
}

/* Tables */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: 0.9rem;
}

.entry-content th {
	background-color: #2a2010;
	color: #d4b870;
	text-align: left;
	padding: 0.6rem 0.8rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content td {
	padding: 0.6rem 0.8rem;
	border-bottom: 1px solid #222;
	color: #cfc4aa;
	vertical-align: top;
}

/* WP block styles */
.wp-block-separator {
	border: none;
	border-top: 1px solid #2e2e2e;
	margin: 2rem 0;
}

.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table th { background: #2a2010; color: #d4b870; padding: 0.6rem 0.8rem; }
.wp-block-table td { padding: 0.6rem 0.8rem; border-bottom: 1px solid #222; color: #cfc4aa; }

/* ── Site footer ── */
.site-footer {
	text-align: center;
	padding: 1.4rem 1rem 1.8rem;
	font-size: 0.82rem;
	color: #5a5448;
	background-color: #0a0a0a;
	border-top: 1px solid #1e1e1e;
	font-family: Arial, Helvetica, sans-serif;
}

.site-footer a { color: #7a6e5a; }
.site-footer a:hover { color: #a09070; }

/* ── Responsive ── */
@media (max-width: 640px) {
	.main-nav ul { flex-direction: column; }
	.main-nav ul li a { border-bottom: 1px solid #262626; }
	.main-nav ul ul { position: static; border: none; background: #161616; }
	.main-nav ul li:hover > ul { display: flex; }
	.site-main { padding: 1.5rem 1rem 3rem; }
}
