/*
Theme Name: OHLCX Blog
Theme URI: https://www.ohlcx.com
Author: OHLCX Technologies
Author URI: https://www.ohlcx.com
Description: Blog theme aligned with ohlcx.com — dark execution-first branding, DM Sans and Syne typography, and platform color tokens. Child theme of Twenty Twenty-Five.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ohlcx-blog
Template: twentytwentyfive
*/

/* Front-end refinements layered on top of theme.json / parent styles. */

:root {
	color-scheme: dark;
	--ohlcx-site-content-max-width: 1200px;
}

::selection {
	background-color: rgba(77, 181, 232, 0.35);
	color: #fff;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid #4db5e8;
	outline-offset: 2px;
}

.ohlcx-skip-link {
	position: absolute;
	left: 1rem;
	top: 0.5rem;
	padding: 0.55rem 0.85rem;
	border-radius: 0.35rem;
	background: var(--wp--preset--color--accent-3, #e25629);
	color: var(--wp--preset--color--contrast, #fff);
	text-decoration: none;
	transform: translateY(-160%);
	transition: transform 150ms ease;
	z-index: 10000;
}

.ohlcx-skip-link:focus,
.ohlcx-skip-link:focus-visible {
	transform: translateY(0);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.wp-site-blocks footer a {
	text-underline-offset: 0.15em;
}

footer .wp-block-group .has-small-font-size strong {
	color: var(--wp--preset--color--contrast, #fff);
	font-weight: 700;
}

/* Blog / archive / search: full-width query sits flush to viewport — inset to match root padding */
main .wp-block-query.alignfull {
	padding-left: var(--wp--style--root--padding-left, var(--wp--preset--spacing--50));
	padding-right: var(--wp--style--root--padding-right, var(--wp--preset--spacing--50));
}

.ohlcx-blog-page-title-wrap {
	padding-left: var(--wp--style--root--padding-left, var(--wp--preset--spacing--50));
	padding-right: var(--wp--style--root--padding-right, var(--wp--preset--spacing--50));
	margin-bottom: clamp(0.75rem, 2vw, 1.25rem);
}

.ohlcx-blog-page-title-wrap > .ohlcx-blog-page-title {
	max-width: min(100%, var(--ohlcx-site-content-max-width));
	margin-left: auto;
	margin-right: auto;
}

main .wp-block-query.alignfull > .wp-block-post-template,
main .wp-block-query.alignfull > .wp-block-query-pagination,
main .wp-block-query.alignfull > .wp-block-group.alignwide {
	max-width: min(100%, var(--ohlcx-site-content-max-width));
	margin-left: auto;
	margin-right: auto;
}

/* Single post: same horizontal inset as list pages; inner column uses alignwide (see single.html) */
.ohlcx-blog-single-main {
	box-sizing: border-box;
}

.ohlcx-blog-page-inner.alignwide,
.ohlcx-blog-single-inner.alignfull,
.wp-site-blocks > main.wp-block-group > .wp-block-group.alignwide,
.wp-site-blocks > main.wp-block-group > .wp-block-group.alignfull {
	max-width: min(100%, var(--ohlcx-site-content-max-width));
	margin-left: auto;
	margin-right: auto;
}

/* Keep short/smaller pages visually substantial with a fuller content shell. */
.ohlcx-blog-page-inner,
.ohlcx-blog-single-inner {
	padding-inline: clamp(1rem, 2vw, 1.65rem);
	border-radius: 10px;
	background: color-mix(in srgb, var(--wp--preset--color--accent-5, #152848) 72%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 18%, transparent);
	box-shadow: 0 10px 26px color-mix(in srgb, #000 16%, transparent);
}

/*
 * Post & page body: readable space above in-content headings (scoped to main only
 * so footer/site chrome h2–h4 are unaffected).
 */
/* Markdown → HTML posts: headings may be direct children or inside freeform/classic wrappers */
main .wp-block-post-content h2 {
	margin-top: clamp(2.35rem, 5vw, 3rem);
	margin-bottom: 0.55em;
}

main .wp-block-post-content h2:first-child {
	margin-top: 0;
}

main .wp-block-post-content h3 {
	margin-top: clamp(1.85rem, 4vw, 2.5rem);
	margin-bottom: 0.45em;
}

main .wp-block-post-content h3:first-child {
	margin-top: 0;
}

main .wp-block-post-content h4 {
	margin-top: clamp(1.5rem, 3.5vw, 2rem);
	margin-bottom: 0.4em;
}

main .wp-block-post-content h4:first-child {
	margin-top: 0;
}

/* -------------------------------------------------------------------------
   Detail layouts: static pages + single article prose (spacing, hierarchy)
   ------------------------------------------------------------------------- */
.ohlcx-blog-page-main {
	box-sizing: border-box;
}

.ohlcx-blog-page-main .wp-block-post-featured-image {
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 12px 40px color-mix(in srgb, #000 28%, transparent);
}

.ohlcx-blog-page-main .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
}

.ohlcx-blog-single-inner .wp-block-post-featured-image img {
	border-radius: 8px;
}

/* Shared prose rhythm: section headings, lists, tables, quotes */
.ohlcx-blog-page-inner .wp-block-post-content,
.ohlcx-blog-single-inner .wp-block-post-content {
	max-width: 100%;
	--wp--style--global--content-size: min(100%, 980px);
}

.ohlcx-blog-page-inner .wp-block-post-content > *,
.ohlcx-blog-single-inner .wp-block-post-content > * {
	max-width: min(100%, 980px);
	margin-left: auto;
	margin-right: auto;
}

.ohlcx-blog-page-inner .wp-block-post-content > .alignwide,
.ohlcx-blog-page-inner .wp-block-post-content > .alignfull,
.ohlcx-blog-single-inner .wp-block-post-content > .alignwide,
.ohlcx-blog-single-inner .wp-block-post-content > .alignfull {
	max-width: 100%;
}

.ohlcx-blog-page-inner .wp-block-post-content h2,
.ohlcx-blog-page-inner .wp-block-post-content h3,
.ohlcx-blog-page-inner .wp-block-post-content h4,
.ohlcx-blog-single-inner .wp-block-post-content h2,
.ohlcx-blog-single-inner .wp-block-post-content h3,
.ohlcx-blog-single-inner .wp-block-post-content h4 {
	margin-top: clamp(2.25rem, 5vw, 3.25rem);
	margin-bottom: 0.85rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 22%, transparent);
}

.ohlcx-blog-page-inner .wp-block-post-content h1 + h2,
.ohlcx-blog-page-inner .wp-block-post-content h1 + h3,
.ohlcx-blog-single-inner .wp-block-post-content h1 + h2,
.ohlcx-blog-single-inner .wp-block-post-content h1 + h3 {
	margin-top: 1.35rem;
}

.ohlcx-blog-page-inner .wp-block-post-content > h1:first-child,
.ohlcx-blog-single-inner .wp-block-post-content > h1:first-child {
	margin-top: 0;
	margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
	letter-spacing: -0.03em;
}

.ohlcx-blog-page-inner .wp-block-post-content > p.has-large-font-size,
.ohlcx-blog-single-inner .wp-block-post-content > p.has-large-font-size {
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 92%, transparent);
}

.ohlcx-blog-page-inner .wp-block-post-content > p + p,
.ohlcx-blog-single-inner .wp-block-post-content > p + p {
	margin-top: 0.15em;
}

.ohlcx-blog-page-inner .wp-block-post-content .wp-block-list,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-list {
	margin-top: 1rem;
	margin-bottom: 1.35rem;
	padding-left: 1.35rem;
}

.ohlcx-blog-page-inner .wp-block-post-content .wp-block-list li,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-list li {
	margin-bottom: 0.65rem;
	padding-left: 0.25rem;
}

.ohlcx-blog-page-inner .wp-block-post-content .wp-block-list li::marker,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-list li::marker {
	color: var(--wp--preset--color--accent-1, #4db5e8);
}

.ohlcx-blog-page-inner .wp-block-post-content blockquote,
.ohlcx-blog-single-inner .wp-block-post-content blockquote {
	margin: 1.75rem 0;
	padding: 1rem 1.25rem 1rem 1.1rem;
	border-left: 4px solid var(--wp--preset--color--accent-3, #e25629);
	background: color-mix(in srgb, var(--wp--preset--color--accent-5, #152848) 88%, transparent);
	border-radius: 0 6px 6px 0;
}

.ohlcx-blog-page-inner .wp-block-post-content hr,
.ohlcx-blog-single-inner .wp-block-post-content hr {
	margin: clamp(2rem, 4vw, 2.75rem) 0;
	opacity: 0.85;
}

.ohlcx-blog-page-inner .wp-block-post-content .wp-block-table,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-table {
	margin: 1.75rem 0;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 4px 24px color-mix(in srgb, #000 22%, transparent);
}

.ohlcx-blog-page-inner .wp-block-post-content .wp-block-table td,
.ohlcx-blog-page-inner .wp-block-post-content .wp-block-table th,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-table td,
.ohlcx-blog-single-inner .wp-block-post-content .wp-block-table th {
	padding: 0.65rem 0.85rem;
}

.ohlcx-blog-page-inner .wp-block-post-content a,
.ohlcx-blog-single-inner .wp-block-post-content a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

/* Blog / archive index: excerpt list + compact featured image */
.ohlcx-blog-archive-row {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 26%, transparent);
	border-radius: 14px;
	padding: clamp(1rem, 2.4vw, 1.5rem);
	background: color-mix(in srgb, var(--wp--preset--color--accent-5, #152848) 88%, transparent);
	box-shadow: 0 12px 30px color-mix(in srgb, #000 24%, transparent);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.ohlcx-blog-archive-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px color-mix(in srgb, #000 30%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 55%, transparent);
}

.ohlcx-blog-archive-row .wp-block-post-featured-image {
	flex: 0 0 auto;
	align-self: flex-start;
	max-width: min(100%, 18rem);
}

.ohlcx-blog-archive-row .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 8px 24px color-mix(in srgb, #000 24%, transparent);
}

.ohlcx-blog-archive-body {
	flex: 1 1 18rem;
	min-width: 0;
}

.ohlcx-blog-archive-taxonomies {
	margin-bottom: 0.25rem;
}

.ohlcx-blog-archive-taxonomies .wp-block-post-terms {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.35;
}

.ohlcx-blog-archive-categories a,
.ohlcx-blog-archive-tags a {
	text-decoration: none;
}

.ohlcx-blog-archive-categories a:hover,
.ohlcx-blog-archive-categories a:focus-visible,
.ohlcx-blog-archive-tags a:hover,
.ohlcx-blog-archive-tags a:focus-visible {
	text-decoration: underline;
}

.ohlcx-blog-archive-categories {
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 88%, #fff);
}

.ohlcx-blog-archive-tags {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 72%, transparent);
}

/* Footer: full-width band + alignwide content (matches header shell) */
.wp-site-blocks > footer,
footer.wp-block-template-part {
	box-sizing: border-box;
	width: 100%;
}

footer .ohlcx-footer-brand-row {
	row-gap: var(--wp--preset--spacing--40, 1.25rem);
	column-gap: var(--wp--preset--spacing--40, 1.25rem);
}

/*
 * Footer social: WordPress may flatten the list (e.g. ul display:contents), so <li>
 * can appear directly under <nav>. Flex + icon fills must apply to nav AND override
 * theme rules that force black SVGs.
 */
footer .ohlcx-footer-social-nav,
footer .ohlcx-footer-social.wp-block-social-links {
	--ohlcx-footer-social-cell: 3rem;
	--ohlcx-footer-social-icon: 1.875rem;
}

footer .ohlcx-footer-social-nav {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.5rem;
	margin-left: auto;
	flex: 0 0 auto;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	list-style: none;
	padding: 0;
}

footer .ohlcx-footer-social-nav ul.wp-block-social-links,
footer .ohlcx-footer-social.wp-block-social-links {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	list-style: none;
	margin: 0;
	padding: 0;
	width: max-content !important;
	max-width: none;
	min-width: 0;
	column-gap: 0.5rem;
	row-gap: 0;
}

footer .ohlcx-footer-social-nav li.wp-social-link,
footer .ohlcx-footer-social li.wp-social-link {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Uniform hit target + glyph box so every network reads at the same visual size. */
footer .ohlcx-footer-social-nav .wp-block-social-link-anchor,
footer .ohlcx-footer-social .wp-block-social-link-anchor {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--ohlcx-footer-social-cell, 3rem);
	height: var(--ohlcx-footer-social-cell, 3rem);
	min-width: var(--ohlcx-footer-social-cell, 3rem);
	min-height: var(--ohlcx-footer-social-cell, 3rem);
	padding: 0;
	border-radius: 8px;
	flex-shrink: 0;
	line-height: 0;
	box-sizing: border-box;
}

/* Icon size — override SVG width/height attributes; keep width === height. */
footer .ohlcx-footer-social-nav .wp-block-social-link-anchor svg,
footer .ohlcx-footer-social .wp-block-social-link-anchor svg {
	width: var(--ohlcx-footer-social-icon, 1.875rem) !important;
	height: var(--ohlcx-footer-social-icon, 1.875rem) !important;
	min-width: var(--ohlcx-footer-social-icon, 1.875rem);
	min-height: var(--ohlcx-footer-social-icon, 1.875rem);
	max-width: var(--ohlcx-footer-social-icon, 1.875rem) !important;
	max-height: var(--ohlcx-footer-social-icon, 1.875rem) !important;
	flex-shrink: 0;
	display: block;
	overflow: visible;
}

/* Force visible brand fills (paths do not always inherit `color`). */
footer .ohlcx-footer-social-nav .wp-social-link-youtube .wp-block-social-link-anchor,
footer .ohlcx-footer-social-nav .wp-social-link-youtube .wp-block-social-link-anchor:visited {
	color: #ff0033 !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-youtube svg,
footer .ohlcx-footer-social-nav .wp-social-link-youtube path,
footer .ohlcx-footer-social .wp-social-link-youtube svg,
footer .ohlcx-footer-social .wp-social-link-youtube path {
	fill: #ff0033 !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-x .wp-block-social-link-anchor,
footer .ohlcx-footer-social-nav .wp-social-link-x .wp-block-social-link-anchor:visited {
	color: #f9fafb !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-x svg,
footer .ohlcx-footer-social-nav .wp-social-link-x path,
footer .ohlcx-footer-social .wp-social-link-x svg,
footer .ohlcx-footer-social .wp-social-link-x path {
	fill: #f9fafb !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-feed .wp-block-social-link-anchor,
footer .ohlcx-footer-social-nav .wp-social-link-feed .wp-block-social-link-anchor:visited {
	color: #f97316 !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-feed svg,
footer .ohlcx-footer-social-nav .wp-social-link-feed path,
footer .ohlcx-footer-social .wp-social-link-feed svg,
footer .ohlcx-footer-social .wp-social-link-feed path {
	fill: #f97316 !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-mail .wp-block-social-link-anchor,
footer .ohlcx-footer-social-nav .wp-social-link-mail .wp-block-social-link-anchor:visited {
	color: #93c5fd !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-mail svg,
footer .ohlcx-footer-social-nav .wp-social-link-mail path,
footer .ohlcx-footer-social .wp-social-link-mail svg,
footer .ohlcx-footer-social .wp-social-link-mail path {
	fill: #93c5fd !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-youtube .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social-nav .wp-social-link-youtube .wp-block-social-link-anchor:focus-visible,
footer .ohlcx-footer-social .wp-social-link-youtube .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social .wp-social-link-youtube .wp-block-social-link-anchor:focus-visible {
	color: #ff335f !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-youtube:hover svg,
footer .ohlcx-footer-social-nav .wp-social-link-youtube:hover path,
footer .ohlcx-footer-social-nav .wp-social-link-youtube:focus-within svg,
footer .ohlcx-footer-social-nav .wp-social-link-youtube:focus-within path,
footer .ohlcx-footer-social .wp-social-link-youtube:hover svg,
footer .ohlcx-footer-social .wp-social-link-youtube:hover path,
footer .ohlcx-footer-social .wp-social-link-youtube:focus-within svg,
footer .ohlcx-footer-social .wp-social-link-youtube:focus-within path {
	fill: #ff335f !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-x .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social-nav .wp-social-link-x .wp-block-social-link-anchor:focus-visible,
footer .ohlcx-footer-social .wp-social-link-x .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social .wp-social-link-x .wp-block-social-link-anchor:focus-visible {
	color: #ffffff !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-x:hover svg,
footer .ohlcx-footer-social-nav .wp-social-link-x:hover path,
footer .ohlcx-footer-social-nav .wp-social-link-x:focus-within svg,
footer .ohlcx-footer-social-nav .wp-social-link-x:focus-within path,
footer .ohlcx-footer-social .wp-social-link-x:hover svg,
footer .ohlcx-footer-social .wp-social-link-x:hover path,
footer .ohlcx-footer-social .wp-social-link-x:focus-within svg,
footer .ohlcx-footer-social .wp-social-link-x:focus-within path {
	fill: #ffffff !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-feed .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social-nav .wp-social-link-feed .wp-block-social-link-anchor:focus-visible,
footer .ohlcx-footer-social .wp-social-link-feed .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social .wp-social-link-feed .wp-block-social-link-anchor:focus-visible {
	color: #fb923c !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-feed:hover svg,
footer .ohlcx-footer-social-nav .wp-social-link-feed:hover path,
footer .ohlcx-footer-social-nav .wp-social-link-feed:focus-within svg,
footer .ohlcx-footer-social-nav .wp-social-link-feed:focus-within path,
footer .ohlcx-footer-social .wp-social-link-feed:hover svg,
footer .ohlcx-footer-social .wp-social-link-feed:hover path,
footer .ohlcx-footer-social .wp-social-link-feed:focus-within svg,
footer .ohlcx-footer-social .wp-social-link-feed:focus-within path {
	fill: #fb923c !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-mail .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social-nav .wp-social-link-mail .wp-block-social-link-anchor:focus-visible,
footer .ohlcx-footer-social .wp-social-link-mail .wp-block-social-link-anchor:hover,
footer .ohlcx-footer-social .wp-social-link-mail .wp-block-social-link-anchor:focus-visible {
	color: #bfdbfe !important;
}

footer .ohlcx-footer-social-nav .wp-social-link-mail:hover svg,
footer .ohlcx-footer-social-nav .wp-social-link-mail:hover path,
footer .ohlcx-footer-social-nav .wp-social-link-mail:focus-within svg,
footer .ohlcx-footer-social-nav .wp-social-link-mail:focus-within path,
footer .ohlcx-footer-social .wp-social-link-mail:hover svg,
footer .ohlcx-footer-social .wp-social-link-mail:hover path,
footer .ohlcx-footer-social .wp-social-link-mail:focus-within svg,
footer .ohlcx-footer-social .wp-social-link-mail:focus-within path {
	fill: #bfdbfe !important;
}

footer .ohlcx-footer-social-nav .wp-social-link .wp-block-social-link-anchor:focus-visible,
footer .ohlcx-footer-social .wp-social-link .wp-block-social-link-anchor:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1, #4db5e8);
	outline-offset: 3px;
}

@media (max-width: 782px) {
	footer .ohlcx-footer-social-nav,
	footer .ohlcx-footer-social.wp-block-social-links {
		--ohlcx-footer-social-cell: 2.75rem;
		--ohlcx-footer-social-icon: 1.625rem;
	}

	footer .ohlcx-footer-social-nav {
		margin-left: 0;
		flex-basis: 100%;
		justify-content: flex-start !important;
	}
}

footer .ohlcx-footer-main-columns {
	width: 100%;
	max-width: 100%;
}

footer .ohlcx-footer-main-columns > .wp-block-column {
	min-width: 0;
}

/* Widget column fills its grid cell */
footer .ohlcx-footer-widgets {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/*
 * Latest posts: CSS grid replaces core floats so title/date align beside the thumb
 * without overlapping or full-width blowout.
 */
footer .ohlcx-footer-latest-posts.wp-block-latest-posts__list > li {
	margin-bottom: 1rem;
}

footer .ohlcx-footer-latest-posts.wp-block-latest-posts__list > li:has(.wp-block-latest-posts__featured-image) {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	column-gap: 0.75rem;
	row-gap: 0.15rem;
	align-items: start;
}

footer .ohlcx-footer-latest-posts li:has(.wp-block-latest-posts__featured-image) .wp-block-latest-posts__featured-image {
	float: none !important;
	margin: 0 !important;
	grid-column: 1;
	grid-row: 1 / span 2;
}

footer .ohlcx-footer-latest-posts li:has(.wp-block-latest-posts__featured-image) .wp-block-latest-posts__post-title {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

footer .ohlcx-footer-latest-posts li:has(.wp-block-latest-posts__featured-image) time.wp-block-latest-posts__post-date {
	grid-column: 2;
	grid-row: 2;
}

footer .ohlcx-footer-latest-posts .wp-block-latest-posts__featured-image img {
	width: 4.5rem;
	height: 3.375rem;
	max-width: 4.5rem;
	display: block;
	object-fit: cover;
	border-radius: 4px;
	box-shadow: 0 1px 3px color-mix(in srgb, #000 35%, transparent);
}

footer .ohlcx-footer-latest-posts .wp-block-latest-posts__post-title {
	font-size: 0.9375rem;
	line-height: 1.35;
}

footer .ohlcx-footer-latest-posts a.wp-block-latest-posts__post-title {
	text-decoration: none;
}

footer .ohlcx-footer-latest-posts a.wp-block-latest-posts__post-title:hover,
footer .ohlcx-footer-latest-posts a.wp-block-latest-posts__post-title:focus-visible {
	text-decoration: underline;
}

footer .ohlcx-footer-latest-posts .wp-block-latest-posts__post-date {
	margin-top: 0.2rem;
	font-size: 0.75rem;
	opacity: 0.85;
}

footer .ohlcx-footer-widgets .wp-block-search__inside-wrapper {
	border-radius: 999px;
	max-width: 100%;
	overflow: hidden;
}

footer .ohlcx-footer-widgets .wp-block-search__input {
	font-size: 0.875rem;
	max-width: 100%;
	padding-inline: 0.9rem;
}

footer .ohlcx-footer-bottom-bar {
	row-gap: 0.75rem;
}

footer .ohlcx-footer-bottom-emails {
	margin-block: 0;
	max-width: 100%;
}

footer .ohlcx-footer-bottom-emails a {
	text-underline-offset: 0.15em;
	word-break: break-word;
}

@media (max-width: 600px) {
	footer .ohlcx-footer-bottom-emails.has-text-align-right {
		text-align: left;
	}
}

/*
 * Search block — core uses #fff wrapper and gray borders (button-inside layout).
 * Match dark base / surface tokens site-wide.
 */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	background-color: var(--wp--preset--color--accent-5, #152848);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 42%, transparent);
	padding: 4px;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: 0 4px 14px color-mix(in srgb, #000 18%, transparent);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
	background-color: transparent;
	color: var(--wp--preset--color--contrast, #fff);
	border: none;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--accent-4, #b7bdc8) 72%, transparent);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button {
	background-color: var(--wp--preset--color--accent-3, #e25629);
	color: var(--wp--preset--color--contrast, #fff);
	border: none;
	margin-left: 0;
	border-radius: 999px;
	padding-inline: 0.85rem;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button:hover {
	filter: brightness(1.08);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button svg {
	fill: currentColor;
}

.ohlcx-single-post-meta-row {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 78%, transparent);
	width: 100%;
	box-sizing: border-box;
}

.ohlcx-single-post-meta-row.is-layout-flex {
	justify-content: flex-end;
}

.ohlcx-single-breadcrumbs {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 72%, transparent);
}

.ohlcx-single-breadcrumbs p,
.ohlcx-single-breadcrumbs .wp-block-post-terms {
	margin: 0;
}

.ohlcx-single-breadcrumbs .wp-block-post-terms a,
.ohlcx-single-breadcrumbs a {
	text-decoration: none;
}

.ohlcx-single-breadcrumbs .wp-block-post-terms a:hover,
.ohlcx-single-breadcrumbs .wp-block-post-terms a:focus-visible,
.ohlcx-single-breadcrumbs a:hover,
.ohlcx-single-breadcrumbs a:focus-visible {
	text-decoration: underline;
}

.ohlcx-single-breadcrumb-categories {
	font-weight: 600;
}

.ohlcx-single-post-meta-row .wp-block-post-author-name,
.ohlcx-single-post-meta-row .wp-block-post-date,
.ohlcx-single-post-meta-row .wp-block-post-terms,
.ohlcx-single-post-meta-row .ohlcx-single-meta-label {
	margin: 0;
}

.ohlcx-single-post-meta-row .wp-block-post-author-name {
	font-weight: 600;
}

.ohlcx-single-post-meta-row .ohlcx-single-meta-label {
	opacity: 0.9;
}

.ohlcx-single-post-meta-row .wp-block-post-date {
	white-space: nowrap;
}

.ohlcx-single-post-tags {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 72%, transparent);
}

.ohlcx-single-post-tags:empty {
	display: none;
}

.ohlcx-single-post-meta-row .ohlcx-single-meta-label-tags {
	display: none;
}

.ohlcx-single-post-meta-row:has(.ohlcx-single-post-tags:not(:empty)) .ohlcx-single-meta-label-tags {
	display: inline;
}

.ohlcx-scroll-top {
	position: fixed;
	right: clamp(1rem, 2.5vw, 2rem);
	bottom: clamp(1rem, 2.5vw, 2rem);
	z-index: 1000;
	width: 2.75rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 52%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--accent-5, #152848) 88%, transparent);
	color: var(--wp--preset--color--contrast, #fff);
	box-shadow: 0 10px 26px color-mix(in srgb, #000 28%, transparent);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease, filter 180ms ease;
}

.ohlcx-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ohlcx-scroll-top:hover {
	filter: brightness(1.08);
}

/* Legal pages: top tab-like navigation. */
.ohlcx-legal-tabs {
	margin: 0 0 clamp(1rem, 2.2vw, 1.5rem);
}

.ohlcx-legal-tabs__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: 0.35rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 32%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--accent-5, #152848) 86%, transparent);
	box-shadow: 0 6px 16px color-mix(in srgb, #000 20%, transparent);
}

.ohlcx-legal-tabs__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.95rem;
	border-radius: 999px;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 86%, transparent);
	text-decoration: none;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 160ms ease, color 160ms ease, filter 160ms ease;
}

.ohlcx-legal-tabs__link:hover {
	background: color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 20%, transparent);
	color: var(--wp--preset--color--contrast, #fff);
}

.ohlcx-legal-tabs__link.is-active {
	background: var(--wp--preset--color--accent-3, #e25629);
	color: var(--wp--preset--color--contrast, #fff);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Search: button outside (if used elsewhere) */
.wp-block-search:not(.wp-block-search__button-inside) .wp-block-search__input {
	background-color: var(--wp--preset--color--accent-5, #152848);
	color: var(--wp--preset--color--contrast, #fff);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 42%, transparent);
	border-radius: 4px;
}

.wp-block-search:not(.wp-block-search__button-inside) .wp-block-search__input::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--accent-4, #b7bdc8) 72%, transparent);
}

.wp-block-search:not(.wp-block-search__button-inside) .wp-block-search__button {
	background-color: var(--wp--preset--color--accent-3, #e25629);
	color: var(--wp--preset--color--contrast, #fff);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-3) 55%, transparent);
	border-radius: 4px;
}

.wp-block-search:not(.wp-block-search__button-inside) .wp-block-search__button:hover {
	filter: brightness(1.08);
}

/*
 * Post comments form — core only sets gray borders; browser / parent defaults leave fields light.
 */
.wp-block-post-comments-form .comment-form input:not([type="submit"]):not([type="checkbox"]):not([type="hidden"]),
.wp-block-post-comments-form .comment-form textarea {
	background-color: var(--wp--preset--color--accent-5, #152848);
	color: var(--wp--preset--color--contrast, #fff);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #4db5e8) 38%, transparent);
	border-radius: 4px;
}

.wp-block-post-comments-form .comment-form input::placeholder,
.wp-block-post-comments-form .comment-form textarea::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--accent-4, #b7bdc8) 70%, transparent);
}

.wp-block-post-comments-form .comment-form input[type="submit"] {
	background-color: var(--wp--preset--color--accent-3, #e25629);
	color: var(--wp--preset--color--contrast, #fff);
	border: none;
	border-radius: 4px;
	padding: 0.65em 1.35em;
	font-weight: 600;
}

.wp-block-post-comments-form .comment-form input[type="submit"]:hover {
	filter: brightness(1.08);
}

.wp-block-post-comments-form .comment-form-cookies-consent label {
	color: var(--wp--preset--color--accent-4, #b7bdc8);
}
