/* Semantic type defaults are opt-in to avoid changing legacy theme typography. */
.cleanify-foundation {
	color: var(--cleanify-color-text);
	font-family: var(--cleanify-font-family);
	font-size: var(--cleanify-type-body);
	font-weight: var(--cleanify-weight-regular);
	line-height: var(--cleanify-line-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.cleanify-foundation *, .cleanify-header *, .cleanify-footer *, .cleanify-card *, .cleanify-product-card * { box-sizing: border-box; }
.cleanify-foundation h1, .cleanify-foundation h2, .cleanify-foundation h3, .cleanify-foundation h4,
.cleanify-section h1, .cleanify-section h2, .cleanify-section h3, .cleanify-section h4 {
	color: var(--cleanify-color-text);
	font-family: var(--cleanify-font-display);
	font-weight: var(--cleanify-weight-semibold);
	letter-spacing: var(--cleanify-tracking-tight);
	line-height: var(--cleanify-line-heading);
	margin-block: 0 var(--cleanify-space-md);
}
.cleanify-foundation h1, .cleanify-section h1 { font-size: var(--cleanify-type-h1); }
.cleanify-foundation h2, .cleanify-section h2 { font-size: var(--cleanify-type-h2); }
.cleanify-foundation h3, .cleanify-section h3 { font-size: var(--cleanify-type-h3); }
.cleanify-foundation h4, .cleanify-section h4 { font-size: var(--cleanify-type-h4); }
.cleanify-foundation p, .cleanify-section p { margin-block: 0 var(--cleanify-space-md); }
.cleanify-header a, .cleanify-footer a, .cleanify-foundation a { color: inherit; }
.cleanify-header a:focus-visible, .cleanify-footer a:focus-visible, .cleanify-foundation a:focus-visible,
.cleanify-foundation button:focus-visible, .cleanify-header button:focus-visible {
	outline: 3px solid var(--cleanify-color-focus);
	outline-offset: 3px;
}
