/*
 * Content pages shell (Journal and Crew Dispatch): document, header, footer,
 * pills, pagination. Scoped to .fpl-c so it never touches other templates.
 * Ported from "Journal.dc.html" and "Newsletter Archive.dc.html".
 *
 * Palette: parchment #f7efe2, tan #f1e4cd, paper #fffdf7, ink #3a2f24,
 * brown #6b5b45 / #7a6248, rust #b06a2e (hover #8a4e1d), gold #f0c98a,
 * dark #2e2318 / #1c1510.
 */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
body.fpl-journal-page,
body.fpl-dispatch-page {
	margin: 0;
	padding: 0;
	background: #f7efe2;
	-webkit-font-smoothing: antialiased;
}
.fpl-c {
	font-family: "Figtree", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	background: #f7efe2;
	color: #3a2f24;
	min-width: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.fpl-c *,
.fpl-c *::before,
.fpl-c *::after {
	box-sizing: border-box;
}
.fpl-c a {
	color: #b06a2e;
	text-decoration-color: rgba(176, 106, 46, 0.45);
}
.fpl-c a:hover {
	color: #8a4e1d;
}
.fpl-c h1,
.fpl-c h2,
.fpl-c h3 {
	font-family: "Figtree", sans-serif;
	text-transform: none;
	color: inherit;
}
.fpl-c img {
	max-width: 100%;
	height: auto;
}
.fpl-c-main {
	flex: 1 0 auto;
}
.fpl-c a:focus-visible,
.fpl-c button:focus-visible,
.fpl-c input:focus-visible {
	outline: 2px solid #f0c98a;
	outline-offset: 2px;
}

/* Header */
.fpl-c-header {
	position: relative;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px clamp(20px, 4vw, 48px);
	flex-wrap: wrap;
	background: #2e2318;
}
.fpl-c .fpl-c-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #f7efe2;
	text-decoration: none;
}
.fpl-c-brand img {
	width: 46px;
	height: 46px;
	object-fit: contain;
}
.fpl-c-brand span {
	font-weight: 700;
	letter-spacing: 4px;
	font-size: 15px;
}
.fpl-c-nav {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: center;
	font-weight: 700;
	letter-spacing: 2.5px;
	font-size: 13px;
}
.fpl-c .fpl-c-nav a {
	color: #f7efe2;
	text-decoration: none;
}
.fpl-c .fpl-c-nav a:hover,
.fpl-c .fpl-c-nav a.is-current {
	color: #f0c98a;
}
.fpl-c .fpl-c-nav a.fpl-c-nav__pill {
	color: #2e2318;
	background: #f7efe2;
	padding: 9px 18px;
	border-radius: 999px;
}
.fpl-c .fpl-c-nav a.fpl-c-nav__pill:hover {
	background: #f0c98a;
	color: #2e2318;
}
.fpl-c-burger {
	display: none;
	margin-left: auto;
	cursor: pointer;
	background: none;
	border: 2px solid rgba(247, 239, 226, 0.6);
	border-radius: 6px;
	padding: 9px 10px;
	flex-direction: column;
	gap: 4px;
}
.fpl-c-burger span {
	display: block;
	width: 20px;
	height: 2px;
	background: #f7efe2;
}
@media (max-width: 1170px) {
	.fpl-c-nav {
		display: none;
	}
	.fpl-c-nav.is-open {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: rgba(28, 21, 16, 0.97);
		padding: 20px clamp(20px, 4vw, 48px) 26px;
		gap: 18px;
	}
	.fpl-c-burger {
		display: inline-flex;
	}
}

/* Footer */
.fpl-c-footer {
	background: #1c1510;
	color: #c9b998;
	padding: 36px clamp(20px, 5vw, 64px);
}
.fpl-c-footer__inner {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
}
.fpl-c .fpl-c-footer__home {
	color: #f0c98a;
	font-weight: 700;
	letter-spacing: 2px;
	font-size: 13px;
	text-decoration: none;
}
.fpl-c-footer__meta {
	font-size: 12.5px;
}
.fpl-c .fpl-c-footer__meta a {
	color: #c9b998;
}

/* Shared bits */
.fpl-c-eyebrow {
	font-weight: 700;
	letter-spacing: 4px;
	font-size: 13px;
	color: #b06a2e;
}
.fpl-c-hand {
	font-family: "Caveat", cursive;
	color: #6b5b45;
}
.fpl-c-pill {
	display: inline-block;
	background: rgba(255, 253, 247, 0.95);
	color: #b06a2e;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 2px;
	padding: 6px 14px;
	border-radius: 999px;
	line-height: 1.4;
}
.fpl-c-empty {
	background: #fffdf7;
	border-radius: 8px;
	padding: 34px 28px;
	text-align: center;
	color: #6b5b45;
	box-shadow: 0 10px 26px rgba(58, 47, 36, 0.12);
	font-size: 17px;
}
.fpl-c-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 44px;
	font-weight: 700;
	letter-spacing: 2px;
	font-size: 13px;
}
.fpl-c .fpl-c-pagination a,
.fpl-c-pagination span {
	display: inline-block;
	padding: 9px 14px;
	border-radius: 999px;
	text-decoration: none;
	color: #6b5b45;
}
.fpl-c .fpl-c-pagination a:hover {
	color: #b06a2e;
	background: #fffdf7;
}
.fpl-c-pagination .current {
	background: #b06a2e;
	color: #fffdf7;
}
