/********************************************************/
/*
/*      Typography CSS
/*
/********************************************************/
.wp-site-blocks * {
	-webkit-font-smoothing: antialiased;
}

:is(.wp-site-blocks, .is-root-container) {
	h1, h2, h3, h4, h5, h6, big, p, span, label, blockquote, q, b, strong, i, em, mark, small, li, dt, dd {
		word-break: keep-all;
		word-wrap: normal;
		
		&:is(h1, h2, h3, h4, h5, h6, big) {
			text-wrap: balance;
		}
		
		&:is(p, span, label, blockquote, q, b, strong, i, em, mark, small, li, dt, dd) {
			text-wrap: pretty;
		}
		
		sup {
			font-size: calc(100% * (2/3));
		}
	}
}

.h1 {
	font-family: var(--wp--preset--font-family--canela) !important;
	font-size: var(--wp--preset--font-size--2-x-large) !important;
	line-height: 1.3 !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
}

.h2 {
	font-family: var(--wp--preset--font-family--canela) !important;
	font-size: var(--wp--preset--font-size--2-x-large) !important;
	line-height: 1.3 !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
}

.h3 {
	font-family: var(--wp--preset--font-family--national2) !important;
	font-size: var(--wp--preset--font-size--x-large) !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
}

.h4 {
	font-family: var(--wp--preset--font-family--canela) !important;
	font-size: var(--wp--preset--font-size--x-large) !important;
	line-height: 1.4 !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
}

.h5 {
	font-family: var(--wp--preset--font-family--canela) !important;
	font-size: var(--wp--preset--font-size--large) !important;
	line-height: 1.4 !important;
	font-weight: 300 !important;
}

.h6 {
	font-family: var(--wp--preset--font-family--national-2) !important;
	font-size: var(--wp--preset--font-size--medium-large) !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.35px !important;
}

a[href] {
	transition: color var(--wp--custom--speed--fast);
}

@media (width <= 500px) {
	h1, h2, h3, h4, h5, h6, p, span, label, blockquote, q, b, strong, i, em, mark, small, li, dt, dd {
		overflow-wrap: break-word;
		word-break: break-word;
		
		&:not(.keep-all) {
			hyphens: auto;
			hyphenate-limit-chars: 12 6 6; /* Prevent hyphenation on shorter words */
		}
	}
}

@media (width <= 300px) {
	h1, h2, h3, h4, h5, h6, p, span, label, blockquote, q, b, strong, i, em, mark, small, li, dt, dd {
		hyphens: auto;
		hyphenate-limit-chars: unset; /* Remove hyphenation word-length requirement */
	}
}