.tooto-article {
	--tooto-article-accent: #f33030;
	--tooto-article-border: #e4e4e4;
}

.tooto-article__content {
	--tooto-article-paragraph-gap: 32px;
	--tooto-article-heading-gap: 8px;
	overflow-wrap: anywhere;
}

.tooto-article__content :where(p, ul, ol, blockquote, figure, pre, table) {
	margin-block: 0 var(--tooto-article-paragraph-gap);
}

.tooto-article__content :where(h2, h3, h4, h5, h6) {
	margin-block: 0 var(--tooto-article-heading-gap);
	scroll-margin-block-start: 120px;
}

.tooto-article__content > :last-child,
.tooto-article__content > .elementor-widget-container > :last-child {
	margin-bottom: 0;
}

.tooto-article__content img {
	max-width: 100%;
	height: auto;
}

.tooto-article__content .wp-block-image.size-large img { width: 100%; }

.tooto-article__content :where(pre, .wp-block-table) {
	max-width: 100%;
	overflow-x: auto;
}

.tooto-article__content table {
	width: 100%;
	table-layout: fixed;
}

.tooto-article__toc .elementor-toc__header {
	margin-bottom: 16px;
	border-left: 4px solid var(--tooto-article-accent);
	padding-left: 11px;
}

.tooto-article__toc .elementor-toc__body > .elementor-toc__list-wrapper { margin: 0; }
.tooto-article__toc .elementor-toc__list-item { margin-bottom: 0; }
.tooto-article__toc .elementor-toc__list-item-text-wrapper { align-items: baseline; }

.tooto-article__share .elementor-share-btn {
	width: 40px;
	border: 1px solid var(--tooto-article-border);
	border-radius: 8px;
}

.tooto-article :where(a, button, [role="button"]):focus-visible {
	outline: 2px solid var(--tooto-article-accent);
	outline-offset: 4px;
}

.tooto-article__subscribe .ff-t-container { gap: 4px; }
.tooto-article__subscribe .ff-t-cell { min-width: 0; padding: 0; }
.tooto-article__subscribe .ff-t-column-1 { flex: 1 1 0; }
.tooto-article__subscribe .ff-t-column-2 { flex: 0 0 107px; }
.tooto-article__subscribe .ff-btn-submit { min-height: 36px; }
.tooto-article__subscribe .error { white-space: normal; position: absolute }

@media (prefers-reduced-motion: reduce) {
	.tooto-article :where(a, button) { transition: none; }
}

.tooto-article__back .elementor-button-icon {
	width: 15px;
	height: 12px;
	transform: rotate(180deg);
}
.tooto-article__back .elementor-button-icon svg { width: 100%; height: 100%; }

/* Inline button/image baselines must not add a second, inherited text line. */
.tooto-article__back,
.tooto-article__date .elementor-widget-image { line-height: 0; }
.tooto-article__back .elementor-button-content-wrapper { align-items: center; }
