/** MeowKats Phase 5 — Single article and page templates. */

.mk-single-view .mk-breadcrumbs,
.mk-page-view .mk-breadcrumbs {
	margin-block-start: var(--mk-breadcrumb-spacing-top, 0);
	margin-block-end: var(--mk-breadcrumb-spacing-bottom, var(--mk-space-6));
}

.mk-single-article,
.mk-page-entry {
	min-inline-size: 0;
}

/* RC68 — Article width mode. Stretched widens only the article body and never
 * exceeds the available main column or the administrator-selected safe cap. */
body.single-post.mk-article-content-stretched .mk-single-content {
	inline-size: min(100%, var(--mk-article-content-stretched-width, 1040px));
	max-inline-size: 100%;
}

.mk-single-header {
	display: flex;
	flex-direction: column;
	align-items: var(--mk-article-header-align-items);
	gap: var(--mk-article-header-gap);
	inline-size: min(100%, var(--mk-article-header-max-width));
	margin-inline: auto;
	padding: var(--mk-article-header-padding-top) clamp(0rem, 1vw, 0.5rem) var(--mk-article-header-padding-bottom);
	text-align: var(--mk-article-header-text-align);
}

.mk-single-category,
.mk-author-box__eyebrow,
.mk-single-newsletter__eyebrow {
	font-size: var(--mk-font-size-xs);
	font-weight: var(--mk-weight-bold);
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
}

.mk-single-category {
	color: var(--mk-primary);
	transition: color 180ms ease;
}

.mk-single-category:hover,
.mk-single-category:focus-visible {
	color: var(--mk-accent);
}

.mk-single-header--align-center .mk-single-category { align-self: center; }
.mk-single-header--align-end .mk-single-category { align-self: flex-end; }

.mk-single-title {
	inline-size: min(100%, var(--mk-article-header-title-max-width));
	max-inline-size: none;
	margin: 0;
	color: var(--mk-article-header-title-color);
	font-family: var(--mk-article-header-title-font);
	font-size: var(--mk-single-title-font-size);
	font-weight: var(--mk-article-header-title-weight);
	line-height: var(--mk-article-header-title-line-height);
	overflow-wrap: anywhere;
}

.mk-single-deck {
	inline-size: min(100%, 68ch);
	max-inline-size: 100%;
	margin: 0;
	color: var(--mk-article-header-deck-color);
	font-family: var(--mk-article-header-deck-font);
	font-size: var(--mk-article-header-deck-size);
	font-weight: var(--mk-article-header-deck-weight);
	line-height: 1.6;
}

.mk-single-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: var(--mk-article-header-justify);
	gap: var(--mk-space-2) var(--mk-space-5);
	margin: 0;
	color: var(--mk-article-header-meta-color);
	font-family: var(--mk-article-header-meta-font);
	font-size: var(--mk-article-header-meta-size);
	font-weight: var(--mk-article-header-meta-weight);
}

.mk-single-meta a {
	color: var(--mk-primary);
	font-weight: var(--mk-weight-semibold);
	text-decoration: none;
	transition: color 180ms ease;
}

.mk-single-meta a:hover,
.mk-single-meta a:focus-visible,
.mk-single-meta__category a:hover,
.mk-single-meta__category a:focus-visible {
	color: var(--mk-accent);
}

.mk-single-featured {
	inline-size: min(100%, var(--mk-featured-image-max-width));
	margin-block-start: var(--mk-featured-image-spacing-top);
	margin-block-end: var(--mk-featured-image-spacing-bottom);
	margin-inline: var(--mk-featured-image-margin-inline);
	overflow: clip;
	border-radius: var(--mk-featured-image-radius);
	background: var(--mk-surface-soft);
}

.mk-single-featured__media {
	display: flex;
	align-items: center;
	justify-content: var(--mk-featured-image-justify);
	inline-size: 100%;
	overflow: clip;
}

.mk-single-featured__media img {
	display: block;
	object-fit: var(--mk-featured-image-object-fit);
}

.mk-single-featured.mk-featured-ratio-original .mk-single-featured__media img {
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	max-block-size: var(--mk-featured-image-max-height);
}

.mk-single-featured:not(.mk-featured-ratio-original) .mk-single-featured__media {
	aspect-ratio: var(--mk-featured-image-aspect-ratio);
}

.mk-single-featured:not(.mk-featured-ratio-original) .mk-single-featured__media img {
	inline-size: 100%;
	block-size: 100%;
}

.mk-single-featured.mk-featured-ratio-16-9 {
	inline-size: min(100%, var(--mk-featured-image-max-width), calc(var(--mk-featured-image-max-height) * 16 / 9));
}

.mk-single-featured.mk-featured-ratio-4-3 {
	inline-size: min(100%, var(--mk-featured-image-max-width), calc(var(--mk-featured-image-max-height) * 4 / 3));
}

.mk-single-featured.mk-featured-ratio-3-2 {
	inline-size: min(100%, var(--mk-featured-image-max-width), calc(var(--mk-featured-image-max-height) * 3 / 2));
}

.mk-single-featured.mk-featured-ratio-1-1 {
	inline-size: min(100%, var(--mk-featured-image-max-width), var(--mk-featured-image-max-height));
}

.mk-page-featured {
	inline-size: min(100%, var(--mk-content-wide));
	margin: 0 auto var(--mk-space-8);
	overflow: clip;
	border-radius: var(--mk-radius-lg);
	background: var(--mk-surface-soft);
}

.mk-page-featured img {
	inline-size: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.mk-single-featured figcaption {
	padding: var(--mk-space-3) var(--mk-space-4);
	color: var(--mk-muted);
	font-size: var(--mk-font-size-xs);
}

.mk-single-content,
.mk-page-entry .mk-entry-content {
	font-size: var(--mk-body-font-size);
	line-height: var(--mk-line-height-body);
}

.mk-single-content :where(h2, h3, h4) {
	scroll-margin-block-start: calc(var(--mk-header-height) + var(--mk-space-5));
}

.mk-single-content h2 {
	margin-block-start: var(--mk-space-9);
}

.mk-single-content h3 {
	margin-block-start: var(--mk-space-8);
}

/* RC48 responsive content containment: apply the same protection to Posts and Pages. */
.mk-single-content :where(img, video, iframe, table),
.mk-page-entry .mk-entry-content :where(img, video, iframe, table) {
	max-inline-size: 100%;
}

.mk-single-content table,
.mk-page-entry .mk-entry-content table {
	display: block;
	max-inline-size: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	border-collapse: collapse;
	white-space: nowrap;
}

.mk-single-content :where(pre, code),
.mk-page-entry .mk-entry-content :where(pre, code) {
	max-inline-size: 100%;
}

.mk-single-content pre,
.mk-page-entry .mk-entry-content pre {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.mk-single-content :where(.wp-block-embed, .wp-block-embed__wrapper, .wp-block-table, figure),
.mk-page-entry .mk-entry-content :where(.wp-block-embed, .wp-block-embed__wrapper, .wp-block-table, figure) {
	max-inline-size: 100%;
}

.mk-single-content .wp-block-table,
.mk-page-entry .mk-entry-content .wp-block-table {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

/* Prefer a fitted desktop article table over a permanent horizontal cursor.
 * Overflow remains available as a last-resort fallback for genuinely wide data. */
body.single-post.mk-article-tables-fit .mk-single-content table {
	inline-size: 100%;
	white-space: normal;
}

body.single-post.mk-article-tables-fit .mk-single-content :where(th, td) {
	min-inline-size: 0;
	overflow-wrap: anywhere;
	word-break: normal;
	white-space: normal;
}

/* Article Content presentation. Scoped to single posts so Page content remains unchanged. */
.mk-single-content {
	font-family: var(--mk-article-content-body-font);
	font-size: var(--mk-article-content-body-size);
	line-height: var(--mk-article-content-line-height);
	color: var(--mk-article-content-text);
}

.mk-single-content > * + * {
	margin-block-start: var(--mk-article-content-block-spacing);
}

.mk-single-content :where(h2, h3, h4, h5, h6) {
	font-family: var(--mk-article-content-heading-font);
	font-weight: var(--mk-article-content-heading-weight);
	line-height: var(--mk-article-content-heading-line-height);
	color: var(--mk-article-content-heading);
	/* Article headings should wrap naturally. Global `balance` can create
	 * awkward short lines in long H2/H3 editorial headings. */
	text-wrap: pretty;
	overflow-wrap: break-word;
	word-break: normal;
}

/* Gutenberg font-size classes and inline styles remain authoritative when an
 * editor explicitly chooses a heading size. */
.mk-single-content :where(h2:not([class*="-font-size"])) {
	font-size: var(--mk-article-content-h2-size);
}

.mk-single-content :where(h3:not([class*="-font-size"])) {
	font-size: var(--mk-article-content-h3-size);
}

.mk-single-content :where(h4:not([class*="-font-size"])) {
	font-size: var(--mk-article-content-h4-size);
}

.mk-single-content :where(h5:not([class*="-font-size"])) {
	font-size: var(--mk-article-content-h5-size);
}

.mk-single-content :where(h6:not([class*="-font-size"])) {
	font-size: var(--mk-article-content-h6-size);
}

.mk-single-content :where(a) {
	color: var(--mk-article-content-link);
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
	text-underline-offset: 0.14em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.mk-single-content :where(a:hover, a:focus-visible) {
	color: var(--mk-article-content-link-hover);
	text-decoration-color: currentColor;
}

.mk-single-content :where(ul, ol) {
	padding-inline-start: var(--mk-article-content-list-indent);
}

.mk-single-content :where(li)::marker {
	color: var(--mk-article-content-list-marker);
}

.mk-single-content :where(blockquote, .wp-block-quote) {
	margin-inline: 0;
	padding: var(--mk-article-content-blockquote-padding);
	border: 0;
	border-inline-start: var(--mk-article-content-blockquote-border-width) solid var(--mk-article-content-blockquote-border);
	border-radius: var(--mk-article-content-blockquote-radius);
	background: var(--mk-article-content-blockquote-bg);
	color: var(--mk-article-content-blockquote-text);
}

.mk-single-content :where(blockquote, .wp-block-quote) > :first-child {
	margin-block-start: 0;
}

.mk-single-content :where(blockquote, .wp-block-quote) > :last-child {
	margin-block-end: 0;
}

.mk-single-content :where(.wp-block-table) {
	border-radius: var(--mk-article-content-table-radius);
}

.mk-single-content :where(table) {
	border-spacing: 0;
	border: var(--mk-article-content-table-border-width) solid var(--mk-article-content-table-border);
	border-radius: var(--mk-article-content-table-radius);
	background: var(--mk-article-content-table-bg);
	color: var(--mk-article-content-table-text);
}

.mk-single-content :where(th, td) {
	padding: var(--mk-article-content-table-cell-padding);
	border: 0;
	border-inline-end: var(--mk-article-content-table-border-width) solid var(--mk-article-content-table-border);
	border-block-end: var(--mk-article-content-table-border-width) solid var(--mk-article-content-table-border);
	text-align: start;
}

.mk-single-content :where(tr > :last-child) {
	border-inline-end: 0;
}

.mk-single-content :where(tbody tr:last-child > td) {
	border-block-end: 0;
}

.mk-single-content :where(thead th) {
	background: var(--mk-article-content-table-header-bg);
	color: var(--mk-article-content-table-header-text);
	font-weight: var(--mk-weight-bold);
}

.mk-single-content :where(figcaption, .wp-element-caption) {
	color: var(--mk-article-content-caption);
	font-family: var(--mk-article-content-body-font);
	font-size: var(--mk-article-content-caption-size);
	line-height: 1.5;
}

.mk-single-content :where(hr, .wp-block-separator) {
	inline-size: 100%;
	block-size: var(--mk-article-content-separator-thickness);
	margin-block: var(--mk-article-content-separator-spacing);
	border: 0;
	background: var(--mk-article-content-separator);
	color: var(--mk-article-content-separator);
}

/* Unified embedded-video presentation controlled by MeowKats Framework settings. */
.mk-single-content :where(
	.wp-block-video,
	.wp-block-embed.is-type-video,
	.wp-block-embed-youtube,
	.wp-block-embed-vimeo,
	.mk-video-embed
),
.mk-page-entry .mk-entry-content :where(
	.wp-block-video,
	.wp-block-embed.is-type-video,
	.wp-block-embed-youtube,
	.wp-block-embed-vimeo,
	.mk-video-embed
) {
	inline-size: min(100%, var(--mk-video-max-width));
	max-inline-size: 100%;
	margin-inline: var(--mk-video-margin-inline);
	margin-block: var(--mk-video-spacing);
}

/* JS computes --mk-video-fit-width from BOTH max width and max height while
 * preserving the source/editor ratio. No Short/landscape classification is used. */
.mk-single-content .mk-video-managed,
.mk-page-entry .mk-entry-content .mk-video-managed {
	inline-size: min(100%, var(--mk-video-fit-width, var(--mk-video-max-width)));
	max-inline-size: 100%;
	margin-inline: var(--mk-video-margin-inline);
	margin-block: var(--mk-video-spacing);
}

.mk-single-content :where(.mk-video-managed iframe, .mk-video-managed video),
.mk-page-entry .mk-entry-content :where(.mk-video-managed iframe, .mk-video-managed video) {
	display: block;
	inline-size: 100%;
	max-inline-size: 100%;
	max-block-size: var(--mk-video-max-height);
	aspect-ratio: var(--mk-video-source-ratio, auto);
	border-radius: var(--mk-video-radius);
}

/* Direct media elements managed without a WordPress wrapper. */
.mk-single-content :where(video.mk-video-managed, iframe.mk-video-managed),
.mk-page-entry .mk-entry-content :where(video.mk-video-managed, iframe.mk-video-managed) {
	display: block;
	inline-size: min(100%, var(--mk-video-fit-width, var(--mk-video-max-width)));
	max-inline-size: 100%;
	max-block-size: var(--mk-video-max-height);
	margin-inline: var(--mk-video-margin-inline);
	margin-block: var(--mk-video-spacing);
	border-radius: var(--mk-video-radius);
}

/* Classic oEmbed and direct iframe/video elements use the measured source ratio.
 * Gutenberg Embed blocks keep WordPress' own ratio wrapper in Original mode. */
.mk-single-content :where(.mk-video-embed > iframe, iframe.mk-video-managed, video.mk-video-managed),
.mk-page-entry .mk-entry-content :where(.mk-video-embed > iframe, iframe.mk-video-managed, video.mk-video-managed) {
	block-size: auto;
}

/* Optional manual ratio override. Original/Respect editor does not add this class. */
.mk-video-managed.mk-video-ratio-forced :where(.wp-block-embed__wrapper, iframe, video),
:where(video, iframe).mk-video-managed.mk-video-ratio-forced {
	aspect-ratio: var(--mk-video-forced-ratio);
}

.mk-video-managed.mk-video-ratio-forced .wp-block-embed__wrapper {
	position: relative;
	inline-size: 100%;
	block-size: auto;
}

.mk-video-managed.mk-video-ratio-forced .wp-block-embed__wrapper::before {
	display: none !important;
}

.mk-video-managed.mk-video-ratio-forced .wp-block-embed__wrapper > iframe {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
}

.mk-video-managed.mk-video-ratio-forced video {
	inline-size: 100%;
	block-size: auto;
	object-fit: contain;
}

.mk-share,
.mk-single-tags,
.mk-author-box,
.mk-related,
.mk-single-newsletter,
.mk-post-navigation,
.mk-comments {
	inline-size: min(100%, var(--mk-content-wide));
	margin-inline: auto;
	margin-block-start: var(--mk-space-8);
}

.mk-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mk-space-3) var(--mk-space-4);
	padding-block: var(--mk-space-5);
	border-block: 1px solid var(--mk-border);
}

.mk-share__label,
.mk-single-tags__label {
	font-weight: var(--mk-weight-bold);
}

.mk-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mk-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mk-share__link,
.mk-single-tags__items a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mk-space-2);
	min-block-size: 40px;
	padding-inline: var(--mk-space-4);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-radius-pill);
	background: var(--mk-surface);
	color: var(--mk-heading);
	font-size: var(--mk-font-size-sm);
	font-weight: var(--mk-weight-semibold);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.mk-share__icon {
	inline-size: 1rem;
	block-size: 1rem;
	color: var(--mk-share-color, currentColor);
	flex: 0 0 auto;
}

.mk-share__icon svg {
	display: block;
	inline-size: 100%;
	block-size: 100%;
}

.mk-share__text {
	line-height: 1;
}

.mk-share__link:hover,
.mk-share__link:focus-visible,
.mk-single-tags__items a:hover,
.mk-single-tags__items a:focus-visible {
	transform: translateY(-2px);
	border-color: var(--mk-share-color, var(--mk-accent));
	color: var(--mk-share-color, var(--mk-accent));
	box-shadow: 0 10px 24px rgb(15 23 42 / 12%);
}

.mk-share__link:focus-visible,
.mk-single-tags__items a:focus-visible {
	outline: 2px solid var(--mk-share-color, var(--mk-accent));
	outline-offset: 2px;
}

.mk-share__link--facebook { --mk-share-color: #1877f2; }
.mk-share__link--twitter { --mk-share-color: #111111; }
.mk-share__link--instagram { --mk-share-color: #e1306c; }
.mk-share__link--pinterest { --mk-share-color: #e60023; }
.mk-share__link--bluesky { --mk-share-color: #1185fe; }
.mk-share__link--gettr { --mk-share-color: #ff5b2e; }
.mk-share__link--mastodon { --mk-share-color: #6364ff; }
.mk-share__link--linkedin { --mk-share-color: #0a66c2; }
.mk-share__link--whatsapp { --mk-share-color: #25d366; }

.mk-single-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mk-space-3);
}

.mk-single-tags__items {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mk-space-2);
}

.mk-author-box {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: var(--mk-author-box-gap);
	margin-block-start: var(--mk-author-box-spacing-top);
	margin-block-end: var(--mk-author-box-spacing-bottom);
	padding: var(--mk-author-box-padding);
	border: var(--mk-author-box-border-width) solid var(--mk-author-box-border);
	border-radius: var(--mk-author-box-radius);
	background: var(--mk-author-box-bg);
}

.mk-author-box--center {
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	text-align: center;
}

.mk-author-box--no-avatar {
	grid-template-columns: minmax(0, 1fr);
}

.mk-author-box__avatar {
	inline-size: var(--mk-author-box-avatar-size);
	block-size: var(--mk-author-box-avatar-size);
	overflow: hidden;
	border-radius: var(--mk-author-box-avatar-radius);
}

.mk-author-box__avatar img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	border-radius: inherit;
	object-fit: cover;
}

.mk-author-box__content { min-inline-size: 0; }

.mk-author-box__eyebrow,
.mk-author-box__bio { margin-block-end: var(--mk-space-2); }

.mk-author-box__eyebrow { color: var(--mk-author-box-eyebrow-color); }

.mk-author-box__name {
	margin-block-end: var(--mk-space-2);
	color: var(--mk-author-box-name-color);
	font-family: var(--mk-author-box-name-font-family);
	font-size: var(--mk-author-box-name-font-size);
	font-weight: var(--mk-author-box-name-font-weight);
	line-height: 1.2;
}

.mk-author-box__name a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.mk-author-box__name a:hover,
.mk-author-box__name a:focus-visible { color: var(--mk-author-box-name-hover); }

.mk-author-box__bio {
	max-inline-size: 62ch;
	color: var(--mk-author-box-bio-color);
	font-family: var(--mk-author-box-bio-font-family);
	font-size: var(--mk-author-box-bio-font-size);
	font-weight: var(--mk-author-box-bio-font-weight);
	line-height: 1.65;
}

.mk-author-box--center .mk-author-box__bio { margin-inline: auto; }

.mk-related__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-block-end: var(--mk-space-5);
}

.mk-related__header h2 {
	margin: 0;
	font-size: var(--mk-font-size-2xl);
}

.mk-related__grid {
	display: grid;
	grid-template-columns: repeat(var(--mk-related-columns), minmax(0, 1fr));
	gap: var(--mk-related-card-gap);
}

.mk-related-card {
	min-inline-size: 0;
	overflow: clip;
	border: var(--mk-related-card-border-width) solid var(--mk-related-card-border);
	border-radius: var(--mk-related-card-radius);
	background: var(--mk-related-card-bg);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.mk-related-card:hover,
.mk-related-card:focus-within {
	transform: translateY(-2px);
	border-color: var(--mk-related-card-hover-border);
	background: var(--mk-related-card-hover-bg);
	box-shadow: 0 12px 28px rgb(15 23 42 / 10%);
}

.mk-related-card__media {
	display: block;
	inline-size: 100%;
	overflow: clip;
	background: var(--mk-surface-soft);
}

.mk-related-card__image {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.mk-related-card--ratio-16-10 .mk-related-card__media { aspect-ratio: 16 / 10; }
.mk-related-card--ratio-16-9 .mk-related-card__media { aspect-ratio: 16 / 9; }
.mk-related-card--ratio-4-3 .mk-related-card__media { aspect-ratio: 4 / 3; }
.mk-related-card--ratio-1-1 .mk-related-card__media { aspect-ratio: 1 / 1; }

.mk-related-card--ratio-original .mk-related-card__media { max-block-size: var(--mk-related-image-height); }
.mk-related-card--ratio-original .mk-related-card__image { block-size: auto; max-block-size: var(--mk-related-image-height); object-fit: contain; }

.mk-related-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--mk-space-3);
	padding: var(--mk-related-card-padding);
}

.mk-related-card__title {
	margin: 0;
	color: var(--mk-related-title-color);
	font-family: var(--mk-related-title-font-family);
	font-size: var(--mk-related-title-font-size);
	font-weight: var(--mk-related-title-font-weight);
	line-height: 1.25;
}

.mk-related-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.mk-related-card__title a:hover,
.mk-related-card__title a:focus-visible { color: var(--mk-related-title-hover-color); }

.mk-related-card__excerpt {
	margin: 0;
	color: var(--mk-related-excerpt-color);
	font-size: var(--mk-font-size-sm);
	line-height: 1.6;
}

.mk-related-card__meta {
	margin-block-start: auto;
	color: var(--mk-related-meta-color);
	font-size: var(--mk-font-size-xs);
}

.mk-single-newsletter {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: var(--mk-newsletter-gap);
	align-items: center;
	margin-block-start: var(--mk-newsletter-spacing-top);
	margin-block-end: var(--mk-newsletter-spacing-bottom);
	padding: var(--mk-newsletter-padding);
	border: var(--mk-newsletter-border-width) solid var(--mk-newsletter-border);
	border-radius: var(--mk-newsletter-radius);
	background: var(--mk-newsletter-bg);
	color: var(--mk-newsletter-text-color);
	font-family: var(--mk-newsletter-font-family);
	overflow: hidden;
}

.mk-single-newsletter--layout-split {
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
}

.mk-single-newsletter--layout-stacked {
	grid-template-columns: minmax(0, 1fr);
}

.mk-single-newsletter--layout-stacked .mk-single-newsletter__integration {
	max-inline-size: 720px;
}

.mk-single-newsletter__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-inline-size: 0;
}

.mk-single-newsletter--center .mk-single-newsletter__content {
	align-items: center;
	text-align: center;
}

.mk-single-newsletter--end .mk-single-newsletter__content {
	align-items: flex-end;
	text-align: end;
}

.mk-single-newsletter__eyebrow {
	margin: 0;
	color: var(--mk-newsletter-eyebrow-color);
}

.mk-single-newsletter h2 {
	margin-block: var(--mk-space-2) var(--mk-space-3);
	color: var(--mk-newsletter-title-color);
	font-family: inherit;
	font-size: var(--mk-newsletter-title-font-size);
	font-weight: var(--mk-newsletter-title-font-weight);
	line-height: 1.15;
}

.mk-single-newsletter__description {
	margin-block: 0;
	color: var(--mk-newsletter-text-color);
	font-size: var(--mk-newsletter-body-font-size);
	font-weight: var(--mk-newsletter-body-font-weight);
	line-height: 1.65;
}

.mk-single-newsletter__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 42px;
	margin-block-start: var(--mk-space-4);
	padding: 0.65em 1.15em;
	border: 1px solid var(--mk-newsletter-button-border);
	border-radius: var(--mk-radius-pill);
	background: var(--mk-newsletter-button-bg);
	color: var(--mk-newsletter-button-text);
	font-family: inherit;
	font-size: var(--mk-newsletter-button-font-size);
	font-weight: var(--mk-newsletter-button-font-weight);
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mk-single-newsletter__button:hover,
.mk-single-newsletter__button:focus-visible {
	transform: translateY(-1px);
	border-color: var(--mk-newsletter-button-hover-border);
	background: var(--mk-newsletter-button-hover-bg);
	color: var(--mk-newsletter-button-hover-text);
}

.mk-single-newsletter__button:focus-visible {
	outline: 2px solid var(--mk-newsletter-button-hover-border);
	outline-offset: 2px;
}

.mk-single-newsletter__integration {
	min-inline-size: 0;
	max-inline-size: 100%;
}

.mk-single-newsletter--no-form {
	grid-template-columns: minmax(0, 1fr);
}

.mk-single-newsletter--no-form .mk-single-newsletter__content {
	max-inline-size: 760px;
}

.mk-single-newsletter--theme-form .mk-single-newsletter__integration,
.mk-single-newsletter--theme-form .fn-newsletter-box,
.mk-single-newsletter--theme-form .fn-newsletter-form,
.mk-single-newsletter--theme-form .fn-form-group {
	min-inline-size: 0;
	max-inline-size: 100%;
	box-sizing: border-box;
}

/* When the Newsletter Leads form is embedded here, the outer article CTA is
   already the visual card. Flatten the plugin card so it feels like one
   component instead of a box stuffed inside another box. */
.mk-single-newsletter--theme-form .fn-newsletter-box {
	inline-size: 100%;
	max-inline-size: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	text-align: start;
}

.mk-single-newsletter--theme-form .fn-newsletter-box > h3,
.mk-single-newsletter--theme-form .fn-newsletter-box > p {
	display: none;
}

.mk-single-newsletter--theme-form .fn-newsletter-form {
	inline-size: 100%;
	margin: 0;
}

.mk-single-newsletter--theme-form .fn-form-group {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: stretch;
	inline-size: 100%;
}

.mk-single-newsletter--theme-form .fn-form-group input[type="email"] {
	inline-size: 100%;
	min-inline-size: 0;
	max-inline-size: 100%;
	height: 46px;
	padding-inline: 14px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 8px;
	background: #fff;
	color: #1f2a44;
	box-shadow: none;
}

.mk-single-newsletter--theme-form .fn-form-group input[type="email"]::placeholder {
	color: #6c7280;
	opacity: 1;
}

.mk-single-newsletter--theme-form .fn-form-group input[type="email"]:focus {
	border-color: var(--mk-newsletter-eyebrow-color);
	outline: 2px solid color-mix(in srgb, var(--mk-newsletter-eyebrow-color) 28%, transparent);
	outline-offset: 1px;
}

.mk-single-newsletter--theme-form .fn-form-group button {
	inline-size: auto;
	min-inline-size: 118px;
	height: 46px;
	padding-inline: 18px;
	border: 1px solid var(--mk-newsletter-button-border);
	border-radius: 8px;
	background: var(--mk-newsletter-button-bg);
	color: var(--mk-newsletter-button-text);
	font-family: inherit;
	font-size: var(--mk-newsletter-button-font-size);
	font-weight: var(--mk-newsletter-button-font-weight);
}

.mk-single-newsletter--theme-form .fn-form-group button:hover,
.mk-single-newsletter--theme-form .fn-form-group button:focus-visible {
	border-color: var(--mk-newsletter-button-hover-border);
	background: var(--mk-newsletter-button-hover-bg);
	color: var(--mk-newsletter-button-hover-text);
	filter: none;
}

.mk-single-newsletter--theme-form .fn-consent-row {
	margin-block-start: 12px;
	color: var(--mk-newsletter-text-color);
	font-size: 11px;
	line-height: 1.45;
	text-align: start;
}

.mk-single-newsletter--theme-form .fn-consent-row a {
	color: var(--mk-newsletter-title-color);
}

.mk-single-newsletter--theme-form .fn-message {
	margin-block-start: 10px;
}

@media (max-width: 760px) {
	.mk-single-newsletter,
	.mk-single-newsletter--layout-split {
		grid-template-columns: minmax(0, 1fr);
	}

	.mk-single-newsletter__integration {
		inline-size: 100%;
	}
}

@media (max-width: 430px) {
	.mk-single-newsletter--theme-form .fn-form-group {
		grid-template-columns: minmax(0, 1fr);
	}

	.mk-single-newsletter--theme-form .fn-form-group button {
		inline-size: 100%;
	}
}

.mk-post-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--mk-post-nav-gap);
	margin-block-start: var(--mk-post-nav-spacing-top);
	margin-block-end: var(--mk-post-nav-spacing-bottom);
	font-family: var(--mk-post-nav-font-family);
}

.mk-post-navigation--single .mk-post-navigation__item {
	grid-column: 1 / -1;
}

.mk-post-navigation__item {
	display: flex;
	align-items: center;
	gap: var(--mk-space-3);
	min-inline-size: 0;
	padding: var(--mk-post-nav-padding);
	border: var(--mk-post-nav-border-width) solid var(--mk-post-nav-border);
	border-radius: var(--mk-post-nav-radius);
	background: var(--mk-post-nav-bg);
	color: var(--mk-post-nav-title-color);
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mk-post-navigation__item:hover,
.mk-post-navigation__item:focus-visible {
	border-color: var(--mk-post-nav-hover-border);
	background: var(--mk-post-nav-hover-bg);
	color: var(--mk-post-nav-title-hover-color);
	transform: translateY(-2px);
}

.mk-post-navigation__item:focus-visible {
	outline: 2px solid var(--mk-post-nav-hover-border);
	outline-offset: 2px;
}

.mk-post-navigation__content {
	display: flex;
	flex: 1 1 auto;
	min-inline-size: 0;
	flex-direction: column;
	gap: var(--mk-space-1);
}

.mk-post-navigation__next {
	text-align: end;
}

.mk-post-navigation__title {
	color: inherit;
	font-size: var(--mk-post-nav-title-font-size);
	font-weight: var(--mk-post-nav-title-font-weight);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.mk-post-navigation__label {
	color: var(--mk-post-nav-label-color);
	font-size: var(--mk-post-nav-label-font-size);
	font-weight: var(--mk-weight-semibold);
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.mk-post-navigation__arrow {
	flex: 0 0 auto;
	color: var(--mk-post-nav-arrow-color);
	font-size: var(--mk-post-nav-arrow-size);
	font-weight: 700;
	line-height: 1;
}

[dir="rtl"] .mk-post-navigation__arrow {
	transform: scaleX(-1);
}

.mk-page-entry__inner {
	padding: clamp(1.25rem, 4vw, 3rem);
}

.mk-page-header {
	inline-size: min(100%, var(--mk-content-width));
	margin-inline: auto;
	margin-block-end: var(--mk-space-7);
}

.mk-page-title {
	margin: 0;
}

@media (max-width: 767px) {
	.mk-single-meta {
		gap: var(--mk-space-2) var(--mk-space-3);
	}

	.mk-single-newsletter,
	.mk-post-navigation--mobile-stack {
		grid-template-columns: minmax(0, 1fr);
	}

	.mk-post-navigation--mobile-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mk-author-box {
		grid-template-columns: minmax(0, 1fr);
	}


	.mk-post-navigation__next {
		text-align: start;
	}
}


/* MeowKats category badges: Customizer-driven submenu-inspired presentation. */
.mk-story-category,
.mk-card-category,
.mk-compact-story__category,
.mk-archive-featured__category,
.mk-single-category,
.mk-single-meta__category a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 28px;
	padding: var(--mk-category-badge-padding-y) var(--mk-category-badge-padding-x);
	border: var(--mk-category-badge-border-width) solid var(--mk-category-badge-border);
	border-radius: var(--mk-category-badge-radius);
	background: var(--mk-category-badge-bg);
	color: var(--mk-category-badge-text);
	font-family: var(--mk-category-badge-font-family);
	font-size: var(--mk-category-badge-font-size);
	font-weight: var(--mk-category-badge-font-weight);
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: var(--mk-category-badge-text-transform);
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mk-story-category:hover,
.mk-story-category:focus-visible,
.mk-card-category:hover,
.mk-card-category:focus-visible,
.mk-archive-featured__category:hover,
.mk-archive-featured__category:focus-visible,
.mk-single-category:hover,
.mk-single-category:focus-visible,
.mk-single-meta__category a:hover,
.mk-single-meta__category a:focus-visible {
	border-color: var(--mk-category-badge-hover-border);
	background: var(--mk-category-badge-hover-bg);
	color: var(--mk-category-badge-hover-text);
	transform: translateY(-1px);
}


/* Customizer-driven article social sharing presentation. */
.mk-share__link {
	min-block-size: var(--mk-social-button-height);
	border-color: var(--mk-social-border);
	background: var(--mk-social-bg);
	color: var(--mk-social-text);
	font-family: var(--mk-social-font-family);
	font-size: var(--mk-social-font-size);
	font-weight: var(--mk-social-font-weight);
}

.mk-share__icon {
	inline-size: var(--mk-social-icon-size);
	block-size: var(--mk-social-icon-size);
	color: var(--mk-social-icon);
}

.mk-share__link:hover,
.mk-share__link:focus-visible {
	border-color: var(--mk-social-hover-border);
	background: var(--mk-social-hover-bg);
	color: var(--mk-social-hover-text);
}

.mk-share__link:hover .mk-share__icon,
.mk-share__link:focus-visible .mk-share__icon {
	color: currentColor;
}

.mk-share--brand-icons .mk-share__link--facebook .mk-share__icon { color: #1877f2; }
.mk-share--brand-icons .mk-share__link--twitter .mk-share__icon { color: #111111; }
.mk-share--brand-icons .mk-share__link--instagram .mk-share__icon { color: #e1306c; }
.mk-share--brand-icons .mk-share__link--pinterest .mk-share__icon { color: #e60023; }
.mk-share--brand-icons .mk-share__link--bluesky .mk-share__icon { color: #1185fe; }
.mk-share--brand-icons .mk-share__link--gettr .mk-share__icon { color: #ff5b2e; }
.mk-share--brand-icons .mk-share__link--mastodon .mk-share__icon { color: #6364ff; }
.mk-share--brand-icons .mk-share__link--linkedin .mk-share__icon { color: #0a66c2; }
.mk-share--brand-icons .mk-share__link--whatsapp .mk-share__icon { color: #25d366; }


/* RC26: keep category badges content-sized instead of stretching as flex items. */
.mk-card-category,
.mk-story-category,
.mk-archive-featured__category,
.mk-single-category,
.mk-single-meta__category a {
	align-self: flex-start;
	inline-size: fit-content;
	max-inline-size: 100%;
}


/* Article tag chips: configurable presentation kept separate from social sharing. */
.mk-single-tags {
	margin-block-start: var(--mk-tag-spacing-top);
	gap: var(--mk-space-3);
}

.mk-single-tags__items {
	gap: var(--mk-tag-gap);
}

.mk-single-tags__items a {
	min-block-size: auto;
	padding: var(--mk-tag-padding-y) var(--mk-tag-padding-x);
	border: var(--mk-tag-border-width) solid var(--mk-tag-border);
	border-radius: var(--mk-tag-radius);
	background: var(--mk-tag-bg);
	color: var(--mk-tag-text);
	font-family: var(--mk-tag-font-family);
	font-size: var(--mk-tag-font-size);
	font-weight: var(--mk-tag-font-weight);
	line-height: 1.15;
	text-transform: var(--mk-tag-text-transform);
	box-shadow: none;
}

.mk-single-tags__items a:hover,
.mk-single-tags__items a:focus-visible {
	transform: translateY(-2px);
	border-color: var(--mk-tag-hover-border);
	background: var(--mk-tag-hover-bg);
	color: var(--mk-tag-hover-text);
	box-shadow: 0 8px 20px rgb(15 23 42 / 10%);
}

.mk-single-tags__items a:focus-visible {
	outline: 2px solid var(--mk-tag-hover-border);
	outline-offset: 2px;
}


.mk-single-meta__views {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
	white-space: nowrap;
}

.mk-single-meta__views-icon {
	inline-size: 1.05em;
	block-size: 1.05em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Compact MeowKats Tools navigation at the beginning of single articles. */
.mk-article-tools {
	inline-size: min(100%, var(--mk-article-content-stretched-width, 1040px));
	max-inline-size: 100%;
	margin: 0 auto var(--mk-article-tools-spacing-bottom, 28px);
	padding: var(--mk-article-tools-padding, 14px);
	border: var(--mk-article-tools-border-width, 1px) solid var(--mk-article-tools-border, #e5e7eb);
	border-block-start: 3px solid var(--mk-article-tools-accent, #ff742c);
	border-radius: var(--mk-article-tools-radius, 12px);
	background: var(--mk-article-tools-bg, #f8fafc);
	box-shadow: 0 8px 24px rgb(8 19 33 / 6%);
}

.mk-article-tools__heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin-block-end: 10px;
	color: var(--mk-article-tools-label, #1f2a44);
	font-size: calc(var(--mk-article-tools-font-size, 13px) + 1px);
	font-weight: 800;
	line-height: 1.25;
}

.mk-article-tools__paw {
	display: inline-grid;
	place-items: center;
	inline-size: 24px;
	block-size: 24px;
	color: var(--mk-article-tools-accent, #ff742c);
}

.mk-article-tools__paw svg {
	inline-size: 20px;
	block-size: 20px;
}

.mk-article-tools__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
	gap: var(--mk-article-tools-gap, 10px);
}

.mk-article-tool {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-inline-size: 0;
	min-block-size: var(--mk-article-tools-button-height, 42px);
	padding-inline: 0.85rem;
	border: 1px solid transparent;
	border-radius: max(7px, calc(var(--mk-article-tools-radius, 12px) - 3px));
	background: var(--mk-article-tools-button-bg, #1f2a44);
	color: var(--mk-article-tools-button-text, #fff);
	font-size: var(--mk-article-tools-font-size, 13px);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.mk-article-tool__icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	inline-size: var(--mk-article-tools-icon-size, 18px);
	block-size: var(--mk-article-tools-icon-size, 18px);
	color: var(--mk-article-tools-accent, #ff742c);
}

.mk-article-tool__icon svg {
	inline-size: 100%;
	block-size: 100%;
}

.mk-article-tool__text {
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

.mk-article-tool:hover,
.mk-article-tool:focus-visible {
	background: var(--mk-article-tools-hover-bg, #ff742c);
	color: var(--mk-article-tools-hover-text, #081321);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgb(8 19 33 / 12%);
}

.mk-article-tool:hover .mk-article-tool__icon,
.mk-article-tool:focus-visible .mk-article-tool__icon {
	color: currentColor;
}

@media (min-width: 1024px) {
	.mk-article-tools--hide-desktop { display: none !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.mk-article-tools--hide-tablet { display: none !important; }
}

@media (max-width: 767px) {
	.mk-article-tools--hide-mobile { display: none !important; }
	.mk-article-tools__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
	.mk-article-tools__list { grid-template-columns: 1fr; }
}

