:root {
	--color-primary: #9d2240;
	--color-primary-hover: #7c1030;
	--color-primary-strong: #45091f;
	--color-on-primary: #ffffff;
	--color-accent: #ff3e6d;
	--color-accent-hover: #d92958;
	--color-accent-subtle: #ffd8e1;
	--color-highlight: #e6fe60;
	--color-text: #201f24;
	--color-text-muted: #787a80;
	--color-border-strong: #a5a5ae;
	--color-border: #edeef3;
	--color-surface-subtle: #f9fafd;
	--color-surface: #ffffff;
	--color-surface-muted: #edeef3;
	--color-surface-raised: #edeef3;
	--color-success-subtle: #f0fdf4;
	--color-success: #15803c;
	--color-success-strong: #14532d;
	--color-error-subtle: #fef2f2;
	--color-error: #cc0000;
	--color-error-strong: #7f1d1d;
	--color-warning-subtle: #fcf3de;
	--color-warning: #c27e00;
	--gradient-primary: radial-gradient(
		circle at 15% 15%,
		#b73349 0%,
		var(--color-primary-strong) 100%
	);
	--gradient-secondry: radial-gradient(
		circle at 15% 15%,
		var(--color-text) 0%,
		var(--color-success) 100%
	);
	--color-brand: var(--color-primary);
	--color-link: var(--color-text);
	--color-brand-hover: var(--color-primary-hover);
	--color-brand-subtle: var(--color-accent-subtle);
	--color-focus: var(--color-highlight);
	--color-on-surface: var(--color-text);
	--color-on-surface-muted: var(--color-text-muted);
	--font-heading: var(--font-gothia-serif);
	--font-body: var(--font-twk-lausanne);
	--font-weight-heading: 400;
	--font-weight-bold: 800;

	--text-display-large: 3.875rem;
	--text-display-large--line-height: 4rem;
	--text-display-small: 2.5rem;
	--text-display-small--line-height: 2.875rem;
	--text-heading-xl: 2rem;
	--text-heading-xl--line-height: 2.375rem;
	--text-heading-l: 1.5rem;
	--text-heading-l--line-height: 1.875rem;
	--text-heading-m: 1.375rem;
	--text-heading-m--line-height: 1.75rem;
	--text-heading-s: 1.25rem;
	--text-heading-s--line-height: 1.625rem;
	--text-body-l: 1.125rem;
	--text-body-l--line-height: 1.625rem;
	--text-body-m: 1rem;
	--text-body-m--line-height: 1.625rem;
	--text-body-s: 0.875rem;
	--text-body-s--line-height: 1.4375rem;
	--text-label-l: 0.875rem;
	--text-label-l--line-height: 1.3125rem;
	--text-label-l--letter-spacing: 0.09em;
	--text-label-m: 0.75rem;
	--text-label-m--line-height: 1.25rem;
	--text-label-m--letter-spacing: 0.06em;
	--text-label-s: 0.625rem;
	--text-label-s--line-height: 1rem;
	--text-label-s--letter-spacing: 0.06em;
	--text-link-l: 1.125rem;
	--text-link-l--line-height: 1.625rem;
	--text-link-m: 1rem;
	--text-link-m--line-height: 1.625rem;
	--text-link-m--letter-spacing: normal;
	--text-link-s: 0.875rem;
	--text-link-s--line-height: 1.4375rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading) !important;
	font-weight: var(--font-weight-heading) !important;
}

/* Richtext buttons follow the Button component colors */
.richtext p:has(a.primary-button) a.primary-button,
.button-block--noicon a.primary-button {
	background-color: var(--color-text);
	border-color: var(--color-text);
	color: var(--color-on-primary);
}

/* Plain richtext links follow the link-m style */
.richtext a:not([class]):not([id]) {
	color: var(--color-link);
	font-family: var(--font-body);
	font-size: var(--text-link-m);
	line-height: var(--text-link-m--line-height);
	letter-spacing: var(--text-link-m--letter-spacing, normal);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.richtext a:not([class]):not([id]):hover {
	text-decoration: underline;
}

.richtext p:has(a.primary-button) a.primary-button:hover,
.button-block--noicon a.primary-button:hover {
	background-color: color-mix(in srgb, var(--color-text) 70%, transparent);
	border-color: color-mix(in srgb, var(--color-text) 70%, transparent);
}

.richtext p:has(a.secondary-button) a.secondary-button,
.button-block--noicon a.secondary-button {
	background-color: var(--color-accent-subtle);
	border-color: var(--color-accent-subtle);
	color: var(--color-text);
}

.richtext p:has(a.secondary-button) a.secondary-button:hover,
.button-block--noicon a.secondary-button:hover {
	background-color: color-mix(
		in srgb,
		var(--color-accent-subtle) 50%,
		transparent
	);
	border-color: color-mix(in srgb, var(--color-accent-subtle) 50%, transparent);
}

.richtext img,
img.richtext {
	border-radius: 1rem !important;
}
