/*
 * LfC Typography — Montserrat (self-hosted)
 * Pedido do cliente: substituir Poppins/Inter por Montserrat.
 * Font files in assets/fonts/ (latin subset, static per-weight).
 */

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/montserrat-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/montserrat-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/montserrat-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/montserrat-700.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* --- Base typography --- */

body {
	font-family: var(--lfc-font-body);
	font-size: var(--lfc-text-base);
	font-weight: 400;
	line-height: 1.7;
	color: var(--lfc-text);
	background-color: var(--lfc-bg);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--lfc-font-heading);
	font-weight: 700;
	line-height: 1.2;
	color: var(--lfc-navy);
	margin-top: 0;
}

h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.25rem; font-weight: 600; }
h5 { font-size: 1.1rem;  font-weight: 600; }
h6 { font-size: 1rem;    font-weight: 600; }

p { margin-bottom: 1.25em; }

strong, b { font-weight: 700; }
em, i     { font-style: italic; }

a {
	color: var(--lfc-link);
	text-decoration: none;
	transition: color var(--lfc-transition);
}
a:hover,
a:focus { color: var(--lfc-link-hover); }

.main-navigation a,
.site-header nav a {
	font-weight: 500;
}

.lfc-label,
.lfc-badge {
	font-weight: 600;
	letter-spacing: 0.05em;
}

/* --- Focus ring (WCAG 2.1 AA) --- */

:focus-visible {
	outline: 3px solid var(--lfc-focus-ring);
	outline-offset: 3px;
}

:focus:not(:focus-visible) {
	outline: none;
}
