.vnn-vertical-writing {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: fit-content;
	min-width: 0;
	max-width: 100% !important;
	min-height: 12em;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 0;
	color: inherit;
}

.vnn-vertical-writing.is-vnn-align-center { justify-content: center; }
.vnn-vertical-writing.is-vnn-align-bottom { justify-content: flex-end; }

.vnn-vertical-heading {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .08em;
}

.vnn-vertical-paragraph {
	line-height: 2;
	letter-spacing: .04em;
}

.vnn-vertical-writing .vnn-vertical-writing__content {
	box-sizing: border-box;
	display: block;
	width: auto;
	max-width: none !important;
	max-height: min(70vh, 36em);
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: start;
	text-indent: 0;
	text-orientation: mixed;
	text-transform: none;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	writing-mode: vertical-rl;
}

.vnn-vertical-paragraph .vnn-vertical-writing__content {
	text-align: justify;
}

.vnn-vertical-writing ruby {
	ruby-align: center;
	ruby-position: over;
}

.vnn-vertical-writing rt {
	font-size: .5em;
	line-height: 1;
}

.wp-block-group.is-layout-flex.is-vnn-row-reverse,
.wp-block-group.is-vnn-row-reverse {
	flex-direction: row-reverse !important;
}

@media (max-width: 960px) {
	.wp-block-group.is-layout-flex.has-vnn-stack-tablet {
		flex-direction: column !important;
	}
}

@media (max-width: 719px) {
	.wp-block-group.is-layout-flex.has-vnn-stack-mobile {
		flex-direction: column !important;
	}

	.wp-block-group.is-layout-flex.has-vnn-row-mobile {
		flex-direction: row !important;
	}

	.wp-block-group.has-vnn-row-mobile.is-vnn-row-reverse {
		flex-direction: row-reverse !important;
	}
}

@media (max-width: 960px) {
	.vnn-vertical-writing.has-vnn-horizontal-tablet {
		min-height: 0;
	}

	.vnn-vertical-writing.has-vnn-horizontal-tablet .vnn-vertical-writing__content {
		width: auto;
		max-width: 100%;
		max-height: none;
		text-orientation: mixed;
		writing-mode: horizontal-tb;
	}
}

@media (max-width: 719px) {
	.vnn-vertical-writing.has-vnn-horizontal-mobile {
		min-height: 0;
	}

	.vnn-vertical-writing.has-vnn-vertical-mobile {
		min-height: 12em;
	}

	.vnn-vertical-writing.has-vnn-horizontal-mobile .vnn-vertical-writing__content {
		width: auto;
		max-width: 100%;
		max-height: none;
		text-orientation: mixed;
		writing-mode: horizontal-tb;
	}

	.vnn-vertical-writing.has-vnn-vertical-mobile .vnn-vertical-writing__content {
		width: auto;
		max-width: none !important;
		max-height: min(70vh, 36em);
		text-orientation: mixed;
		writing-mode: vertical-rl;
	}
}
