/**
 * Monochrome (black accent + neutral grays). Tweak hex values below to taste.
 */
:root {
	/* Accent: links, button fills, dots, underline highlights */
	--theme-primary-hue: #000000;
	/* Matches primary for a coherent black headline / branding line */
	--site-title-hue: #000000;

	/* Softer UI chrome — still grayscale */
	--theme-text-hue: #0a0a0a;
	--theme-text-light-hue: #525252;
	--theme-border-hue: #d4d4d4;
	--theme-background-hue-light: #f5f5f5;

	/* Parent theme draws many pills/cards from this token */
	--curve-border: 15px;

	--site-title-font: "Inter", system-ui, -apple-system, sans-serif;
	--site-tagline-font: "Inter", system-ui, -apple-system, sans-serif;
	--heading-font: "Inter", system-ui, -apple-system, sans-serif;
	--site-body-font: "Inter", system-ui, -apple-system, sans-serif;
}

/**
 * Headlines: all-caps. Optional letter-spacing keeps uppercase blocks readable.
 */
h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.entry-title,
.page-title,
.widget-title,
.section-title,
.card-title,
.related-title,
.comments-title,
.nav-title {
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/**
 * Header branding: Echo Blog hides the pill via theme_mod; our 2‑column grid must define explicit
 * column placement — parent uses named lines (site-branding / middle-header-right) which do not exist
 * on a 2‑track grid, so the title can shrink into the ~30% right column and look misaligned.
 */
@media (min-width: 769px) {
	.site-middle-header .site-container-width .site-middle-header-wrapper:not(:has(.header-button)) {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.site-middle-header .site-middle-header-wrapper:not(:has(.header-button)) .site-branding {
		grid-column: 1 / 2;
		grid-row: 1;
		justify-self: center;
		align-self: center;
		width: 100%;
		max-width: 40rem;
	}

	.site-middle-header .site-middle-header-wrapper:not(:has(.header-button)) .middle-header-right {
		grid-column: 2 / 3;
		grid-row: 1;
		justify-self: end;
	}

	.site-middle-header .site-middle-header-wrapper:not(:has(.header-button)) .site-branding .site-identity {
		margin-inline: auto;
		text-align: center;
		width: 100%;
	}
}

/**
 * Buttons & button-style links — 15px corners (parent often hard-codes 20px / 3px).
 */
button:not(.menu-toggle),
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
.wp-element-button,
.more-link,
.header-button a,
.post-navigation .nav-links a,
.comment-respond input[type="submit"],
.comments-area .comment-reply-link,
.search-form button,
.search-form input[type="submit"],
nav.navigation.pagination .nav-links a,
nav.navigation.pagination .nav-links span:not(.dots) {
	border-radius: 15px;
}

.site-footer.site-footer--fierronava .lower-footer.lower-footer--fierronava {
	position: relative;
	padding: 3rem 0 2rem;
	background: #f9f9f9;
	/* Parent .site-footer sets --theme-text-hue: #fff for the dark footer — override here or hovers use white */
	--theme-text-hue: #0a0a0a;
	--theme-text-light-hue: #525252;
	--theme-primary-hue: #000000;
	color: var(--theme-text-light-hue);
	overflow: visible;
}

.site-footer.site-footer--fierronava .lower-footer.lower-footer--fierronava::before {
	display: none;
}

.site-footer.site-footer--fierronava .lower-footer.lower-footer--fierronava .site-container-width {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem 2.5rem;
	align-items: start;
}

@media (min-width: 768px) {
	.site-footer.site-footer--fierronava .lower-footer.lower-footer--fierronava .site-container-width {
		grid-template-columns: minmax(12rem, 1.35fr) 1fr 1fr;
	}
}

.ff-footer-brand-mark {
	font-size: 1.125rem;
	margin: 0 0 0.35rem;
	line-height: 1;
	opacity: 0.85;
}

.ff-footer-name {
	margin: 0 0 0.65rem;
	font-size: clamp(1.05rem, 2vw, 1.15rem);
	font-weight: 700;
	color: var(--theme-text-hue);
	line-height: 1.35;
	text-transform: none;
	letter-spacing: normal;
}

.ff-footer-bio,
.ff-footer-meta {
	margin: 0 0 0.65rem;
	font-size: clamp(0.875rem, 1.8vw, 0.9375rem);
	line-height: 1.55;
	color: var(--theme-text-light-hue);
	text-transform: none;
	letter-spacing: normal;
}

.ff-footer-meta {
	margin-bottom: 0;
}

.ff-footer-heading {
	margin: 0 0 0.85rem;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--theme-text-light-hue);
}

.ff-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ff-footer-list li + li {
	margin-top: 0.55rem;
}

.ff-footer-list a {
	display: inline-block;
	font-size: 0.9375rem;
	line-height: 1.45;
	text-decoration: none;
	color: #525252;
	border-bottom: 1px solid transparent;
	transition:
		color 0.2s ease,
		border-color 0.2s ease;
}

.ff-footer-list a:hover,
.ff-footer-list a:focus {
	color: #000000;
	border-bottom-color: #000000;
	opacity: 1;
}

.site-footer.site-footer--fierronava .lower-footer-meta {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--theme-border-hue);
}

@media (min-width: 640px) {
	.site-footer.site-footer--fierronava .lower-footer-meta {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
	}
}

.lower-footer-meta p {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--theme-text-light-hue);
}

.lower-footer-meta .ff-footer-copy a {
	text-decoration: none;
	color: inherit;
}
