/*
Theme Name: MK
Theme URI: https://mkasperczyk.com
Author: Michał Kasperczyk
Description: Lightweight custom block theme for mkasperczyk.com — a from-scratch rebuild of the previous Maktub look with zero jQuery and minimal CSS.
Version: 1.2.3
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mk
*/

/* ===== Fonts (self-hosted) ===== */
@font-face {
	font-family: 'Josefin Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/josefin-sans-v34-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Josefin Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/josefin-sans-v34-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Josefin Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/josefin-sans-v34-latin_latin-ext-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/source-serif-4-v14-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/source-serif-4-v14-latin_latin-ext-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/source-serif-4-v14-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/source-serif-4-v14-latin_latin-ext-700.woff2') format('woff2');
}

/* ===== Brand logo ===== */
.mk-logo a {
	display: inline-block; /* ::first-letter only works on block containers */
	text-decoration: none;
	color: var(--wp--preset--color--titles);
}
.mk-logo .mk-logo-accent,
.mk-logo a::first-letter {
	color: var(--wp--preset--color--primary);
}

/* ===== Header nav ===== */
/* the #Tag submenu toggle is a <button>, not <a> — style both identically */
.mk-nav a,
.mk-nav button.wp-block-navigation-submenu__toggle {
	text-decoration: none;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--wp--preset--color--titles);
	position: relative;
	padding: 0 0 .3em;
	background: none;
	border: none;
	cursor: pointer;
}
.mk-nav a:hover,
.mk-nav button.wp-block-navigation-submenu__toggle:hover {
	color: var(--wp--preset--color--primary);
}
/* animated underline on nav links */
.mk-nav .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	left: 0; bottom: 0;
	width: 100%; height: 2px;
	background: var(--wp--preset--color--primary);
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
.mk-nav .wp-block-navigation-item__content:hover::after,
.mk-nav .current-menu-item .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}
/* dropdown submenu as a card */
.mk-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: none !important;
	border-radius: 6px;
	box-shadow: 0 12px 32px rgba(69, 67, 96, .16);
	padding: .5rem 0 !important;
	min-width: 180px;
}
.mk-nav .wp-block-navigation__submenu-container a {
	padding: .55rem 1.2rem .4rem !important;
	font-size: .85rem;
	/* core defaults submenu links to near-black (higher specificity, so
	   !important); set our own so they read on the white card in light mode
	   and on the dark card in dark mode */
	color: var(--wp--preset--color--titles) !important;
}
.mk-nav .wp-block-navigation__submenu-container a::after { content: none; }
.mk-nav .wp-block-navigation__submenu-container a:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* inside the mobile overlay the submenu is part of a full-screen menu —
   flatten the dropdown card look */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	box-shadow: none;
	border-radius: 0;
	padding: .2rem 0 .6rem !important;
	min-width: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a {
	font-size: .95rem;
	color: var(--wp--preset--color--text);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a:hover {
	background: transparent;
	color: var(--wp--preset--color--primary);
}

/* keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ===== Post cards (home / archives) ===== */
.mk-card {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(69, 67, 96, .08);
	transition: box-shadow .25s ease, transform .25s ease;
}
.mk-card:hover {
	box-shadow: 0 16px 40px rgba(69, 67, 96, .14);
	transform: translateY(-2px);
}
.mk-card .wp-block-post-title a {
	text-decoration: none;
	color: var(--wp--preset--color--titles);
	background-image: linear-gradient(var(--wp--preset--color--secondary), var(--wp--preset--color--secondary));
	background-repeat: no-repeat;
	background-size: 0% 30%;
	background-position: 0 88%;
	transition: background-size .3s ease;
}
.mk-card .wp-block-post-title a:hover {
	background-size: 100% 30%;
}
/* dark mode: the aqua highlighter clashes with the dark card and dims the
   light title text — drop it and just tint the title like every other link */
:root[data-theme="dark"] .mk-card .wp-block-post-title a { background-image: none; }
:root[data-theme="dark"] .mk-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.mk-card .wp-block-post-featured-image img {
	border-radius: 6px;
	object-fit: cover;
}

/* ===== Listing thumbnail (mk/list-image) ===== */
.mk-list-image { display: block; text-decoration: none; }
.mk-list-media {
	display: block;
	width: 100%;
	height: auto; /* neutralize the img height attribute so aspect-ratio governs */
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 6px;
}
.mk-list-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background:
		linear-gradient(135deg,
			hsl(var(--ph-hue, 240) 34% 24%),
			hsl(calc(var(--ph-hue, 240) + 40) 38% 15%));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}
.mk-list-ph-glyph {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: clamp(1.5rem, 5vw, 2.3rem);
	letter-spacing: .04em;
	color: hsl(var(--ph-hue, 240) 82% 80%);
}

/* Post meta line (read time, comments — dash-separated flex row) */
.mk-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	align-items: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .8rem;
	letter-spacing: .03em;
	color: var(--wp--preset--color--text);
	text-transform: uppercase;
}
.mk-meta > *::after {
	content: '—';
	margin-left: .8rem;
	color: var(--wp--preset--color--border);
}
.mk-meta > *:last-child::after { content: none; }
.mk-read-time, .mk-comment-count { white-space: nowrap; }
.mk-meta a { color: inherit; text-decoration: none; }
.mk-meta a:hover { color: var(--wp--preset--color--primary); }

/* Tag pills */
.mk-tags a, .wp-block-post-terms a, .wp-block-tag-cloud a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .72rem !important;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--titles);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	padding: .35em .7em .25em;
	margin: 0 .35em .5em 0;
	transition: all .2s ease;
}
.mk-tags a::before, .wp-block-post-terms a::before, .wp-block-tag-cloud a::before {
	content: '#';
	color: var(--wp--preset--color--primary);
	margin-right: .15em;
}
.mk-tags a:hover, .wp-block-post-terms a:hover, .wp-block-tag-cloud a:hover {
	background: var(--wp--preset--color--titles);
	border-color: var(--wp--preset--color--titles);
	color: #fff;
}
.wp-block-post-terms { box-shadow: none !important; }
.wp-block-post-terms .wp-block-post-terms__separator { display: none; }

/* Continue reading button */
.wp-block-read-more,
.wp-block-button__link {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .8rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--wp--preset--color--titles);
	border-radius: 4px;
	padding: .9em 1.6em .7em;
	display: inline-block;
	transition: background .2s ease;
}
.wp-block-read-more:hover,
.wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
/* on list cards the CTA is a quiet text link, not a button — one loud
   element per card is enough and the title is already the main link */
.wp-block-read-more.mk-more {
	background: none;
	color: var(--wp--preset--color--primary);
	padding: 0;
	border-radius: 0;
	white-space: nowrap;
}
.wp-block-read-more.mk-more::after {
	content: '\2192';
	display: inline-block;
	margin-left: .4em;
	transition: transform .2s ease;
}
.wp-block-read-more.mk-more:hover {
	background: none;
	color: var(--wp--preset--color--titles);
}
.wp-block-read-more.mk-more:hover::after { transform: translateX(4px); }

/* ===== Sidebar ===== */
.mk-widget {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(69, 67, 96, .08);
}
.mk-widget-title {
	position: relative;
	padding-bottom: .5em;
}
.mk-widget-title::after {
	content: '';
	position: absolute;
	left: 0; bottom: 0;
	width: 2.2em; height: 3px;
	background: var(--wp--preset--color--primary);
	border-radius: 2px;
}
.mk-widget .wp-block-latest-posts { list-style: none; padding-left: 0; }
.mk-widget .wp-block-latest-posts li { margin-bottom: 1em; }
.mk-widget .wp-block-latest-posts a {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.35;
	text-decoration: none;
	color: var(--wp--preset--color--titles);
}
.mk-widget .wp-block-latest-posts a:hover { color: var(--wp--preset--color--primary); }
.mk-widget .wp-block-latest-posts__post-date {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--wp--preset--color--text);
	margin-top: .25em;
}

/* the last sidebar widget follows the reader once the rest scrolls away:
   the TOC on single posts, the tag cloud on listings (mk/toc renders
   nothing there, so :last-child falls through) */
/* sticky children stick only within their parent — stretch the wrapper chain
   (column → .wp-block-template-part → .mk-sidebar) to the full column height
   or the widget stops following as soon as its own parent ends */
.wp-block-column:has(.mk-sidebar) {
	display: flex;
	flex-direction: column;
}
.wp-block-column > .wp-block-template-part:has(.mk-sidebar) {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
}
.mk-sidebar { flex: 1 0 auto; }
.mk-sidebar > :last-child {
	position: sticky;
	top: 1.5rem;
}
@media (max-width: 781px) {
	/* columns stack here — a sticky widget would ride over the footer */
	.mk-sidebar > :last-child { position: static; }
}

/* ===== Table of contents (mk/toc) ===== */
.mk-toc {
	padding: 1.6rem;
	/* keep a long TOC usable while pinned */
	max-height: calc(100vh - 3rem);
	overflow-y: auto;
}
.mk-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--heading);
}
.mk-toc-list a {
	display: block;
	padding: .35rem .8rem .25rem;
	border-left: 2px solid var(--wp--preset--color--border);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	color: var(--wp--preset--color--text);
	transition: color .15s ease, border-color .15s ease;
}
.mk-toc-l3 a {
	padding-left: 1.7rem;
	font-weight: 400;
	font-size: .8rem;
}
.mk-toc-list a:hover { color: var(--wp--preset--color--primary); }
.mk-toc-list a.is-active {
	color: var(--wp--preset--color--primary);
	border-left-color: var(--wp--preset--color--primary);
}

/* anchor jumps: land with breathing room, scroll smoothly when allowed */
.mk-prose h2, .mk-prose h3 { scroll-margin-top: 1.5rem; }
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* ===== Single post ===== */
.mk-prose {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.06rem;
	line-height: 1.85;
}
.mk-prose a { color: var(--wp--preset--color--primary); text-decoration-thickness: 1px; }
.mk-prose a:hover { color: var(--wp--preset--color--black); }
.mk-prose h2, .mk-prose h3, .mk-prose h4 { margin-top: 1.8em; }
.mk-prose blockquote {
	border-left: 4px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
	padding: 1.2em 1.6em;
	border-radius: 0 6px 6px 0;
	font-style: italic;
}
.mk-prose blockquote p { margin: 0; }
.mk-prose figcaption {
	text-align: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .8rem;
	color: var(--wp--preset--color--text);
}
.mk-prose img { border-radius: 6px; height: auto; }
.mk-prose pre {
	border-radius: 6px;
	overflow-x: auto;
	font-size: .88rem;
	line-height: 1.6;
}
.mk-prose :not(pre) > code {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 3px;
	padding: .1em .35em;
	font-size: .88em;
	color: var(--wp--preset--color--black);
}

/* ===== Comments (compact) ===== */
.mk-comments {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(69, 67, 96, .08);
	padding: 1.8rem 2rem;
	font-size: .92rem;
}
.mk-comments .wp-block-comments-title,
.mk-comments .comment-reply-title {
	font-size: 1.02rem;
	margin: 0 0 1.4rem;
}
.mk-comment-row {
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.mk-comments .wp-block-comment-template > li:last-child .mk-comment-row {
	border-bottom: none;
	margin-bottom: 0 !important;
	padding-bottom: 0;
}
.mk-comments .wp-block-comment-content p { margin: .4rem 0; line-height: 1.65; }
.mk-comments .wp-block-comment-reply-link a {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--primary);
}
.mk-comments .wp-block-comment-date { color: var(--wp--preset--color--text); }

/* comment form: 2-col grid, no URL field, small right-aligned submit */
#commentform {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .9rem 1rem;
	margin-top: .5rem;
}
#commentform > * { margin: 0; }
#commentform .comment-notes,
#commentform .comment-form-comment,
#commentform .comment-form-cookies-consent,
#commentform .form-submit,
#commentform .logged-in-as,
#commentform .mk-turnstile { grid-column: 1 / -1; }
#commentform .comment-form-url { display: none; }
#commentform .comment-notes { font-size: .78rem; color: var(--wp--preset--color--text); }
#commentform label {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .75rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--wp--preset--color--titles);
	margin-bottom: .3rem;
}
#commentform .comment-form-cookies-consent { display: flex; align-items: baseline; gap: .5rem; }
#commentform .comment-form-cookies-consent label {
	display: inline;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: .78rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--text);
}
#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea {
	width: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--body);
	font-size: .92rem;
	color: var(--wp--preset--color--black);
	padding: .65em .9em;
	transition: border-color .2s ease, box-shadow .2s ease;
}
#commentform textarea { min-height: 110px; resize: vertical; }
#commentform input:focus, #commentform textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 76, 96, .12);
}
#commentform .form-submit { text-align: right; }
#commentform input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .78rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: .8em 1.8em .65em;
	cursor: pointer;
	transition: background .2s ease;
}
#commentform input[type="submit"]:hover { background: var(--wp--preset--color--titles); }
@media (max-width: 600px) {
	#commentform { grid-template-columns: 1fr; }
	.mk-comments { padding: 1.3rem; }
}

/* ===== Footer ===== */
.mk-footer a { color: #cfcde4; text-decoration: none; transition: color .2s ease; }
.mk-footer a:hover { color: #fff; }
.mk-footer .mk-widget-title {
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .85rem !important;
}
.mk-footer .wp-block-latest-posts a { color: #cfcde4; }
.mk-footer .wp-block-latest-posts a:hover { color: #fff; }
/* #b3b0d4 on #37354F ≈ 5.2:1 — WCAG AA (was #8c89ad ≈ 2.9:1) */
.mk-footer .wp-block-latest-posts__post-date { color: #b3b0d4; }
.mk-footer .wp-block-tag-cloud a { color: #cfcde4; border-color: #5a5878; }
.mk-footer .wp-block-tag-cloud a:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
.mk-footer .mk-logo a { color: #fff; }
.mk-footer .mk-logo a:hover { color: #fff; }

/* ===== Social icons ===== */
.wp-block-social-links .wp-social-link a { color: #fff; }

/* ===== Search (pink round button like the original) ===== */
.wp-block-search__button {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 50% !important;
	width: 42px;
	height: 42px;
	min-width: 42px;
	padding: 0 !important;
	margin: 0;
	aspect-ratio: 1 / 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.wp-block-search__button svg { width: 18px; height: 18px; }
/* expandable variant: keep the collapsed state a clean circle */
.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper {
	border: none;
	padding: 0;
}
.wp-block-search__button:hover { background: var(--wp--preset--color--titles); }
.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--heading);
}

/* Footer body text */
.mk-footer p { color: #cfcde4; }

/* ===== Search: header button + full-screen overlay ===== */
.mk-search-open {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.mk-search-open:hover { background: var(--wp--preset--color--titles); transform: scale(1.06); }

#mk-search {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(249, 249, 254, .97);
	backdrop-filter: blur(6px);
	overflow-y: auto;
	opacity: 0;
	transition: opacity .3s ease;
}
#mk-search.is-open { opacity: 1; }
.mk-search-inner {
	max-width: 620px;
	margin: 20vh auto 0;
	padding: 0 1.5rem 4rem;
	transform: translateY(16px);
	transition: transform .35s ease;
}
#mk-search.is-open .mk-search-inner { transform: none; }
#mk-search input[type="search"] {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 3px solid var(--wp--preset--color--titles);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--titles);
	padding: .4em 0;
	transition: border-color .25s ease;
}
#mk-search input[type="search"]:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--primary);
}
#mk-search input[type="search"]::placeholder { color: #b6b3cf; }
.mk-search-label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 2.5rem 0 1rem;
}
.mk-search-close {
	position: absolute;
	top: 1.6rem;
	right: 1.6rem;
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 50%;
	background: #fff;
	color: var(--wp--preset--color--titles);
	box-shadow: 0 6px 20px rgba(69, 67, 96, .15);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: color .2s ease, transform .2s ease;
}
.mk-search-close:hover { color: var(--wp--preset--color--primary); transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) {
	#mk-search, .mk-search-inner, .mk-search-close, .mk-search-open { transition: none; }
}

/* ===== Cookie notice (theme-native, replaces CookieYes) ===== */
#mk-cookie {
	position: fixed;
	left: 1.2rem;
	bottom: 1.2rem;
	z-index: 999;
	max-width: 340px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 16px 48px rgba(69, 67, 96, .25);
	padding: 1.2rem 1.4rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .85rem;
	line-height: 1.55;
}
#mk-cookie p { margin: 0 0 .9rem; color: var(--wp--preset--color--text); }
#mk-cookie a { color: var(--wp--preset--color--primary); }
.mk-cookie-actions { display: flex; gap: .6rem; justify-content: flex-end; }
.mk-cookie-actions button {
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	border: 1px solid var(--wp--preset--color--border);
	background: #fff;
	color: var(--wp--preset--color--text);
	border-radius: 4px;
	padding: .55em 1.1em .4em;
	cursor: pointer;
	transition: all .2s ease;
}
.mk-cookie-actions button:hover { border-color: var(--wp--preset--color--titles); color: var(--wp--preset--color--titles); }
.mk-cookie-actions .mk-cookie-accept {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}
.mk-cookie-actions .mk-cookie-accept:hover { background: var(--wp--preset--color--titles); border-color: var(--wp--preset--color--titles); color: #fff; }
@media (max-width: 480px) {
	#mk-cookie { left: .8rem; right: .8rem; max-width: none; }
}

/* ===== Pagination ===== */
.wp-block-query-pagination a, .wp-block-query-pagination-numbers .page-numbers {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--titles);
	background: #fff;
	border-radius: 4px;
	padding: .55em .9em .4em;
	box-shadow: 0 4px 14px rgba(69,67,96,.08);
}
.wp-block-query-pagination a:hover,
.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* ===== Related articles ===== */
.mk-related { margin-top: 2.5rem; }
.mk-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 1.2rem;
}
.mk-related-card { padding: 1.2rem; }
.mk-related-card img,
.mk-related-card .mk-list-media {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: 6px;
}
.mk-related-card h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .95rem;
	line-height: 1.35;
	margin: .8rem 0 .4rem;
}
.mk-related-card h3 a {
	text-decoration: none;
	color: var(--wp--preset--color--titles);
}
.mk-related-card h3 a:hover { color: var(--wp--preset--color--primary); }
.mk-related-card .mk-meta { font-size: .72rem; }
@media (max-width: 781px) {
	.mk-related-grid { grid-template-columns: 1fr; }
}

/* ===== Header social icons (slightly larger than default small) ===== */
.mk-header-social .wp-social-link svg { width: 22px; height: 22px; }
.mk-header-social .wp-social-link { transition: transform .2s ease; }
.mk-header-social .wp-social-link:hover { transform: translateY(-2px); }

/* ===== Newsletter band (footer) ===== */
.mk-newsletter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2.5rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}
.mk-newsletter-copy h2 { margin: 0 0 .4rem; }
.mk-newsletter-sub { color: #b3b0d4 !important; font-size: .9rem; margin: 0; }
.mk-newsletter-form { flex: 1 1 380px; max-width: 480px; }
.mk-newsletter-form .wpcf7 p {
	display: flex;
	gap: .6rem;
	margin: 0;
}
.mk-newsletter-form .wpcf7-form-control-wrap { flex: 1; }
/* validation tip must not add row height — overlay it under the input
   (.wpcf7-form-control-wrap is position:relative in CF7's stylesheet) */
.mk-newsletter-form .wpcf7-not-valid-tip {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: .3rem;
	white-space: nowrap;
}
/* ...and when the tip is showing, push the row's bottom margin out so the
   overlaid tip does not sit on top of the consent checkbox below */
.mk-newsletter-form p:has(.wpcf7-not-valid-tip) { margin-bottom: 1.5rem; }
/* CF7 keeps a visibility:hidden spinner in the flex row (24px + 48px margins) —
   collapse it entirely until the form is actually submitting */
.mk-newsletter-form form:not(.submitting) .wpcf7-spinner { display: none; }
.mk-newsletter-form .wpcf7-spinner { margin: 0; align-self: center; }
.mk-newsletter-form input[type="email"] {
	width: 100%;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 4px;
	color: #fff;
	font-family: var(--wp--preset--font-family--heading);
	font-size: .9rem;
	padding: .75em 1em .6em;
}
.mk-newsletter-form input[type="email"]::placeholder { color: #b3b0d4; }
.mk-newsletter-form input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .8rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: .8em 1.6em .65em;
	cursor: pointer;
	transition: background .2s ease;
	white-space: nowrap;
}
.mk-newsletter-form input[type="submit"]:hover { background: #e13a4e; }
/* GDPR acceptance checkbox — dark newsletter band variant */
.mk-newsletter-form p:has(.wpcf7-acceptance) { display: block; margin-top: .7rem; }
.mk-newsletter-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.mk-newsletter-form .wpcf7-acceptance label {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	font-size: .74rem;
	line-height: 1.5;
	color: #b3b0d4;
	cursor: pointer;
}
.mk-newsletter-form .wpcf7-acceptance a { color: #cfcde4; }
.mk-newsletter-form .wpcf7-acceptance a:hover { color: #fff; }
.mk-newsletter-form .wpcf7-acceptance input[type="checkbox"] {
	flex: none;
	accent-color: var(--wp--preset--color--primary);
}
/* light-background forms (contact page etc.) */
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance label {
	font-size: .78rem;
	line-height: 1.55;
	color: var(--wp--preset--color--text);
	cursor: pointer;
}
.wpcf7-acceptance input[type="checkbox"] {
	accent-color: var(--wp--preset--color--primary);
	margin-right: .4em;
}

.mk-newsletter-form .wpcf7-response-output {
	margin: .6rem 0 0;
	padding: 0;
	border: none;
	font-size: .8rem;
	color: var(--wp--preset--color--secondary);
}
.mk-newsletter-form .wpcf7-not-valid-tip { font-size: .75rem; color: var(--wp--preset--color--primary); }
/* Newsletter box under post content */
.mk-post-newsletter {
	background: #37354F;
	border-radius: 6px;
	padding: 2.2rem 2.4rem;
	margin-top: 2.5rem;
}
.mk-post-newsletter h3 { color: #fff; margin: 0 0 .4rem; }
.mk-post-newsletter .mk-newsletter-sub { margin-bottom: 1.2rem; }
.mk-post-newsletter .mk-newsletter-form { max-width: 480px; }

.mk-footer-rule {
	border: none !important;
	height: 1px !important;
	background: rgba(255, 255, 255, .12) !important;
	margin: 0 0 2.5rem !important;
	opacity: 1;
}
.mk-footer-posts li { margin-bottom: .9rem; }
.mk-footer-posts a {
	font-family: var(--wp--preset--font-family--heading) !important;
	font-size: .9rem !important;
	font-weight: 600;
	line-height: 1.4;
}
.mk-footer-bar {
	border-top: 1px solid rgba(255, 255, 255, .12);
	margin-top: 2.5rem;
	padding-top: 1.2rem;
}
.mk-footer-bar .mk-copyright {
	margin: 0;
	font-size: .75rem;
	color: #b3b0d4;
}
.mk-footer-bar .mk-copyright a {
	color: #cfcde4;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.mk-footer-bar .mk-copyright a:hover { color: #fff; }

/* ===== Contact form (CF7 global) ===== */
.mk-prose .wpcf7 label,
.mk-contact-form .wpcf7 label {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--wp--preset--color--titles);
	margin-bottom: .35rem;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	width: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--body);
	font-size: .95rem;
	color: var(--wp--preset--color--black);
	padding: .8em 1em;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 76, 96, .12);
}
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: .95em 2.2em .8em;
	cursor: pointer;
	transition: background .2s ease;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--titles); }
.wpcf7 .mk-form-clause {
	margin: 1rem 0 0;
	font-size: .75rem;
	line-height: 1.6;
	color: var(--wp--preset--color--text);
}
.wpcf7 .mk-form-clause a { color: var(--wp--preset--color--primary); }
.mk-contact-intro p { font-size: .98rem; line-height: 1.8; }
.mk-contact-links { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.mk-contact-links li { margin-bottom: .7rem; font-family: var(--wp--preset--font-family--heading); font-size: .9rem; }
.mk-contact-links a { color: var(--wp--preset--color--titles); text-decoration: none; font-weight: 600; }
.mk-contact-links a:hover { color: var(--wp--preset--color--primary); }
.mk-contact-links li::before { content: '→'; color: var(--wp--preset--color--primary); margin-right: .5em; }

/* ===== Tablet (601–781px): columns already stack here — give the footer a 2-col grid ===== */
@media (min-width: 601px) and (max-width: 781px) {
	.mk-footer-cols {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		column-gap: 2.5rem;
	}
	.mk-footer-cols .wp-block-column { flex-basis: auto !important; margin-bottom: 2rem; }
	.mk-footer-cols .wp-block-column:first-child { grid-column: 1 / -1; }
	.mk-newsletter { row-gap: 1.2rem; }
	.mk-newsletter-form { flex-basis: 100%; max-width: 520px; }
}

/* ===== Mobile ===== */
@media (max-width: 600px) {
	/* header = app bar: hamburger left, logo center, search right */
	header.wp-block-group {
		position: relative;
		padding: 1.4rem 1.2rem 1rem !important;
	}
	/* core block CSS loads after the theme sheet — needs !important */
	.mk-header-social { display: none !important; }
	.mk-header-top {
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
	}
	.mk-header-top .wp-block-site-title {
		order: -1;
		text-align: center;
		padding: 0 100px; /* keep clear of hamburger (left) & toggle + search (right) */
	}
	.mk-logo { font-size: clamp(1rem, 4.6vw, 1.4rem) !important; white-space: nowrap; }
	/* actions (theme toggle + search) anchor to the top-right as a row */
	.mk-header-top .mk-header-actions {
		position: absolute;
		top: 1.15rem;
		right: 1.2rem;
		gap: .4rem;
	}
	.mk-nav { margin: 0 !important; }
	/* core makes the <nav> a positioning context — neutralize so the
	   hamburger anchors to the header, not the centered nav */
	.mk-nav nav.wp-block-navigation { position: static; }
	.mk-nav .wp-block-navigation__responsive-container-open {
		position: absolute;
		top: 1.15rem;
		left: 1.2rem;
		width: 42px;
		height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border-radius: 50%;
		box-shadow: 0 4px 14px rgba(69, 67, 96, .12);
		color: var(--wp--preset--color--titles);
	}

	/* cards: tighter padding, banner-style thumbnails instead of huge squares */
	.mk-card { padding: 1.3rem !important; }
	.mk-card .wp-block-post-featured-image img,
	.mk-card .mk-list-media {
		aspect-ratio: 16 / 10 !important;
		width: 100%;
	}
	.wp-block-post-title { font-size: 1.25rem !important; }

	/* meta line: tighter */
	.mk-meta { gap: .5rem; font-size: .72rem; }
	.mk-meta > *::after { margin-left: .5rem; }

	/* single post: prose sizing */
	.mk-prose { font-size: .98rem; }
	.mk-prose pre { font-size: .8rem; }

	/* footer: left-aligned, compact rhythm */
	.mk-footer { padding-left: 1.4rem !important; padding-right: 1.4rem !important; }
	.mk-newsletter { gap: 1.4rem; margin-bottom: 2rem; }
	.mk-newsletter-form { flex-basis: 100%; max-width: none; }
	.mk-footer-cols { gap: 0 !important; }
	.mk-footer-cols .wp-block-column { margin-bottom: 2rem; }
	.mk-footer-posts a { font-size: .85rem !important; }
	.mk-footer-posts li { margin-bottom: .7rem; }
	.mk-footer-bar {
		flex-direction: column !important;
		gap: .5rem !important;
		align-items: center !important;
		text-align: center;
	}
}

/* ===== Author archive ===== */
.mk-author-hero {
	text-align: center;
	padding: 2.6rem 3rem;
}
.mk-author-hero-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
}
.mk-author-hero-head img { border-radius: 50%; }
.mk-author-hero h1 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.7rem;
	color: var(--wp--preset--color--titles);
	margin: 0;
}
.mk-author-hero-bio {
	max-width: 560px;
	margin: 1.2rem auto 0;
	font-size: .95rem;
	line-height: 1.8;
}
.mk-author-hero-link {
	display: inline-block;
	margin-top: .8rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .85rem;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}
.mk-card-compact { text-align: center; }
.mk-card-compact .wp-block-post-title a {
	background-position: 50% 88%;
}
.mk-card-compact .mk-meta { justify-content: center; font-size: .72rem; }
.mk-card-compact .mk-tags { display: flex; flex-wrap: wrap; justify-content: center; }
.mk-card-compact .mk-tags a { margin: 0 .2rem .4rem; }
@media (max-width: 600px) {
	.mk-author-hero { padding: 1.6rem 1.3rem; }
	.mk-author-hero-head { flex-direction: column; gap: .8rem; }
	.mk-author-grid .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* ===== Misc ===== */
.mk-avatar img { border-radius: 50%; }

/* ===== Series index (page-series template + mk/series-index) ===== */
.mk-series-page-title { color: var(--wp--preset--color--titles); margin-bottom: .5rem; }
.mk-series-lead {
	max-width: 640px;
	margin: 0 auto 2.8rem;
	font-size: 1.12rem;
	line-height: 1.7;
	color: var(--wp--preset--color--text);
}
.mk-series-card {
	--series-accent: var(--wp--preset--color--primary);
	position: relative;
	padding: 2.2rem 2.4rem 2.4rem;
	margin-bottom: 2.2rem;
	border-top: 4px solid var(--series-accent);
}
.mk-accent-primary   { --series-accent: var(--wp--preset--color--primary); }
.mk-accent-secondary { --series-accent: var(--wp--preset--color--secondary); }

.mk-series-head { display: flex; align-items: center; gap: 1rem; }
.mk-series-emoji {
	flex: none;
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 1.7rem; line-height: 1;
	border-radius: 12px;
	background: color-mix(in srgb, var(--series-accent) 16%, transparent);
}
.mk-series-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem; line-height: 1.2; margin: 0;
	color: var(--wp--preset--color--titles);
}
.mk-series-tagline {
	margin: .3rem 0 0;
	font-style: italic; font-size: .95rem;
	color: var(--wp--preset--color--text);
}
.mk-series-desc {
	margin: 1.2rem 0 1.5rem;
	font-size: 1rem; line-height: 1.75;
	color: var(--wp--preset--color--black);
}
.mk-series-desc code {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 3px; padding: .08em .4em; font-size: .88em;
}
.mk-series-actions { margin: 0 0 1.8rem; }
.mk-series-start {
	display: inline-block; text-decoration: none;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase;
	color: #fff; background: var(--series-accent);
	border-radius: 4px; padding: .85em 1.7em .7em;
	transition: filter .2s ease, transform .2s ease;
}
.mk-series-start:hover { filter: brightness(.93); transform: translateY(-1px); color: #fff; }
/* aqua accent needs dark text for contrast, in both themes (secondary is not remapped) */
.mk-accent-secondary .mk-series-start,
.mk-accent-secondary .mk-series-start:hover { color: #1e1c2e; }

.mk-series-toc-label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .74rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 0 0 .6rem;
}
.mk-series-parts { list-style: none; margin: 0; padding: 0; }
.mk-series-part {
	display: flex; align-items: center; gap: 1rem;
	padding: .8rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
}
.mk-series-part:first-child { border-top: none; }
.mk-series-num {
	flex: none;
	width: 30px; height: 30px;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: .9rem;
	color: var(--series-accent);
	border: 2px solid var(--series-accent);
	border-radius: 50%;
}
.mk-series-part-thumb { flex: none; width: 96px; display: block; text-decoration: none; }
.mk-series-part-thumb .mk-list-media { aspect-ratio: 16 / 10; border-radius: 5px; }
.mk-series-part-body { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.mk-series-part-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600; font-size: 1.02rem; line-height: 1.3;
	text-decoration: none; color: var(--wp--preset--color--titles);
}
.mk-series-part-title:hover { color: var(--series-accent); }
.mk-series-part .mk-meta { font-size: .72rem; }
.mk-series-note {
	margin: 1.4rem 0 0;
	font-size: .82rem; font-style: italic;
	color: var(--wp--preset--color--text);
}
@media (max-width: 600px) {
	.mk-series-card { padding: 1.5rem 1.3rem 1.7rem; }
	.mk-series-part-thumb { display: none; }
	.mk-series-emoji { width: 46px; height: 46px; font-size: 1.4rem; border-radius: 10px; }
	.mk-series-title { font-size: 1.22rem; }
	.mk-series-page-title { font-size: 2rem !important; }
}

/* ===== Header actions (theme toggle + search) ===== */
.mk-header-actions {
	display: flex;
	align-items: center;
	gap: .6rem;
}
.mk-theme-toggle {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--titles);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 50%;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.mk-theme-toggle:hover { color: var(--wp--preset--color--primary); transform: scale(1.06); }
.mk-theme-toggle svg { width: 18px; height: 18px; }
/* show the icon of the mode you'd switch TO: moon in light, sun in dark */
.mk-theme-toggle .mk-icon-sun { display: none; }
:root[data-theme="dark"] .mk-theme-toggle .mk-icon-sun { display: block; }
:root[data-theme="dark"] .mk-theme-toggle .mk-icon-moon { display: none; }

/* ===== Dark mode =====
   Driven by :root[data-theme="dark"], set by the early inline script in
   wp_head from the stored choice (or the OS preference when none is stored)
   and flipped by the header toggle. The palette lives in theme.json presets —
   remapping the CSS custom properties re-skins everything var-based; the rest
   of this block covers surfaces and states that hardcode #fff / navy. */
:root[data-theme="dark"] {
	--wp--preset--color--base: #1e1c2e;
	--wp--preset--color--white: #26243a;
	--wp--preset--color--titles: #edebfa;
	--wp--preset--color--black: #e3e1f3;
	--wp--preset--color--text: #b4b1cb;
	--wp--preset--color--border: #3d3a57;
}

/* surfaces that hardcode #fff in the light theme */
:root[data-theme="dark"] .mk-card,
:root[data-theme="dark"] .mk-widget,
:root[data-theme="dark"] .mk-comments,
:root[data-theme="dark"] #mk-cookie,
:root[data-theme="dark"] .mk-search-close,
:root[data-theme="dark"] .mk-cookie-actions button,
:root[data-theme="dark"] .wp-block-query-pagination a,
:root[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers {
	background: #26243a;
}
:root[data-theme="dark"] .mk-nav .wp-block-navigation__submenu-container { background: #26243a !important; }
:root[data-theme="dark"] .mk-nav .wp-block-navigation__responsive-container-open { background: #26243a; }
:root[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open { background-color: #1e1c2e !important; }

/* shadows need more weight on a dark ground */
:root[data-theme="dark"] .mk-card,
:root[data-theme="dark"] .mk-widget,
:root[data-theme="dark"] .mk-comments { box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
:root[data-theme="dark"] .mk-card:hover { box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
:root[data-theme="dark"] #mk-cookie { box-shadow: 0 16px 48px rgba(0, 0, 0, .55); }
:root[data-theme="dark"] .mk-search-close { box-shadow: 0 6px 20px rgba(0, 0, 0, .45); }
:root[data-theme="dark"] .wp-block-query-pagination a,
:root[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers { box-shadow: 0 4px 14px rgba(0, 0, 0, .3); }
/* the dark surface rule above outweighs the base .current/:hover accent —
   restore the pink fill so the active page stays visible in dark mode */
:root[data-theme="dark"] .wp-block-query-pagination a:hover,
:root[data-theme="dark"] .wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* --titles is light now: anything that used it as a dark background flips
   to primary (buttons) or gets dark text on the light fill (tag pills) */
:root[data-theme="dark"] .wp-block-read-more,
:root[data-theme="dark"] .wp-block-button__link,
:root[data-theme="dark"] #commentform input[type="submit"]:hover,
:root[data-theme="dark"] .wpcf7 input[type="submit"]:hover,
:root[data-theme="dark"] .wp-block-search__button:hover,
:root[data-theme="dark"] .mk-search-open:hover,
:root[data-theme="dark"] .mk-cookie-actions .mk-cookie-accept:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
:root[data-theme="dark"] .wp-block-read-more:hover,
:root[data-theme="dark"] .wp-block-button__link:hover { background: #e13a4e; color: #fff; }
:root[data-theme="dark"] .wp-block-read-more.mk-more,
:root[data-theme="dark"] .wp-block-read-more.mk-more:hover { background: none; }
:root[data-theme="dark"] .wp-block-read-more.mk-more { color: var(--wp--preset--color--primary); }
:root[data-theme="dark"] .wp-block-read-more.mk-more:hover { color: var(--wp--preset--color--titles); }
:root[data-theme="dark"] .mk-tags a:hover,
:root[data-theme="dark"] .wp-block-post-terms a:hover,
:root[data-theme="dark"] .wp-block-tag-cloud a:hover {
	background: var(--wp--preset--color--titles);
	border-color: var(--wp--preset--color--titles);
	color: #1e1c2e;
}
:root[data-theme="dark"] .mk-cookie-actions .mk-cookie-accept { background: var(--wp--preset--color--primary); color: #fff; }

/* header social icons hardcode navy via iconColorValue in the markup */
:root[data-theme="dark"] .mk-header-social .wp-social-link,
:root[data-theme="dark"] .mk-header-social .wp-social-link a { color: var(--wp--preset--color--titles) !important; }

/* search overlay */
:root[data-theme="dark"] #mk-search { background: rgba(30, 28, 46, .97); }
:root[data-theme="dark"] #mk-search input[type="search"]::placeholder { color: #6f6b93; }
