/**
 * Base document styles.
 */

body {
	font-family: var(--dc-font-body);
	font-size: var(--dc-font-size-base);
	line-height: var(--dc-line-height);
	color: var(--dc-colour-text);
	background-color: var(--dc-colour-bg);
	min-height: 100vh;
}

.dc-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.dc-main {
	flex: 1;
	padding-block: var(--dc-space-8);
}

:focus-visible {
	outline: 2px solid var(--dc-colour-focus);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	padding: var(--dc-space-2) var(--dc-space-3);
	background: var(--dc-colour-surface);
	z-index: 100000;
}

[hidden] {
	display: none !important;
}

mark {
	background: color-mix(in srgb, var(--dc-colour-accent) 30%, transparent);
	padding: 0 0.1em;
	border-radius: var(--dc-radius-sm);
}
