/**
 * MEXTURA legal pages, mobile first.
 *
 * The presentation is reusable by future legal templates while the legal
 * content remains editable in WordPress through the post-content block.
 */

.mextura-legal-page {
	margin-block-start: 0 !important;
	overflow: clip;
}

.mextura-legal-page > * {
	margin-block-start: 0;
}

.mextura-legal-page__header {
	position: relative;
	isolation: isolate;
	padding-top: clamp(3.25rem, 8vw, 6rem);
	padding-bottom: clamp(2.25rem, 5vw, 3.75rem);
	overflow: hidden;
}

.mextura-legal-page__header::after {
	position: absolute;
	right: clamp(-5rem, -6vw, -2rem);
	bottom: -6rem;
	z-index: -1;
	width: clamp(9rem, 20vw, 16rem);
	height: clamp(9rem, 20vw, 16rem);
	background: rgba(22, 143, 163, 0.12);
	content: "";
	transform: rotate(45deg);
}

.mextura-legal-page__title {
	margin-top: 0;
	margin-bottom: 0;
	text-wrap: balance;
}

.mextura-legal-page__body {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 8vw, 6rem);
}

.mextura-legal-page__content {
	max-width: 54rem;
	margin-inline: auto;
}

.mextura-legal-page__content > :first-child {
	margin-top: 0;
}

.mextura-legal-page__content > :last-child {
	margin-bottom: 0;
}

.mextura-legal-page__content :where(h2, h3) {
	text-wrap: balance;
}

.mextura-legal-page__content h2 {
	margin-top: clamp(2.5rem, 6vw, 4rem);
	margin-bottom: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--neutral-100);
}

.mextura-legal-page__content h3 {
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.mextura-legal-page__content :where(p, li) {
	color: var(--wp--preset--color--slate);
}

.mextura-legal-page__content :where(ul, ol) {
	padding-inline-start: 1.35rem;
}

.mextura-legal-page__content li + li {
	margin-top: 0.55rem;
}

.mextura-legal-page__content a {
	color: var(--wp--preset--color--petrol-dark);
	font-weight: 650;
}

.mextura-legal-page__content :where(.wp-block-table, .wp-block-quote) {
	margin-block: 2rem;
}

.mextura-legal-page__content .wp-block-table {
	overflow-x: auto;
}

.mextura-legal-page__content .wp-block-table table {
	min-width: 36rem;
	border-collapse: collapse;
}

.mextura-legal-page__content .wp-block-table :where(th, td) {
	padding: 0.75rem;
	border: 1px solid var(--wp--preset--color--neutral-100);
	text-align: left;
	vertical-align: top;
}

.mextura-legal-page__content .wp-block-quote {
	padding: 1.25rem 1.5rem;
	border-left: 0.25rem solid var(--wp--preset--color--petrol);
	background: var(--wp--preset--color--neutral-50);
}

@media (min-width: 48rem) {
	.mextura-legal-page__content h2 {
		padding-top: 1.5rem;
	}
}
