/* ============================================================
   FLC Typography
   Body: Inter   Display: Cormorant
   ============================================================ */

/* ---------- Body ---------- */
body,
.entry-content,
button,
input,
select,
textarea {
	font-family: var(--flc-font-body);
	font-weight: var(--flc-fw-regular);
	font-size: var(--flc-text-body);
	line-height: var(--flc-leading-normal);
	letter-spacing: var(--flc-tracking-body);
	color: var(--flc-color-text);
}

p {
	margin: 0 0 var(--flc-space-16);
	line-height: var(--flc-leading-normal);
}

/* Slightly larger body for editorial sections */
.flc-body-lg,
.entry-content > p:first-of-type {
	font-size: var(--flc-text-body-lg);
}

/* Captions, meta */
.flc-caption,
small,
figcaption {
	font-size: var(--flc-text-caption);
	letter-spacing: var(--flc-tracking-caption);
	color: var(--flc-color-muted);
	line-height: 1.58;
}

/* ---------- Headings ---------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.entry-title,
.site-title {
	font-family: var(--flc-font-display);
	font-weight: var(--flc-fw-medium);
	color: var(--flc-color-heading);
	margin: 0 0 var(--flc-space-16);
}

h1, .h1 {
	font-size: var(--flc-text-display);
	line-height: var(--flc-leading-tight);
	letter-spacing: var(--flc-tracking-display);
}

h2, .h2 {
	font-size: var(--flc-text-h-lg);
	line-height: var(--flc-leading-tight);
	letter-spacing: var(--flc-tracking-h-lg);
}

h3, .h3 {
	font-size: var(--flc-text-h-md);
	line-height: var(--flc-leading-snug);
	letter-spacing: var(--flc-tracking-h-md);
}

h4, .h4 {
	font-size: var(--flc-text-h);
	line-height: var(--flc-leading-snug);
	letter-spacing: var(--flc-tracking-h);
}

h5, .h5 {
	font-size: var(--flc-text-h-sm);
	line-height: 1.38;
	letter-spacing: var(--flc-tracking-h-sm);
}

h6, .h6 {
	font-size: var(--flc-text-body-lg);
	line-height: 1.4;
	letter-spacing: var(--flc-tracking-h-sm);
	color: var(--flc-color-text);
}

/* ---------- Mobile scale ---------- */
@media (max-width: 768px) {
	h1, .h1 { font-size: 36px; letter-spacing: -1.4px; }
	h2, .h2 { font-size: 28px; letter-spacing: -0.8px; }
	h3, .h3 { font-size: 22px; letter-spacing: -0.5px; }
	h4, .h4 { font-size: 20px; }
}

/* ---------- Links ---------- */
a {
	color: var(--flc-color-accent);
	text-decoration: none;
	transition: opacity var(--flc-dur-fast) var(--flc-ease);
}
a:hover {
	opacity: 0.75;
}

/* In-content links keep an underline for legibility */
.entry-content a:not(.wp-block-button__link):not(.kb-button) {
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--flc-color-accent);
}

/* ---------- Lists ---------- */
ul, ol {
	margin: 0 0 var(--flc-space-16);
	padding-left: var(--flc-space-24);
	line-height: var(--flc-leading-normal);
}

/* Vertical rhythm in prose lists only — must not touch nav menus */
.entry-content li + li,
.flc-prose li + li {
	margin-top: var(--flc-space-4);
}

/* ---------- Misc ---------- */
strong, b {
	font-weight: var(--flc-fw-semibold);
	color: var(--flc-color-heading);
}

blockquote {
	font-family: var(--flc-font-display);
	font-size: var(--flc-text-h-sm);
	line-height: 1.4;
	letter-spacing: var(--flc-tracking-h-sm);
	border-left: 3px solid var(--flc-color-accent);
	padding-left: var(--flc-space-24);
	margin: var(--flc-space-32) 0;
	color: var(--flc-color-heading);
}

code, pre {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 14px;
	background: var(--flc-color-bg-recessed);
	padding: 2px 6px;
	border-radius: var(--flc-radius-sm);
}
