/* Rich Text Block — prose typography */

.le-rich-text-block .rich-text-content {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.75;
	color: var(--color-shade, #272829);
}

/* Headings */
.le-rich-text-block .rich-text-content h1,
.le-rich-text-block .rich-text-content h2,
.le-rich-text-block .rich-text-content h3,
.le-rich-text-block .rich-text-content h4,
.le-rich-text-block .rich-text-content h5,
.le-rich-text-block .rich-text-content h6 {
	font-family: var(--font-heading);
	color: var(--color-primary, #272829);
	line-height: 1.2;
	margin: 0.5rem 0;
}

.le-rich-text-block .rich-text-content h1 {
	margin-top: 1rem;
	font-size: var(--font-size-4xl, 2.25rem);
	font-weight: 700;
}

.le-rich-text-block .rich-text-content h2 {
	font-size: 2rem;
	font-weight: 700;
}

.le-rich-text-block .rich-text-content h3 {
	font-size: 1.375rem;
	font-weight: 600;
}

.le-rich-text-block .rich-text-content h4 {
	font-size: 1.125rem;
	font-weight: 600;
}

.le-rich-text-block .rich-text-content h5,
.le-rich-text-block .rich-text-content h6 {
	font-size: 1rem;
	font-weight: 600;
}

/* Remove top margin from first element */
.le-rich-text-block .rich-text-content > :first-child {
	margin-top: 0;
}

.le-rich-text-block .rich-text-content > :last-child {
	margin-bottom: 0;
}

/* Paragraphs */
.le-rich-text-block .rich-text-content p {
	margin-bottom: 1.25rem;
}

/* Links */
.le-rich-text-block .rich-text-content a {
	color: var(--color-primary);
	text-decoration: underline;
	font-weight: 600;
	transition: color 150ms ease;
}

.le-rich-text-block .rich-text-content a:hover {
	color: var(--color-primary-dark);
}

/* Lists */
.le-rich-text-block .rich-text-content ul,
.le-rich-text-block .rich-text-content ol {
	padding-left: 1.5rem;
	margin-bottom: 1.25rem;
}

.le-rich-text-block .rich-text-content ul {
	list-style-type: disc;
}

.le-rich-text-block .rich-text-content ol {
	list-style-type: decimal;
}

.le-rich-text-block .rich-text-content li {
	margin-bottom: 0.5rem;
}

.le-rich-text-block .rich-text-content li::marker {
	color: var(--color-secondary);
}

/* Inline */
.le-rich-text-block .rich-text-content strong {
	font-weight: 700;
}

.le-rich-text-block .rich-text-content em {
	font-style: italic;
}

/* Blockquote */
.le-rich-text-block .rich-text-content blockquote {
	border-left: 4px solid var(--color-primary);
	padding: 0.75rem 1.25rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: var(--color-gray, #7c7c7c);
}

/* HR */
.le-rich-text-block .rich-text-content hr {
	border: none;
	border-top: 1px solid var(--color-gray-light, #f0f0f0);
	margin: 2rem 0;
}
