/*
Theme Name: Lumio
Theme URI: https://github.com/chandrapatel/lumio
Author: Chandra Patel
Author URI: https://chandra.dev/
Description: Lumio is a clean block theme built for writers. Fluid typography, generous whitespace, and a focused reading experience — for any blog, any topic.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.2
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lumio
Tags: blog, one-column, custom-colors, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks
*/

/* ── Global resets ── */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ── Accessibility: reduced motion ── */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}

/* ── Focus rings ── */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand-soft);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--xs);
}

a:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand-soft);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--xs);
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand-soft);
	outline-offset: 2px;
}

/* ── Link styles ── */
.entry-content a,
.wp-block-post-content a {
	color: var(--wp--preset--color--brand-hover);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--brand);
	text-underline-offset: 3px;
	text-decoration-thickness: 2px;
	transition: color 0.15s, text-decoration-color 0.15s;
}

.entry-content a:hover,
.wp-block-post-content a:hover {
	color: var(--wp--preset--color--brand-deep);
	text-decoration-thickness: 3px;
}

.entry-content a:visited,
.wp-block-post-content a:visited {
	color: var(--wp--preset--color--link-visited-deep);
	text-decoration-color: var(--wp--preset--color--link-visited);
}

/* ── Header ── */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: rgba(238, 240, 251, 0.92);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.site-header .wp-block-site-title a {
	font-family: 'Outfit', system-ui, sans-serif;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--brand);
	text-decoration: none !important;
	transition: color 0.15s;
}

.site-header .wp-block-site-title a:hover {
	color: var(--wp--preset--color--brand-hover);
}

.site-header .wp-block-navigation a {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--text-secondary);
	text-decoration: none;
	transition: color 0.15s;
}

.site-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--brand-hover);
}

/* ── Buttons ── */
.wp-block-button__link,
.wp-element-button {
	transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.05s;
}

.wp-block-button__link:active,
.wp-element-button:active {
	transform: translateY(1px);
}

/* ── Post title link ── */
.wp-block-post-title a {
	text-decoration: none !important;
	transition: color 0.15s;
}

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--brand-hover) !important;
}

/* ── Post list card spacing ── */
.lumio-post-card {
	padding-bottom: var(--wp--preset--spacing--7);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lumio-post-card:last-child {
	border-bottom: none;
}

/* ── Post meta row ── */
.lumio-post-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--text-muted);
}

.lumio-post-meta .wp-block-post-terms a {
	color: var(--wp--preset--color--brand-hover) !important;
	text-decoration: none !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: color 0.15s;
}

.lumio-post-meta .wp-block-post-terms a:hover {
	color: var(--wp--preset--color--brand-deep) !important;
}

/*  --- Post Terms (categories/tags) --- */
.wp-block-post-terms {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wp-block-post-terms a {
	transition: background .15s, border-color .15s;
}

.wp-block-post-terms .wp-block-post-terms__separator {
	display: none;
}


/* ── Pullquote ── */
.wp-block-pullquote {
	border: none !important;
	border-left: 3px solid var(--wp--preset--color--brand) !important;
	padding: 4px 0 4px 24px !important;
	margin: 0;
}

.wp-block-pullquote blockquote {
	margin: 0;
}

.wp-block-pullquote cite,
.wp-block-pullquote blockquote cite {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-style: normal;
	font-size: 14px;
	color: var(--wp--preset--color--text-muted);
	letter-spacing: 0;
	display: block;
	margin-top: 12px;
}

/* ── Quote ── */
.wp-block-quote {
	border-left: 3px solid var(--wp--preset--color--brand) !important;
	padding: 4px 0 4px 24px;
	margin: 0;
}

.wp-block-quote cite {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-style: normal;
	font-size: 14px;
	color: var(--wp--preset--color--text-muted);
	display: block;
	margin-top: 12px;
}

/* ── Code ── */
code {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: 0.875em;
	color: var(--wp--preset--color--brand-hover);
	background: var(--wp--preset--color--brand-soft);
	padding: 2px 6px;
	border-radius: var(--wp--custom--radius--xs);
}

.wp-block-code code {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: inherit;
	color: inherit;
	background: none;
	padding: 0;
	border-radius: 0;
}

/* ── Table ── */

/* Border + radius on the figure wrapper — overflow:hidden on <table> doesn't clip in browsers */
.wp-block-table {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--default);
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	margin-left: 0;
	margin-right: 0;
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
}

.wp-block-table thead th {
	font-family: 'Outfit', system-ui, sans-serif;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: -0.005em;
	padding: 14px 20px;
	background: var(--wp--preset--color--background-subtle);
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text);
	text-align: left;
}

.wp-block-table tfoot td,
.wp-block-table tfoot th {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	font-weight: 600;
	padding: 12px 20px;
	background: var(--wp--preset--color--background-subtle);
	border-top: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text);
}

.wp-block-table td,
.wp-block-table tbody th {
	padding: 14px 20px;
	border-bottom: 1px solid var(--wp--preset--color--border);
	vertical-align: top;
	color: var(--wp--preset--color--text-body);
}

.wp-block-table tbody tr:last-child td,
.wp-block-table tbody tr:last-child th {
	border-bottom: none;
}

/* Striped table style */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--background-subtle);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background-color: var(--wp--preset--color--surface);
}

/* Inline code inside table cells */
.wp-block-table td code,
.wp-block-table th code {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: 12px;
	color: var(--wp--preset--color--brand-hover);
	background: var(--wp--preset--color--brand-soft);
	padding: 2px 6px;
	border-radius: var(--wp--custom--radius--xs);
}

/* Table caption */
.wp-block-table figcaption {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--text-muted);
	text-align: center;
	padding: 10px 20px 14px;
	border-top: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--background-subtle);
}

/* ── Lists ── */
.wp-block-list li::marker,
.entry-content ul li::marker {
	color: var(--wp--preset--color--brand);
}

/* ── Separator ── */
.wp-block-separator {
	border-color: var(--wp--preset--color--border) !important;
}

.wp-block-separator.is-style-wide {
	border-color: var(--wp--preset--color--border) !important;
}

/* ── Pagination ── */
.wp-block-query-pagination {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	margin-top: var(--wp--preset--spacing--7);
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border-radius: var(--wp--custom--radius--sm);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text-secondary);
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
	border-color: var(--wp--preset--color--text);
	color: var(--wp--preset--color--text);
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff;
}

/* ── Post featured image ── */
.wp-block-post-featured-image img {
	border-radius: var(--wp--custom--radius--default);
	display: block;
	width: 100%;
	height: auto;
}

/* ── Single post layout ── */
.lumio-post-header {
	padding-bottom: var(--wp--preset--spacing--7);
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: var(--wp--preset--spacing--7);
}

/* ── Footer ── */
.site-footer {
	border-top: 1px solid var(--wp--preset--color--border);
}

.site-footer a {
	text-decoration: none;
	transition: color 0.15s;
}

/* ── 404 Page ── */

.lumio-error-eyebrow {
	font-family: 'Fira Code', ui-monospace, monospace !important;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem) !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--brand) !important;
}

/* Outlined 404 with gradient fill visible through transparent letter interiors */
.lumio-error-num {
	font-family: 'Outfit', system-ui, sans-serif !important;
	font-weight: 500 !important;
	font-size: clamp(120px, 18vw, 200px) !important;
	line-height: 0.9 !important;
	letter-spacing: -0.04em !important;
	color: transparent !important;
	-webkit-text-stroke: 2px var(--wp--preset--color--brand-200);
	user-select: none;
	position: relative;
}

.lumio-error-num::after {
	content: "404";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--wp--preset--color--brand-soft) 0%, var(--wp--preset--color--background-alt) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	z-index: -1;
}

.lumio-error-columns .wp-block-column:last-child {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

@media (max-width: 900px) {
	.lumio-error-columns.wp-block-columns {
		flex-direction: column !important;
	}

	.lumio-error-num {
		font-size: clamp(80px, 22vw, 140px) !important;
	}

	.lumio-error-columns .wp-block-column:last-child {
		justify-content: flex-start;
	}

	.lumio-error-num.has-text-align-right {
		text-align: left !important;
	}
}

.lumio-quick-link .wp-block-button__link {
	background: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--text-secondary) !important;
	border-color: var(--wp--preset--color--border) !important;
	font-size: var(--wp--preset--font-size--sm) !important;
	transition: border-color 0.15s, color 0.15s, background 0.15s !important;
}

.lumio-quick-link .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--brand-300) !important;
	color: var(--wp--preset--color--brand-hover) !important;
	background: var(--wp--preset--color--brand-soft) !important;
}

.lumio-recent-card {
	overflow: hidden;
	transition: box-shadow 0.15s, transform 0.15s;
	text-decoration: none !important;
}

.lumio-recent-card:hover {
	box-shadow: 0 4px 20px rgba(67, 67, 215, 0.08);
	transform: translateY(-2px);
}

.lumio-recent-card .wp-block-post-title a {
	text-decoration: none !important;
	transition: color 0.15s;
}

.lumio-recent-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--brand-hover) !important;
}

.lumio-browse-all a {
	color: var(--wp--preset--color--brand-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 500;
	transition: color 0.15s;
}

.lumio-browse-all a:hover {
	color: var(--wp--preset--color--brand-deep);
}

/* ── 404 / search / no results (legacy class kept for backwards compat) ── */
.lumio-not-found-title {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: clamp(4rem, 10vw, 8rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--brand-200);
	margin-bottom: 0;
}

/* ── Search form in blocks ── */
.wp-block-search__input {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(1rem, 0.44vw + 0.9rem, 1.125rem);
	padding: 11px 14px;
	border-radius: var(--wp--custom--radius--sm);
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	transition: border-color 0.15s, box-shadow 0.15s;
	width: 100%;
}

.wp-block-search__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px var(--wp--preset--color--brand-soft);
}

.wp-block-search__button {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-weight: 500;
	background: var(--wp--preset--color--brand);
	color: #fff;
	border: none;
	padding: 11px 20px;
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
	transition: background 0.15s;
}

.wp-block-search__button:hover {
	background: var(--wp--preset--color--brand-hover);
}

/* ── Post navigation ── */
.wp-block-post-navigation-link a {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	font-weight: 500;
	color: var(--wp--preset--color--brand-hover);
	text-decoration: none;
	transition: color 0.15s;
}

.wp-block-post-navigation-link a:hover {
	color: var(--wp--preset--color--brand-deep);
}

/* ── Comments ── */
.wp-block-comments {
	font-family: 'Fira Sans', system-ui, sans-serif;
}

.comment-respond .comment-form input,
.comment-respond .comment-form textarea {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: 14px;
	padding: 11px 14px;
	border-radius: var(--wp--custom--radius--sm);
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	transition: border-color 0.15s, box-shadow 0.15s;
}

.comment-respond .comment-form input:focus,
.comment-respond .comment-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px var(--wp--preset--color--brand-soft);
}

/* ── Archive title ── */
.wp-block-query-title,
.wp-block-post-terms__title {
	font-family: 'Outfit', system-ui, sans-serif;
	font-weight: 500;
	letter-spacing: -0.015em;
}

/* ── Sticky header: overflow:hidden on ancestors breaks position:sticky ── */
html,
body,
.wp-site-blocks {
	overflow: visible !important;
}

.wp-site-blocks {
	padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════
   FORM ELEMENTS
   Applies to: comment form, search block, login,
   and any WP-rendered form on the front end.
═══════════════════════════════════════════════ */

/* Shared input/select/textarea base */
.wp-block-post-comments-form input[type="text"],
.wp-block-post-comments-form input[type="email"],
.wp-block-post-comments-form input[type="url"],
.wp-block-post-comments-form textarea,
.comment-respond .comment-form input[type="text"],
.comment-respond .comment-form input[type="email"],
.comment-respond .comment-form input[type="url"],
.comment-respond .comment-form textarea,
.wp-block-search__input,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	padding: 11px 14px;
	border-radius: var(--wp--custom--radius--sm);
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	width: 100%;
	transition: border-color 0.15s, box-shadow 0.15s;
	appearance: none;
	-webkit-appearance: none;
}

/* Focus state */
.wp-block-post-comments-form input[type="text"]:focus,
.wp-block-post-comments-form input[type="email"]:focus,
.wp-block-post-comments-form input[type="url"]:focus,
.wp-block-post-comments-form textarea:focus,
.comment-respond .comment-form input[type="text"]:focus,
.comment-respond .comment-form input[type="email"]:focus,
.comment-respond .comment-form input[type="url"]:focus,
.comment-respond .comment-form textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px var(--wp--preset--color--brand-soft);
}

/* Placeholder text */
.wp-block-post-comments-form input::placeholder,
.wp-block-post-comments-form textarea::placeholder,
.comment-respond .comment-form input::placeholder,
.comment-respond .comment-form textarea::placeholder,
.wp-block-search__input::placeholder {
	color: var(--wp--preset--color--text-subtle);
	opacity: 1;
}

/* Invalid / error state — set via aria-invalid="true" or .invalid class */
.wp-block-post-comments-form input[aria-invalid="true"],
.wp-block-post-comments-form textarea[aria-invalid="true"],
.comment-respond .comment-form input.error,
.comment-respond .comment-form textarea.error,
.wpcf7 .wpcf7-not-valid {
	border-color: #9a1c1c;
	box-shadow: 0 0 0 3px #f8e4e4;
}

/* Textarea */
.wp-block-post-comments-form textarea,
.comment-respond .comment-form textarea,
.wpcf7 textarea {
	min-height: 120px;
	resize: vertical;
	line-height: 1.65;
}

/* Labels */
.wp-block-post-comments-form label,
.comment-respond .comment-form label,
.wpcf7 label {
	display: block;
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	font-weight: 500;
	color: var(--wp--preset--color--text-body);
	letter-spacing: -0.005em;
	margin-bottom: 6px;
}

/* Field wrapper — adds spacing between fields */
.wp-block-post-comments-form p,
.comment-respond .comment-form p {
	margin-bottom: 18px;
}

/* Help / description text */
.comment-form .description,
.wp-block-post-comments-form .description,
.comment-notes {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem);
	color: var(--wp--preset--color--text-muted);
	margin-top: 4px;
	display: block;
}

/* Validation error message */
.wpcf7-not-valid-tip,
.comment-form .form-submit .comment-error {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem);
	color: #9a1c1c;
	margin-top: 4px;
	display: block;
}

/* Select — custom arrow */
.wpcf7 select,
.comment-respond select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2361616b' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
	cursor: pointer;
}

/* Radio & checkbox — accent colour */
.wp-block-post-comments-form input[type="checkbox"],
.wp-block-post-comments-form input[type="radio"],
.comment-respond .comment-form input[type="checkbox"],
.comment-respond .comment-form input[type="radio"] {
	accent-color: var(--wp--preset--color--brand);
	width: 16px;
	height: 16px;
	cursor: pointer;
	flex-shrink: 0;
}

/* Comment form submit button */
.wp-block-post-comments-form .form-submit input[type="submit"],
.comment-respond .comment-form .form-submit input[type="submit"] {
	font-family: 'Fira Sans', system-ui, sans-serif;
	font-weight: 500;
	font-size: clamp(0.8125rem, 0.22vw + 0.75rem, 0.875rem);
	letter-spacing: -0.005em;
	padding: 11px 20px;
	border-radius: var(--wp--custom--radius--sm);
	border: 1px solid transparent;
	background: var(--wp--preset--color--brand);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.15s, transform 0.05s;
	width: auto;
}

.wp-block-post-comments-form .form-submit input[type="submit"]:hover,
.comment-respond .comment-form .form-submit input[type="submit"]:hover {
	background: var(--wp--preset--color--brand-hover);
}

.wp-block-post-comments-form .form-submit input[type="submit"]:active,
.comment-respond .comment-form .form-submit input[type="submit"]:active {
	transform: translateY(1px);
}

/* ═══════════════════════════════════════════════
   IMAGE & MEDIA CAPTIONS
═══════════════════════════════════════════════ */

.wp-block-image figcaption,
.wp-block-image .wp-element-caption,
.wp-block-gallery figcaption,
.wp-block-gallery .wp-element-caption,
.wp-block-embed figcaption,
.wp-block-video figcaption,
.wp-block-audio figcaption {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: clamp(0.625rem, 0.44vw + 0.52rem, 0.75rem);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--text-muted);
	text-align: center;
	margin-top: 10px;
}

/* ═══════════════════════════════════════════════
   INLINE TYPOGRAPHY (inside post content)
═══════════════════════════════════════════════ */

.wp-block-post-content strong,
.entry-content strong {
	font-weight: 600;
	color: var(--wp--preset--color--text);
}

.wp-block-post-content em,
.entry-content em {
	font-style: italic;
}

/* Highlighted text — uses the brand-soft palette colour */
.wp-block-post-content mark,
.entry-content mark {
	background-color: var(--wp--preset--color--brand-soft);
	color: var(--wp--preset--color--text);
	padding: 1px 3px;
	border-radius: var(--wp--custom--radius--xs);
}

.wp-block-post-content del,
.entry-content del,
.wp-block-post-content s,
.entry-content s {
	color: var(--wp--preset--color--text-muted);
	text-decoration-color: var(--wp--preset--color--text-subtle);
}

.wp-block-post-content abbr[title],
.entry-content abbr[title] {
	text-decoration: underline dotted var(--wp--preset--color--text-subtle);
	cursor: help;
}

.wp-block-post-content sub,
.entry-content sub,
.wp-block-post-content sup,
.entry-content sup {
	font-size: 0.75em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

.wp-block-post-content sup,
.entry-content sup { top: -0.5em; }

.wp-block-post-content sub,
.entry-content sub { bottom: -0.25em; }

.wp-block-post-content kbd,
.entry-content kbd {
	font-family: 'Fira Code', ui-monospace, monospace;
	font-size: 0.85em;
	background: var(--wp--preset--color--background-subtle);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-bottom-width: 2px;
	border-radius: var(--wp--custom--radius--xs);
	padding: 1px 6px;
	color: var(--wp--preset--color--text);
}

/* ═══════════════════════════════════════════════
   POST CONTENT SPACING
   Tightens the blockGap between headings that
   immediately follow paragraphs and vice versa.
═══════════════════════════════════════════════ */

.wp-block-post-content > * + h2,
.wp-block-post-content > * + h3,
.wp-block-post-content > * + h4 {
	margin-top: var(--wp--preset--spacing--7);
}

.wp-block-post-content > h2 + *,
.wp-block-post-content > h3 + *,
.wp-block-post-content > h4 + * {
	margin-top: var(--wp--preset--spacing--3);
}

/* Keep consecutive paragraphs at standard gap */
.wp-block-post-content > p + p {
	margin-top: var(--wp--preset--spacing--5);
}

/* Post Author Block */
.wp-block-post-author__avatar img {
	border-radius: 50%;
}
.wp-block-post-author__byline {
	color: var(--wp--preset--color--text-muted);
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.wp-block-post-author__name {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
}
.wp-block-post-author__bio {
	font-family: var(--wp--preset--font-family--fira-sans);
	font-size: var(--wp--preset--font-size--base);
}

/* Search results title */
.lumio-search-query {
	border-bottom: 3px solid var(--wp--preset--color--brand-200);
	color: var(--wp--preset--color--brand-hover);
}

/* Misc fixes */
.wp-block-group:empty {
	display: none;
}
