/*
 * AIHIO articles: typography of the Gutenberg content (core block classes) on the dark theme.
 * Printed on article singles and article archives (includes/articles.php, wp_head 1001, after Copycat).
 * Scope: .aihio-artikkeli-sisalto = the Post Content widget of the Theme Builder single "Artikkeli – sivu".
 * Colours follow the site: text #eef2f4, body copy #d3dbdf, muted #9aa6ad, dim #6d7980, accent #03aac6, link #7de3f4.
 */

.aihio-artikkeli-sisalto {
	--a-text: #d3dbdf;
	--a-head: #eef2f4;
	--a-muted: #9aa6ad;
	--a-line: rgba(255, 255, 255, 0.1);
	--a-accent: #03aac6;
	--a-link: #7de3f4;
	--a-panel: #0f1316;
	color: var(--a-text);
	font-size: 1.0625rem;
	line-height: 1.75;
	overflow-wrap: break-word;
}
.aihio-artikkeli-sisalto > .elementor-widget-container,
.aihio-artikkeli-sisalto .elementor-widget-container {
	color: inherit;
}

/* ---------- rhythm ---------- */
.aihio-artikkeli-sisalto p,
.aihio-artikkeli-sisalto ul,
.aihio-artikkeli-sisalto ol,
.aihio-artikkeli-sisalto dl,
.aihio-artikkeli-sisalto figure,
.aihio-artikkeli-sisalto blockquote,
.aihio-artikkeli-sisalto table,
.aihio-artikkeli-sisalto details,
.aihio-artikkeli-sisalto pre {
	margin: 0 0 1.25em;
}
.aihio-artikkeli-sisalto > :first-child,
.aihio-artikkeli-sisalto .elementor-widget-container > :first-child {
	margin-top: 0;
}
/* a spacer block at the very top only pushed the text away from the old theme's title */
.aihio-artikkeli-sisalto > .wp-block-spacer:first-child,
.aihio-artikkeli-sisalto .elementor-widget-container > .wp-block-spacer:first-child { display: none; }
.aihio-artikkeli-sisalto > .wp-block-spacer:first-child + *,
.aihio-artikkeli-sisalto .elementor-widget-container > .wp-block-spacer:first-child + * { margin-top: 0; }
.aihio-artikkeli-sisalto > :last-child,
.aihio-artikkeli-sisalto .elementor-widget-container > :last-child {
	margin-bottom: 0;
}

/* ---------- headings ---------- */
.aihio-artikkeli-sisalto h1,
.aihio-artikkeli-sisalto h2,
.aihio-artikkeli-sisalto h3,
.aihio-artikkeli-sisalto h4,
.aihio-artikkeli-sisalto h5,
.aihio-artikkeli-sisalto h6 {
	color: var(--a-head);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.02em;
	margin: 2em 0 0.6em;
	overflow-wrap: break-word;
	hyphens: auto;
}
.aihio-artikkeli-sisalto h1,
.aihio-artikkeli-sisalto h2 { font-size: 1.8rem; }
.aihio-artikkeli-sisalto h3 { font-size: 1.4rem; margin-top: 1.75em; }
.aihio-artikkeli-sisalto h4 { font-size: 1.17rem; margin-top: 1.6em; }
.aihio-artikkeli-sisalto h5,
.aihio-artikkeli-sisalto h6 { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; }
.aihio-artikkeli-sisalto h2 + h3,
.aihio-artikkeli-sisalto h3 + h4 { margin-top: 0.8em; }

/* ---------- text ---------- */
.aihio-artikkeli-sisalto strong,
.aihio-artikkeli-sisalto b { color: var(--a-head); font-weight: 650; }
.aihio-artikkeli-sisalto a {
	color: var(--a-link);
	text-decoration: underline;
	text-decoration-color: rgba(125, 227, 244, 0.45);
	text-underline-offset: 3px;
	transition: color 0.15s, text-decoration-color 0.15s;
}
.aihio-artikkeli-sisalto a:hover,
.aihio-artikkeli-sisalto a:focus-visible { color: #b4f0fa; text-decoration-color: currentColor; }
.aihio-artikkeli-sisalto mark { background: rgba(3, 170, 198, 0.25); color: var(--a-head); padding: 0 0.15em; }
.aihio-artikkeli-sisalto code,
.aihio-artikkeli-sisalto kbd {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.88em;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 6px;
	padding: 0.1em 0.35em;
	color: var(--a-head);
}
.aihio-artikkeli-sisalto pre {
	background: var(--a-panel);
	border: 1px solid var(--a-line);
	border-radius: 12px;
	padding: 1em 1.2em;
	overflow-x: auto;
}
.aihio-artikkeli-sisalto pre code { background: none; padding: 0; }
.aihio-artikkeli-sisalto .has-large-font-size { font-size: 1.35rem; line-height: 1.5; }
.aihio-artikkeli-sisalto .has-medium-font-size { font-size: 1.15rem; }
.aihio-artikkeli-sisalto .has-small-font-size { font-size: 0.9rem; }

/* ---------- lists ---------- */
.aihio-artikkeli-sisalto ul,
.aihio-artikkeli-sisalto ol { padding-left: 1.4em; }
.aihio-artikkeli-sisalto li { margin: 0 0 0.45em; padding-left: 0.2em; }
.aihio-artikkeli-sisalto li > ul,
.aihio-artikkeli-sisalto li > ol { margin: 0.45em 0 0; }
.aihio-artikkeli-sisalto ul > li::marker { color: var(--a-accent); }
.aihio-artikkeli-sisalto ol > li::marker { color: var(--a-link); font-weight: 600; }

/* ---------- images, figures, captions ---------- */
.aihio-artikkeli-sisalto img,
.aihio-artikkeli-sisalto video,
.aihio-artikkeli-sisalto svg { max-width: 100%; height: auto; }
.aihio-artikkeli-sisalto .wp-block-image { margin: 2em 0; }
.aihio-artikkeli-sisalto .wp-block-image img { border-radius: 12px; }
.aihio-artikkeli-sisalto .wp-block-image.is-resized img,
.aihio-artikkeli-sisalto .wp-block-image img[style*="width"] { max-width: 100%; height: auto !important; }
.aihio-artikkeli-sisalto .wp-block-image.aligncenter,
.aihio-artikkeli-sisalto .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.aihio-artikkeli-sisalto .alignleft { float: left; margin: 0.3em 1.5em 1em 0; max-width: 50%; }
.aihio-artikkeli-sisalto .alignright { float: right; margin: 0.3em 0 1em 1.5em; max-width: 50%; }
.aihio-artikkeli-sisalto .alignwide,
.aihio-artikkeli-sisalto .alignfull { margin-left: 0; margin-right: 0; max-width: 100%; width: auto; }
.aihio-artikkeli-sisalto figcaption,
.aihio-artikkeli-sisalto .wp-element-caption {
	color: var(--a-muted);
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0.7em 0 0;
	text-align: center;
}
.aihio-artikkeli-sisalto::after { content: ""; display: table; clear: both; }

/* ---------- quotes ---------- */
.aihio-artikkeli-sisalto blockquote,
.aihio-artikkeli-sisalto .wp-block-quote {
	border-left: 3px solid var(--a-accent);
	margin: 2em 0;
	padding: 0.2em 0 0.2em 1.3em;
	color: var(--a-head);
	font-size: 1.12rem;
	font-style: normal;
}
.aihio-artikkeli-sisalto blockquote p:last-of-type { margin-bottom: 0.4em; }
.aihio-artikkeli-sisalto cite,
.aihio-artikkeli-sisalto blockquote cite {
	display: block;
	color: var(--a-muted);
	font-size: 0.875rem;
	font-style: normal;
	margin-top: 0.6em;
}
.aihio-artikkeli-sisalto .wp-block-pullquote {
	border: 0;
	border-top: 1px solid rgba(3, 170, 198, 0.45);
	border-bottom: 1px solid rgba(3, 170, 198, 0.45);
	margin: 2.4em 0;
	padding: 1.8em 0.5em;
	text-align: center;
	color: var(--a-head);
}
.aihio-artikkeli-sisalto .wp-block-pullquote blockquote {
	border: 0;
	margin: 0;
	padding: 0;
}
.aihio-artikkeli-sisalto .wp-block-pullquote p {
	font-size: 1.4rem;
	line-height: 1.45;
	font-weight: 600;
	letter-spacing: -0.01em;
}
.aihio-artikkeli-sisalto .wp-block-pullquote cite { text-transform: none; }

/* ---------- separator ---------- */
.aihio-artikkeli-sisalto hr,
.aihio-artikkeli-sisalto .wp-block-separator {
	border: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.12);
	margin: 2.6em auto;
	opacity: 1;
	width: 100%;
}
.aihio-artikkeli-sisalto .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { max-width: 120px; }
.aihio-artikkeli-sisalto .wp-block-separator.is-style-dots { background: none; height: auto; }

/* ---------- details (accordion) ---------- */
.aihio-artikkeli-sisalto .wp-block-details,
.aihio-artikkeli-sisalto details {
	background: var(--a-panel);
	border: 1px solid var(--a-line);
	border-radius: 14px;
	margin: 0 0 0.75em;
	padding: 0;
	overflow: hidden;
}
.aihio-artikkeli-sisalto details + :not(details) { margin-top: 1.6em; }
.aihio-artikkeli-sisalto details > summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	padding: 1.05em 3.2em 1.05em 1.3em;
	color: var(--a-head);
	font-weight: 600;
	line-height: 1.45;
}
.aihio-artikkeli-sisalto details > summary::-webkit-details-marker { display: none; }
.aihio-artikkeli-sisalto details > summary::after {
	content: "+";
	position: absolute;
	right: 1.2em;
	top: 50%;
	transform: translateY(-52%);
	font-size: 1.35em;
	font-weight: 400;
	color: var(--a-link);
	transition: transform 0.2s;
}
.aihio-artikkeli-sisalto details[open] > summary::after { transform: translateY(-52%) rotate(45deg); }
.aihio-artikkeli-sisalto details > summary:hover { color: var(--a-link); }
.aihio-artikkeli-sisalto details > summary:focus-visible { outline: 2px solid var(--a-accent); outline-offset: -2px; }
.aihio-artikkeli-sisalto details > :not(summary) { margin-left: 1.3em; margin-right: 1.3em; }
.aihio-artikkeli-sisalto details > summary + * { margin-top: 0.1em; }
.aihio-artikkeli-sisalto details > :last-child:not(summary) { margin-bottom: 1.2em; }
.aihio-artikkeli-sisalto details[open] > summary { border-bottom: 1px solid rgba(255, 255, 255, 0.06); margin-bottom: 1em; }

/* ---------- tables (core table block and plain tables of html blocks) ---------- */
.aihio-artikkeli-sisalto .wp-block-table { margin: 2em 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.aihio-artikkeli-sisalto table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94rem;
	line-height: 1.5;
	background: transparent;
}
.aihio-artikkeli-sisalto .wp-block-table table { margin: 0; }
.aihio-artikkeli-sisalto th,
.aihio-artikkeli-sisalto td,
.aihio-artikkeli-sisalto .wp-block-table th,
.aihio-artikkeli-sisalto .wp-block-table td {
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 0.7em 0.9em;
	text-align: left;
	vertical-align: top;
	color: var(--a-text);
	background: transparent;
}
.aihio-artikkeli-sisalto th,
.aihio-artikkeli-sisalto thead td { background: rgba(3, 170, 198, 0.12); color: var(--a-head); font-weight: 600; }
.aihio-artikkeli-sisalto tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.025); }
.aihio-artikkeli-sisalto .wp-block-table thead { border-bottom: 0; }
.aihio-artikkeli-sisalto .wp-block-table figcaption { text-align: left; }
@media (max-width: 767px) {
	.aihio-artikkeli-sisalto table:not(.wp-block-table table) { display: block; overflow-x: auto; }
	.aihio-artikkeli-sisalto th,
	.aihio-artikkeli-sisalto td { min-width: 8em; }
}

/* ---------- media & text, columns, group, cover ---------- */
.aihio-artikkeli-sisalto .wp-block-media-text { margin: 2.2em 0; gap: 0; }
.aihio-artikkeli-sisalto .wp-block-media-text .wp-block-media-text__media img { border-radius: 12px; }
.aihio-artikkeli-sisalto .wp-block-media-text .wp-block-media-text__content { padding: 0 0 0 1.8em; }
.aihio-artikkeli-sisalto .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { padding: 0 1.8em 0 0; }
.aihio-artikkeli-sisalto .wp-block-media-text__content > :first-child { margin-top: 0; }
.aihio-artikkeli-sisalto .wp-block-media-text__content > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
	.aihio-artikkeli-sisalto .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content,
	.aihio-artikkeli-sisalto .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content { padding: 1.2em 0 0; }
}
.aihio-artikkeli-sisalto .wp-block-columns { gap: 1.8em; margin: 2em 0; }
.aihio-artikkeli-sisalto .wp-block-column > :first-child { margin-top: 0; }
.aihio-artikkeli-sisalto .wp-block-column > :last-child { margin-bottom: 0; }
.aihio-artikkeli-sisalto .wp-block-group { margin: 2em 0; }
.aihio-artikkeli-sisalto .wp-block-group:empty { display: none; }
.aihio-artikkeli-sisalto .wp-block-cover { border-radius: 16px; overflow: hidden; margin: 2em 0; min-height: 320px; }
.aihio-artikkeli-sisalto .wp-block-cover p,
.aihio-artikkeli-sisalto .wp-block-cover h2,
.aihio-artikkeli-sisalto .wp-block-cover h3 { color: #fff; }

/* ---------- buttons (look of the site's .btn-primary / .btn-ghost) ---------- */
.aihio-artikkeli-sisalto .wp-block-buttons { gap: 12px; margin: 1.8em 0; }
.aihio-artikkeli-sisalto .wp-block-button { margin: 0; }
.aihio-artikkeli-sisalto .wp-block-button .wp-block-button__link,
.aihio-artikkeli-sisalto .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--a-accent);
	color: #04191d;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 14px 26px;
	font-size: 0.97rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: 0 8px 30px rgba(3, 170, 198, 0.28);
	transition: transform 0.18s, box-shadow 0.18s, background-color 0.18s;
}
.aihio-artikkeli-sisalto .wp-block-button__link:hover,
.aihio-artikkeli-sisalto .wp-block-button__link:focus-visible {
	background: #1dc3de;
	color: #04191d;
	transform: translateY(-1px);
	box-shadow: 0 10px 34px rgba(3, 170, 198, 0.38);
}
.aihio-artikkeli-sisalto .wp-block-button.is-style-outline .wp-block-button__link,
.aihio-artikkeli-sisalto .is-style-outline > .wp-block-button__link {
	background: rgba(255, 255, 255, 0.02);
	color: #eef2f4;
	border-color: rgba(255, 255, 255, 0.16);
	box-shadow: none;
}
.aihio-artikkeli-sisalto .wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--a-link); color: var(--a-link); }
.aihio-artikkeli-sisalto .wp-block-button__link:not([href]) { opacity: 0.6; cursor: default; }

/* ---------- embeds (responsive video) ---------- */
.aihio-artikkeli-sisalto .wp-block-embed { margin: 2em 0; }
.aihio-artikkeli-sisalto .wp-block-embed iframe { max-width: 100%; }
.aihio-artikkeli-sisalto .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.aihio-artikkeli-sisalto .wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	overflow: hidden;
	background: #000;
}
.aihio-artikkeli-sisalto .wp-embed-aspect-4-3 .wp-block-embed__wrapper { aspect-ratio: 4 / 3; }
.aihio-artikkeli-sisalto .wp-block-embed.is-type-video .wp-block-embed__wrapper::before,
.aihio-artikkeli-sisalto .wp-block-embed-youtube .wp-block-embed__wrapper::before { display: none; }
.aihio-artikkeli-sisalto .wp-block-embed.is-type-video iframe,
.aihio-artikkeli-sisalto .wp-block-embed-youtube iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.aihio-artikkeli-sisalto .wp-block-video video { width: 100%; border-radius: 14px; }

/* ---------- small screens ---------- */
@media (max-width: 767px) {
	.aihio-artikkeli-sisalto { font-size: 1rem; line-height: 1.7; }
	.aihio-artikkeli-sisalto h1,
	.aihio-artikkeli-sisalto h2 { font-size: 1.5rem; }
	.aihio-artikkeli-sisalto h3 { font-size: 1.25rem; }
	.aihio-artikkeli-sisalto .alignleft,
	.aihio-artikkeli-sisalto .alignright { float: none; margin: 1.5em auto; max-width: 100%; }
	.aihio-artikkeli-sisalto .wp-block-pullquote p { font-size: 1.2rem; }
	.aihio-artikkeli-sisalto .wp-block-button,
	.aihio-artikkeli-sisalto .wp-block-button .wp-block-button__link { max-width: 100%; white-space: normal; text-align: center; }
}

/* ---------- archive pagination (shortcode [aihio_sivutus]) ---------- */
.aihio-sivutus { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 48px 0 0; }
.aihio-sivutus .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.02);
	color: #eef2f4;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s;
}
.aihio-sivutus a.page-numbers:hover,
.aihio-sivutus a.page-numbers:focus-visible { border-color: #7de3f4; color: #7de3f4; }
.aihio-sivutus .page-numbers.current { background: #03aac6; border-color: #03aac6; color: #04191d; }
.aihio-sivutus .page-numbers.dots { border: 0; background: none; min-width: 0; padding: 0 4px; color: #6d7980; }
.aihio-sivutus .page-numbers.prev,
.aihio-sivutus .page-numbers.next { padding: 0 20px; }
