/*
Theme Name: False Church
Theme URI: https://example.com/false-church
Author: False Church
Description: A block theme for the False Church investor overview: an all-day neighborhood brasserie at 5222 Langston Boulevard, Arlington, Virginia. Activating it creates a draft "Investor Overview" page built from editable blocks.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: false-church
Tags: block-patterns, full-site-editing, one-column
*/

/* ---------- Page rhythm: full-width sections butt together ---------- */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull,
main.wp-block-group > .wp-block-post-content { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ---------- Sections ---------- */
.fc-section {
	padding-top: clamp(4rem, 9vw, 8rem);
	padding-bottom: clamp(4rem, 9vw, 8rem);
	padding-left: var(--wp--style--root--padding-left, 1.5rem);
	padding-right: var(--wp--style--root--padding-right, 1.5rem);
}
.fc-section > * + * { margin-block-start: 1.5rem; }
.fc-section .fc-title + * { margin-block-start: 2.5rem; }

/* ---------- Type ---------- */
.fc-eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wp--preset--color--oxblood);
	margin-bottom: 0.75rem;
}
.fc-dark .fc-eyebrow, .fc-red .fc-eyebrow { color: var(--wp--preset--color--brass); }
.fc-title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2.2rem, 4.6vw, 3.8rem);
	line-height: 1.08;
	margin-top: 0;
}
.fc-statement {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2.4rem, 5.6vw, 4.6rem);
	line-height: 1.08;
}
.fc-wordmark {
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(3.4rem, 10vw, 8rem);
	line-height: 1;
	margin: 0.25rem 0 0.75rem;
}
.fc-lede { font-size: clamp(1.15rem, 1.8vw, 1.45rem); line-height: 1.55; }
.fc-callout .fc-italic-label, .fc-red .fc-italic-label { color: var(--wp--preset--color--brass); }
.fc-muted { color: var(--wp--preset--color--muted); }
.fc-dark .fc-muted { color: var(--wp--preset--color--dust); }
.fc-source {
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
	margin-top: 2rem;
}
.fc-dark .fc-source, .fc-red .fc-source { color: var(--wp--preset--color--dust); }

/* ---------- Stats ---------- */
.fc-stats { border-top: 2px solid currentColor; padding-top: 1.75rem; gap: 2.5rem; }
.fc-stat {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.8rem, 6vw, 4.8rem);
	line-height: 1;
	color: var(--wp--preset--color--oxblood);
	margin-bottom: 0.5rem;
	white-space: nowrap;
}
.fc-dark .fc-stat, .fc-red .fc-stat { color: var(--wp--preset--color--brass); }
.fc-stats-compact .fc-stat, .fc-card .fc-stat, .fc-callout .fc-stat { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.fc-callout-hero .fc-stat { font-size: clamp(3rem, 6vw, 5rem); }
.fc-callout {
	padding: 2.25rem;
	border-radius: 8px;
}
.fc-callout .fc-stat { color: var(--wp--preset--color--cream); }

/* ---------- Cards and rules ---------- */
.fc-card { padding: 2rem; border-radius: 8px; }
.fc-card > * + * { margin-block-start: 0.6rem; }
.fc-ruled > .wp-block-column { border-top: 2px solid var(--wp--preset--color--oxblood); padding-top: 1.5rem; }
.fc-dark .fc-ruled > .wp-block-column { border-top-color: var(--wp--preset--color--brass); }
.fc-italic-label {
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	line-height: 1.15;
	color: var(--wp--preset--color--oxblood);
	margin: 0 0 0.6rem;
}
.fc-dark .fc-italic-label { color: var(--wp--preset--color--brass); }
.fc-swatch-row { align-items: center; gap: 1.25rem; }
.fc-swatch { width: 64px; height: 64px; min-width: 64px; border-radius: 4px; }

/* ---------- Tables ---------- */
.wp-block-table.fc-table table { border-collapse: collapse; font-size: 1rem; width: 100%; }
.wp-block-table.fc-table th, .wp-block-table.fc-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--rule); padding: 0.7rem 0.75rem 0.7rem 0; text-align: left; vertical-align: top; }
.wp-block-table.fc-table thead { border: 0; }
.wp-block-table.fc-table thead th { font-weight: 600; border-bottom: 2px solid currentColor; vertical-align: bottom; }
.wp-block-table.fc-table td:not(:first-child), .wp-block-table.fc-table th:not(:first-child) { text-align: right; padding-right: 0; padding-left: 0.75rem; }
.wp-block-table.fc-table.fc-table-left td, .wp-block-table.fc-table.fc-table-left th { text-align: left; }
.fc-table strong { color: var(--wp--preset--color--oxblood); }

/* ---------- Hero ---------- */
.fc-hero { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: 0; }
.fc-hero .fc-hero-image { margin-top: 1rem; margin-bottom: 0; }
.fc-hero .fc-hero-image img { width: 100%; height: auto; display: block; }
.fc-frame {
	border: 2px solid var(--wp--preset--color--brass);
	outline: 1px solid var(--wp--preset--color--oxblood);
	outline-offset: -10px;
	padding: clamp(2rem, 5vw, 4rem);
}

/* ---------- Header / footer ---------- */
.fc-header { padding: 1rem var(--wp--style--root--padding-right, 1.5rem); border-bottom: 1px solid var(--wp--preset--color--rule); }
.fc-header p { margin: 0; }
.fc-header .fc-brand { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.5rem; }
.fc-header .fc-nav { font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; }
.fc-header .fc-nav a { text-decoration: none; margin-left: 1.25rem; }
.fc-footer { padding: 2.5rem var(--wp--style--root--padding-right, 1.5rem); font-size: 0.85rem; }

/* ---------- Password form ---------- */
.post-password-form { max-width: 32rem; margin: 6rem auto; padding: 2.5rem; border: 2px solid var(--wp--preset--color--brass); }
.post-password-form input[type="password"] { padding: 0.6rem; border: 1px solid var(--wp--preset--color--rule); margin: 0.5rem 0; }
.post-password-form input[type="submit"] { background: var(--wp--preset--color--oxblood); color: var(--wp--preset--color--cream); border: 0; padding: 0.65rem 1.25rem; cursor: pointer; }

@media (max-width: 781px) {
	.fc-header .fc-nav { display: none; }
	.fc-table table { font-size: 0.9rem; }
}
