/**
 * Global normalization and native WordPress block baseline.
 */

html {
	scroll-behavior: smooth;
}

body.cdc-theme {
	min-width: 20rem;
	background: var(--cdc-bg);
	color: var(--cdc-text);
	font-family: var(--cdc-font-family-base);
	font-size: var(--cdc-font-size-base);
	line-height: var(--cdc-line-height-base);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.cdc-theme *,
.cdc-theme *::before,
.cdc-theme *::after {
	box-sizing: border-box;
}

.cdc-theme :where(h1, h2, h3, h4, h5, h6) {
	margin-top: 0;
	color: var(--cdc-navy);
	font-family: var(--cdc-font-family-heading);
	font-weight: 750;
	letter-spacing: var(--cdc-letter-heading);
}

.cdc-theme h1 {
	font-size: var(--cdc-font-size-h1);
	line-height: 0.98;
}

.cdc-theme h2 {
	font-size: var(--cdc-font-size-h2);
	line-height: 1.05;
}

.cdc-theme h3 {
	font-size: var(--cdc-font-size-h3);
	line-height: 1.12;
}

.cdc-theme :where(p, ul, ol) {
	margin-top: 0;
}

.cdc-theme a {
	color: var(--cdc-primary);
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.18em;
	transition: color var(--cdc-transition-base), text-decoration-color var(--cdc-transition-base);
}

.cdc-theme a:hover {
	color: var(--cdc-primary-hover);
}

.cdc-theme :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 0.1875rem solid var(--cdc-focus);
	outline-offset: 0.1875rem;
}

.cdc-theme :where(img, svg, video) {
	max-width: 100%;
}

.cdc-theme img {
	height: auto;
}

.cdc-theme button,
.cdc-theme input,
.cdc-theme textarea,
.cdc-theme select {
	font: inherit;
}

.cdc-theme :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--cdc-border);
	border-radius: var(--cdc-radius-sm);
	background: var(--cdc-white);
	color: var(--cdc-text);
}

.cdc-theme :where(input, textarea, select):focus {
	border-color: var(--cdc-primary);
}

.cdc-theme ::selection {
	background: var(--cdc-primary);
	color: var(--cdc-white);
}

.cdc-theme .screen-reader-text:focus {
	z-index: 100001;
}

html.cdc-nav-open,
body.cdc-nav-open {
	overflow: hidden;
	overscroll-behavior: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.cdc-theme *,
	.cdc-theme *::before,
	.cdc-theme *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	.cdc-header,
	.cdc-footer,
	.cdc-mobile-panel {
		display: none !important;
	}
}
