/**
 * Base layer (decision 0026): the few global rules Bootstrap's variables
 * don't cover. Spacing and components come from Bootstrap's own classes.
 */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Tighter, heavier headings for the dark design (Bootstrap has no letter-spacing utility). */
h1,
h2,
h3,
.h1,
.h2,
.h3 {
	letter-spacing: -0.02em;
	font-weight: 800;
}

/*
 * No underlined links anywhere (the admin's call): links are told apart by the
 * brand link color instead, and brighten on hover. Bootstrap underlines every
 * <a> and has no variable to turn it off.
 */
a {
	text-decoration: none;
}

::selection {
	background: rgba(var(--vgp-orange-rgb), 0.35);
}

/* Anchored sections clear the sticky header. */
[id] {
	scroll-margin-top: calc(var(--vgp-header-height) + 1rem);
}

/* WordPress core prints .screen-reader-text in its own markup; same rules as Bootstrap's .visually-hidden. */
.screen-reader-text:not(:focus):not(:focus-within) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* YouTube requires its player to be at least 200×200 px (decision 0018). */
.vigapedia-video {
	min-height: 200px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
