/* ============================================================
 * Text Block — a plain block of words / description.
 * ============================================================ */

.rally-text-block {
	padding-block: var(--rally-section-padding-y);
}

.rally-text-block--bg-white { background: var(--rally-white); }
.rally-text-block--bg-light { background: var(--rally-gray-light, #F5F5F5); }

/* Narrow keeps long copy at a comfortable reading measure. */
.rally-text-block--narrow .rally-text-block__text {
	max-width: 720px;
}

.rally-text-block--align-center .rally-text-block__text {
	margin-inline: auto;
	text-align: center;
}

.rally-text-block__text > *:first-child { margin-top: 0; }
.rally-text-block__text > *:last-child { margin-bottom: 0; }

.rally-text-block__text p,
.rally-text-block__text li {
	font-family: var(--rally-font-body);
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--rally-gray-dark, #1A1A1A);
}

.rally-text-block__text p { margin: 0 0 1.35rem; }

.rally-text-block__text h2,
.rally-text-block__text h3,
.rally-text-block__text h4 {
	font-family: var(--rally-font-heading);
	color: var(--rally-black);
	line-height: 1.15;
	letter-spacing: 0.02em;
}

.rally-text-block__text h2 { font-size: 1.9rem; margin: 2.2rem 0 0.9rem; }
.rally-text-block__text h3 { font-size: 1.45rem; margin: 1.8rem 0 0.7rem; }
.rally-text-block__text h4 { font-size: 1.22rem; margin: 1.5rem 0 0.6rem; }

.rally-text-block__text ul,
.rally-text-block__text ol { margin: 0 0 1.35rem; padding-left: 1.3rem; }
.rally-text-block__text li { margin-bottom: 0.5rem; }

.rally-text-block--align-center .rally-text-block__text ul,
.rally-text-block--align-center .rally-text-block__text ol { list-style-position: inside; padding-left: 0; }

.rally-text-block__text a {
	color: var(--rally-red);
	text-underline-offset: 3px;
}

.rally-text-block__text a:hover { text-decoration: none; }

.rally-text-block__text blockquote {
	margin: 1.6rem 0;
	padding: 0.4rem 0 0.4rem 1.15rem;
	border-left: 4px solid var(--rally-red);
	font-size: 1.15rem;
	line-height: 1.6;
	color: var(--rally-black);
}

.rally-text-block__text blockquote p:last-child { margin-bottom: 0; }
