/* Mobile first. Medium: 48rem; wide: 72rem. No application/feed layout yet. */
body {
	min-block-size: 100vh;
	min-block-size: 100dvh;
	display: flex;
	flex-direction: column;
}

.ft-container {
	inline-size: min(calc(100% - 2 * var(--ft-space-4)), var(--ft-wide-width));
	margin-inline: auto;
}

.ft-reading-width {
	inline-size: 100%;
	max-inline-size: var(--ft-content-width);
	margin-inline: auto;
}

.ft-stack > * { margin-block: 0; }
.ft-stack > * + * { margin-block-start: var(--ft-space-6); }

.site-header {
	background: var(--ft-surface);
	border-block-end: 1px solid var(--ft-border);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--ft-space-4);
	padding-block: var(--ft-space-4);
}

.site-brand {
	max-inline-size: 100%;
	color: var(--ft-primary);
	font-size: var(--ft-text-large);
	font-weight: 800;
	text-decoration: none;
}

.site-navigation { inline-size: 100%; }
.site-menu-toggle { margin-block-end: var(--ft-space-3); }

.site-menu,
.footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ft-space-2) var(--ft-space-4);
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-menu { flex-direction: column; }
.site-menu li,
.footer-menu li { min-inline-size: 0; }

.site-menu a,
.footer-menu a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	padding: var(--ft-space-2);
	color: var(--ft-ink);
	border-radius: var(--ft-radius-small);
}

.site-menu a[aria-current="page"],
.footer-menu a[aria-current="page"] {
	background: var(--ft-pink);
	color: var(--ft-primary);
	font-weight: 600;
}

.site-main {
	flex: 1;
	padding-block: var(--ft-space-8) var(--ft-space-12);
}

.site-footer {
	border-block-start: 1px solid var(--ft-border);
	color: var(--ft-muted);
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: var(--ft-space-4);
	padding-block: var(--ft-space-6);
}

.site-footer__name { margin: 0; }
.entry-header,
.entry-thumbnail { margin-block-end: var(--ft-space-6); }
.entry-thumbnail img { display: block; border-radius: var(--ft-radius-medium); }

.entry-content {
	display: flow-root;
}

.entry-content > * {
	max-inline-size: var(--ft-content-width);
	margin-inline: auto;
}

.entry-content > .alignwide {
	max-inline-size: var(--ft-wide-width);
}

/* Full width stays within the page gutter and never causes viewport overflow. */
.entry-content > .alignfull {
	max-inline-size: none;
}

.entry-content > .alignleft,
.entry-content > .alignright {
	float: none;
}

.entry-content .wp-block-table { overflow-x: auto; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-summary > :last-child { margin-block-end: 0; }

@media (min-width: 48rem) {
	.ft-container {
		inline-size: min(calc(100% - 2 * var(--ft-space-8)), var(--ft-wide-width));
	}

	.site-navigation { inline-size: auto; }
	.site-menu { flex-direction: row; }
	.site-main { padding-block-start: var(--ft-space-12); }
	.site-footer__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.ft-legal-links {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: .25rem 1rem;
 padding: 1rem;
 font-size: .8125rem;
}
.ft-legal-links a {
 display: inline-flex;
 align-items: center;
 min-block-size: 44px;
 color: var(--ft-color-text-muted, #60576a);
 text-underline-offset: .2em;
}
