/*
Theme Name: Biblical Fall Feasts Revealed
Theme URI: https://worthyministries.com
Template: generatepress
Author: George Whitten
Author URI: https://worthyministries.com
Description: Custom GeneratePress child theme for the book "Biblical Fall Feasts Revealed" by George Whitten. Palette and design drawn from the book cover artwork (sunset gold, sukkah at dusk, harvest fruits).
Version: 1.0.0
Text Domain: bff-child
*/

/* ==========================================================================
   1. Brand palette (pulled from the book cover)
   ========================================================================== */
:root {
	--bff-black: #1c150d;      /* deep shadow / dusk silhouette */
	--bff-brown: #4a2f16;      /* sukkah wood / warm midtone */
	--bff-gold: #d99a3d;       /* title gold */
	--bff-gold-light: #f3c877; /* highlight gold */
	--bff-amber: #e2792b;      /* sunset amber */
	--bff-cream: #faf1de;      /* light text / parchment */
	--bff-green: #5c6b3f;      /* harvest wreath olive */
}

/* ==========================================================================
   2. Global type & body
   ========================================================================== */
body {
	background-color: var(--bff-cream);
	color: var(--bff-black);
	font-family: 'Georgia', 'Times New Roman', serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Georgia', 'Palatino Linotype', serif;
	color: var(--bff-black);
	letter-spacing: 0.02em;
}

a {
	color: var(--bff-amber);
}

a:hover,
a:focus {
	color: var(--bff-gold);
}

/* ==========================================================================
   3. Site header / nav
   ========================================================================== */
.main-navigation,
#site-navigation,
.site-header {
	background-color: var(--bff-black);
}

.main-navigation .main-nav ul li a,
.site-title a,
.site-description {
	color: var(--bff-cream) !important;
}

.main-navigation .main-nav ul li a:hover {
	color: var(--bff-gold) !important;
}

.site-title a {
	font-family: 'Georgia', serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* ==========================================================================
   4. Hero section (custom, injected via functions.php)
   ========================================================================== */
.bff-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 620px;
	background: radial-gradient(circle at center, var(--bff-amber) 0%, var(--bff-brown) 45%, var(--bff-black) 100%);
	color: var(--bff-cream);
	overflow: hidden;
	padding: 60px 20px;
	text-align: center;
}

.bff-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}

.bff-hero__cover {
	max-width: 260px;
	width: 100%;
	height: auto;
	box-shadow: 0 20px 50px rgba(0,0,0,0.55);
	border-radius: 4px;
}

.bff-hero__title {
	font-size: clamp(2rem, 5vw, 3.4rem);
	line-height: 1.15;
	margin: 0;
	color: var(--bff-gold-light);
	text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}

.bff-hero__title .bff-hero__script {
	display: block;
	font-family: 'Brush Script MT', 'Segoe Script', cursive;
	font-size: 1.3em;
	color: var(--bff-cream);
	margin-top: 6px;
}

.bff-hero__subtitle {
	font-size: 1.15rem;
	color: var(--bff-cream);
	max-width: 620px;
	margin: 0 auto;
	font-style: italic;
	opacity: 0.92;
}

.bff-hero__author {
	font-size: 1rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bff-gold);
	margin-top: 4px;
}

.bff-hero__cta {
	display: inline-flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 12px;
}

.bff-btn {
	display: inline-block;
	padding: 14px 34px;
	border-radius: 3px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.9rem;
	text-decoration: none;
	transition: all 0.2s ease;
	border: 2px solid transparent;
}

.bff-btn--primary {
	background-color: var(--bff-gold);
	color: var(--bff-black);
}

.bff-btn--primary:hover {
	background-color: var(--bff-gold-light);
	color: var(--bff-black);
}

.bff-btn--secondary {
	background-color: transparent;
	border-color: var(--bff-cream);
	color: var(--bff-cream);
}

.bff-btn--secondary:hover {
	background-color: var(--bff-cream);
	color: var(--bff-black);
}

/* ==========================================================================
   5. Content sections
   ========================================================================== */
.bff-section {
	padding: 70px 20px;
	max-width: 900px;
	margin: 0 auto;
}

.bff-section--dark {
	background-color: var(--bff-black);
	color: var(--bff-cream);
	max-width: none;
}

.bff-section--dark .bff-section__inner {
	max-width: 900px;
	margin: 0 auto;
}

.bff-section--dark h2 {
	color: var(--bff-gold-light);
}

.bff-section h2 {
	font-size: 2rem;
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 14px;
}

.bff-section h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 3px;
	background-color: var(--bff-amber);
}

.bff-section--dark h2::after {
	background-color: var(--bff-gold);
}

.bff-section p {
	font-size: 1.08rem;
	line-height: 1.75;
}

/* Journey / feast list (like endorsements grid) */
.bff-journey {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.bff-journey__item {
	background: rgba(255,255,255,0.05);
	border-left: 3px solid var(--bff-gold);
	padding: 22px;
}

.bff-journey__item strong {
	display: block;
	margin-bottom: 8px;
	color: var(--bff-gold);
	font-size: 0.95rem;
	letter-spacing: 0.03em;
}

/* Table of contents parts */
.bff-toc-part {
	margin-bottom: 40px;
}

.bff-toc-part h3 {
	color: var(--bff-amber);
	font-size: 1.3rem;
	margin-bottom: 8px;
}

.bff-toc-part p {
	color: var(--bff-brown);
	margin-bottom: 14px;
}

.bff-toc-part ol {
	columns: 2;
	column-gap: 40px;
	padding-left: 20px;
}

.bff-toc-part ol li {
	break-inside: avoid;
	margin-bottom: 6px;
}

@media (max-width: 640px) {
	.bff-toc-part ol { columns: 1; }
}

/* Author bio */
.bff-author {
	display: flex;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
}

.bff-author img {
	border-radius: 50%;
	width: 160px;
	height: 160px;
	object-fit: cover;
	border: 3px solid var(--bff-gold);
}

.bff-author__bio {
	flex: 1;
	min-width: 260px;
}

/* Newsletter / footer CTA */
.bff-cta-band {
	background: linear-gradient(135deg, var(--bff-amber), var(--bff-brown));
	color: var(--bff-cream);
	text-align: center;
	padding: 60px 20px;
}

.bff-cta-band h2 {
	color: var(--bff-cream);
}

/* Footer */
.site-footer,
#site-footer,
.site-info {
	background-color: var(--bff-black);
	color: var(--bff-cream);
}

.site-footer a {
	color: var(--bff-gold);
}

/* ==========================================================================
   6. Compact hero (shown on every page except the front page)
   ========================================================================== */
.bff-hero--compact {
	min-height: 0;
	padding: 34px 20px;
}

.bff-hero--compact .bff-hero__inner {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
}

.bff-hero--compact .bff-hero__cover {
	max-width: 90px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}

.bff-hero--compact .bff-hero__title {
	font-size: clamp(1.4rem, 3vw, 2rem);
	text-align: left;
}

.bff-hero--compact .bff-hero__title .bff-hero__script {
	font-size: 1.15em;
}

.bff-hero--compact .bff-hero__subtitle,
.bff-hero--compact .bff-hero__author {
	display: none;
}

.bff-hero--compact .bff-hero__cta {
	margin-top: 0;
}

.bff-hero--compact .bff-btn {
	padding: 10px 22px;
	font-size: 0.78rem;
}

@media (max-width: 600px) {
	.bff-hero--compact .bff-hero__inner {
		flex-direction: column;
		text-align: center;
	}
	.bff-hero--compact .bff-hero__title {
		text-align: center;
	}
}

/* Responsive */
@media (max-width: 600px) {
	.bff-hero {
		min-height: 520px;
	}
	.bff-author {
		flex-direction: column;
		text-align: center;
	}
}
