/**
 * Typography - Font declarations and heading scale
 *
 * Abar optical-size strategy (local, no CDN):
 * - Headlines / display: Abar High
 * - Body / titles: Abar Mid
 * - Labels / metadata: Abar Low
 */

/* Abar High — display / headlines */
@font-face {
	font-family: 'Abar High';
	src: url('../fonts/abar-high-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar High';
	src: url('../fonts/abar-high-semibold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar High';
	src: url('../fonts/abar-high-bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar High';
	src: url('../fonts/abar-high-extrabold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar High';
	src: url('../fonts/abar-high-black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Abar Mid — body / titles */
@font-face {
	font-family: 'Abar Mid';
	src: url('../fonts/abar-mid-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Mid';
	src: url('../fonts/abar-mid-semibold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Mid';
	src: url('../fonts/abar-mid-bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Mid';
	src: url('../fonts/abar-mid-extrabold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Mid';
	src: url('../fonts/abar-mid-black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Abar Low — labels / metadata */
@font-face {
	font-family: 'Abar Low';
	src: url('../fonts/abar-low-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Low';
	src: url('../fonts/abar-low-semibold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Low';
	src: url('../fonts/abar-low-bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Low';
	src: url('../fonts/abar-low-extrabold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Abar Low';
	src: url('../fonts/abar-low-black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Base typography */
body {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-on-background);
}

/* Headings - Desktop */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	margin: 0;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-on-surface);
}

h1 {
	font-size: 2.75rem; /* 44px - matches Elementor baseline */
	line-height: 1.2;
}

h2 {
	font-size: 2.125rem; /* 34px */
	line-height: 1.25;
}

h3 {
	font-size: 1.75rem; /* 28px */
	line-height: 1.3;
}

h4 {
	font-size: 1.375rem; /* 22px */
	line-height: 1.35;
}

h5 {
	font-size: 1.125rem; /* 18px */
	line-height: 1.4;
}

h6 {
	font-size: 1rem; /* 16px */
	line-height: 1.4;
}

/* Paragraph */
p {
	margin: 0 0 var(--space-md);
	line-height: 1.6;
}

/* Links — never underline; use color/weight for affordance */
a {
	transition: color var(--transition-fast);
}

a:not(.btn),
a:not(.btn):hover,
a:not(.btn):focus,
a:not(.btn):focus-visible,
a:not(.btn):active,
a:not(.btn):visited {
	color: var(--color-primary);
	text-decoration: none;
}

a:not(.btn):hover {
	color: var(--color-primary-container);
}

/* Small text */
small {
	font-size: 0.875rem;
	line-height: 1.5;
}

/* Label/Technical typography */
.label-md {
	font-family: var(--font-label);
	font-size: 0.875rem;
	line-height: 1.25;
	font-weight: 500;
}

.caption {
	font-size: 0.75rem;
	line-height: 1.33;
}

/* Component typography */
.entry-title {
	margin-bottom: var(--space-md);
}

.entry-meta {
	margin-bottom: var(--space-md);
	font-size: 0.875rem;
	color: var(--color-on-surface-variant);
}

.page-title {
	margin-bottom: var(--space-lg);
}

/* Tablet responsive */
@media (max-width: 1024px) {
	h1 { font-size: 2.25rem; } /* 36px */
	h2 { font-size: 1.75rem; } /* 28px */
	h3 { font-size: 1.5rem; } /* 24px */
	h4 { font-size: 1.25rem; } /* 20px */
	h5 { font-size: 1.125rem; } /* 18px */
	h6 { font-size: 1rem; } /* 16px */
}

/* Mobile responsive */
@media (max-width: 767px) {
	h1 { font-size: 1.875rem; } /* 30px */
	h2 { font-size: 1.5rem; } /* 24px */
	h3 { font-size: 1.25rem; } /* 20px */
	h4 { font-size: 1.125rem; } /* 18px */
	h5 { font-size: 1rem; } /* 16px */
	h6 { font-size: 0.875rem; } /* 14px */

	p { font-size: 0.875rem; }
}
