/*
 * Rich-text blocks that the WordPress site styled with the block library CSS
 * (galleries, columns, media & text, embeds). The theme's .rich-text rules cover the rest.
 */

.rich-text .pt-image img,
.rich-text .pt-gallery img {
	width: 100%;
	height: auto;
}
.rich-text .pt-image.aligncenter,
.rich-text .pt-image.alignwide,
.rich-text .pt-image.alignfull {
	margin-left: auto;
	margin-right: auto;
}
.rich-text .pt-image.alignleft {
	float: left;
	max-width: 50%;
	margin: 0 24px 16px 0;
}
.rich-text .pt-image.alignright {
	float: right;
	max-width: 50%;
	margin: 0 0 16px 24px;
}

/* Gallery: a grid like WordPress's default columns gallery */
.rich-text .pt-gallery {
	display: grid;
	grid-template-columns: repeat(var(--gallery-columns, 3), minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 30px;
}
.rich-text .pt-gallery.columns-1 { --gallery-columns: 1; }
.rich-text .pt-gallery.columns-2 { --gallery-columns: 2; }
.rich-text .pt-gallery.columns-3 { --gallery-columns: 3; }
.rich-text .pt-gallery.columns-4 { --gallery-columns: 4; }
.rich-text .pt-gallery.columns-5 { --gallery-columns: 5; }
.rich-text .pt-gallery.columns-6 { --gallery-columns: 6; }
.rich-text .pt-gallery > figure {
	margin: 0;
}
.rich-text .pt-gallery.is-cropped img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
@media (max-width: 600px) {
	.rich-text .pt-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Columns and media & text */
.rich-text .pt-columns {
	display: flex;
	gap: 32px;
	margin: 0 0 30px;
}
.rich-text .pt-column {
	flex: 1 1 0;
	min-width: 0;
}
.rich-text .pt-column > :last-child {
	margin-bottom: 0;
}
@media (max-width: 781px) {
	.rich-text .pt-columns {
		flex-direction: column;
		gap: 16px;
	}
}

/* EmDash's own renderers (embeds, buttons, pull quotes, tables) */
.rich-text .emdash-embed {
	margin: 0 0 30px;
}
.rich-text .emdash-embed-video {
	position: relative;
	aspect-ratio: 16 / 9;
}
.rich-text .emdash-embed-video iframe,
.rich-text .emdash-embed-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.rich-text .emdash-pullquote {
	margin: 0 0 30px;
	color: #6649b9;
}
.rich-text .emdash-table table,
.rich-text table.pt-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 30px;
}
.rich-text td,
.rich-text th {
	border: 1px solid #e3e1ea;
	padding: 8px 12px;
	text-align: left;
}

/* Plain pages (privacy policy etc.) had no styled template in WordPress */
.page-default {
	padding: 160px 0 80px;
}
.page-default .posts-box__title {
	margin-bottom: 40px;
}
