/**
 * Katrolindo Custom Fonts
 * Font declarations for Poppins, Belgiano Serif, and Redwing
 */

/* ============================================
   POPPINS FONT FAMILY
   ============================================ */

/* Poppins Thin */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Thin.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Thin.woff') format('woff');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-ThinItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-ThinItalic.woff') format('woff');
	font-weight: 100;
	font-style: italic;
	font-display: swap;
}

/* Poppins ExtraLight */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-ExtraLight.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-ExtraLight.woff') format('woff');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-ExtraLightItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-ExtraLightItalic.woff') format('woff');
	font-weight: 200;
	font-style: italic;
	font-display: swap;
}

/* Poppins Light */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Light.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-LightItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-LightItalic.woff') format('woff');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}

/* Poppins Regular */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Regular.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Italic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/* Poppins Medium */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Medium.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-MediumItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-MediumItalic.woff') format('woff');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

/* Poppins SemiBold */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-SemiBold.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-SemiBoldItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-SemiBoldItalic.woff') format('woff');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

/* Poppins Bold */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Bold.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-BoldItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-BoldItalic.woff') format('woff');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

/* Poppins ExtraBold */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-ExtraBold.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-ExtraBoldItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-ExtraBoldItalic.woff') format('woff');
	font-weight: 800;
	font-style: italic;
	font-display: swap;
}

/* Poppins Black */
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-Black.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-Black.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins/Poppins-BlackItalic.woff2') format('woff2'),
		 url('../fonts/poppins/Poppins-BlackItalic.woff') format('woff');
	font-weight: 900;
	font-style: italic;
	font-display: swap;
}

/* ============================================
   BELGIANO SERIF FONT FAMILY
   ============================================ */

@font-face {
	font-family: 'Belgiano Serif';
	src: url('../fonts/belgiano/Belgiano Serif 2.otf') format('opentype'),
		 url('../fonts/belgiano/Belgiano Serif 2.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* ============================================
   REDWING FONT FAMILY
   ============================================ */

@font-face {
	font-family: 'Redwing';
	src: url('../fonts/redwing/Redwing-Light.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Redwing';
	src: url('../fonts/redwing/Redwing-Medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* ============================================
   DEFAULT FONT SETTINGS
   ============================================ */

/* Set Poppins as default font for all text */
body,
html {
	font-family: 'Poppins', sans-serif;
}

/* Override customizer CSS for common text elements (exclude custom fonts & Font Awesome) */
:where(
	body p,
	body span,
	body li,
	body dt,
	body dd,
	body blockquote,
	body cite,
	body code,
	body pre,
	body address,
	body div,
	body th,
	body td,
	body label,
	body textarea,
	body input,
	body button,
	body select,
	body a,
	body strong,
	body em
):not(:where(
	.font-belgiano,
	.font-belgiano-serif,
	.font-redwing,
	.fa,
	.fa-solid,
	.fa-regular,
	.fa-brands,
	.fab,
	.far,
	.fas,
	[class*="fa-"],
	.dashicons,
	.dashicons-before,
	[class*="dashicons-"],
	.ab-icon,
	#wpadminbar *
)) {
	font-family: 'Poppins', sans-serif !important;
}

/* Set Redwing for all headings h1-h6 (except those with font-specific classes and Font Awesome) */
h1:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]),
h2:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]),
h3:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]),
h4:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]),
h5:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]),
h6:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"]) {
	font-family: 'Redwing', sans-serif !important;
}

/* Ensure links inside headings inherit heading font */
h1:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a,
h2:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a,
h3:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a,
h4:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a,
h5:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a,
h6:not(.font-belgiano):not(.font-belgiano-serif):not(.font-redwing) a {
	font-family: inherit !important;
}

/* ============================================
   FONT UTILITY CLASSES
   ============================================ */

/* Poppins Font Class */
.font-poppins {
	font-family: 'Poppins', sans-serif;
}

/* Belgiano Serif Font Class */
.font-belgiano-serif,
.font-belgiano-serif :where(:not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"])) {
	font-family: 'Belgiano Serif', serif !important;
}

/* Belgiano Font Class (short version) */
.font-belgiano,
.font-belgiano :where(:not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"])) {
	font-family: 'Belgiano Serif', serif !important;
}

/* Redwing Font Class */
.font-redwing,
.font-redwing :where(:not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fab):not(.far):not(.fas):not([class*="fa-"])) {
	font-family: 'Redwing', sans-serif !important;
}

/* ============================================
   FONT AWESOME PROTECTION
   ============================================ */

/* Ensure Font Awesome icons use their own font family */
.fa,
.fa-solid,
.fa-regular,
.fa-brands,
.fab,
.far,
.fas,
[class*="fa-"] {
	font-family: var(--fa-style-family, "Font Awesome 6 Free") !important;
}

.fa-brands,
.fab {
	font-family: "Font Awesome 6 Brands" !important;
}

