/*
 * Page, post and archive templates: markup that WordPress, SEOPress or pasted content
 * renders, which utilities cannot reach.
 */

.site-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}
.site-breadcrumbs__list > li + li::before {
	content: "/" / "";
	margin-inline: 5px;
}
.site-breadcrumbs a { color: var(--wp--preset--color--accent); }
.site-breadcrumbs__item--current { color: var(--wp--preset--color--muted); }

/* Long Finnish compounds at heading sizes overflow 390. */
.site-content :is(h1, h2, h3, h4, h5, h6) { overflow-wrap: break-word; }

/* Pasted `core/html` pages set a system font stack inline; `!important` is the only way past inline styles. */
.site-content [class*="solis-"][class$="-wrap"],
.site-content [class*="solis-"][class$="-wrap"] * {
	font-family: inherit !important;
}
/* `:root` outranks the `.svp.svp` cap in the client's pasted `<style>`; since #33 C14 pages wrap these in a Group. */
:root :is(.site-content, .wp-block-group) > :is([class*="solis-"][class$="-wrap"], .svp, .post-password-form) {
	max-width: var(--prose-cap);
}
.site-content .svp :is(h1, h2, h3, h4) { color: var(--wp--preset--color--foreground); }
/* WS Form's grid relies on negative margins wider than its parent. */
.site-content [class*="solis-"][class$="-wrap"] :not(.wsf-form *) {
	max-width: 100%;
	overflow-wrap: anywhere;
}
.site-content [class*="solis-"][class$="-wrap"] table {
	display: block;
	overflow-x: auto;
}

/* Legacy floated logo pairs (home): float from the content column's edge, cleared before the next block. */
/* `!important` beats the content column's `margin-inline: auto !important` on figures. */
:root .wp-block-group > .alignleft { margin: 9px 18px 9px 0 !important; }
:root .wp-block-group > .alignleft:not(.alignleft + .alignleft) { margin-left: max(0px, (100% - var(--prose-cap)) / 2) !important; }
.wp-block-group:has(> .alignleft)::after {
	content: "";
	display: block;
	clear: both;
}

.post-password-form > p:last-child {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
}
.post-password-form label {
	display: flex;
	flex: 1 1 200px;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
	color: var(--wp--preset--color--muted);
}
.post-password-form input[type="password"] {
	width: 100%;
	height: 50px;
	padding-inline: 15px;
	border: 1px solid var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--foreground);
}
.post-password-form input[type="submit"] {
	height: 50px;
	padding-inline: 50px;
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
	font-weight: 600;
	letter-spacing: 0.5px;
	cursor: pointer;
}
.post-password-form input[type="submit"]:is(:hover, :focus-visible) { text-decoration: underline; }

/* Single post / artikkeli: 880 container, 800 text column. */
.site-content--article {
	--wp--style--global--content-size: 880px;
	--prose-cap: 800px;
	overflow-wrap: break-word;
}
.site-content--article > :is(ul, ol):not([class]) { padding-left: 1em; }
.site-content--article > ul:not([class]) { list-style: disc; }
.site-content--article > ol:not([class]) { list-style: decimal; }
.site-content--article :is(iframe, .wp-caption) { max-width: 100%; }
.site-content--article .wp-caption-text { font-size: var(--wp--preset--font-size--caption); }
.site-content--article .alignleft { float: left; margin: 0.5em 1.5em 1em 0; }
.site-content--article .alignright { float: right; margin: 0.5em 0 1em 1.5em; }
.site-content--article .aligncenter { display: block; margin-inline: auto; }

@media (max-width: 478.98px) {
	.site-content--article :is(.alignleft, .alignright) { float: none; margin-inline: 0; }
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 20px;
	font-size: var(--wp--preset--font-size--body);
}
.pagination a:is(:hover, :focus-visible) { color: var(--wp--preset--color--accent); text-decoration: underline; }
.pagination .current { font-weight: 700; }
