:root {
	--soreira-content-gutter: clamp(28px, 5.5vw, 112px);
	--soreira-sidebar-width: 220px;
	--soreira-sidebar-gap: 28px;
	--soreira-border-color: #d8dde3;
}

/* Globálne frontend pravidlá zo Customizer CSS. */
@media (min-width: 922px) {
	.soreira-single-post-view.soreira-has-floating-sidebars figure.soreira-single-featured-image {
		width: 30%;
		margin: 0 2rem !important;
		float: left;
	}
}

.wp-block-separator {
	border: none;
	border-top: 1px solid #ccc;
	height: 0 !important;
}

.wp-block-spacer { clear: none; }

.ast-separate-container .ast-blog-layout-5-grid .post-content {
	width: calc(75% - 1.5em);
	display: inline-block;
	vertical-align: top;
	box-sizing: content-box;
	padding-left: 1.5em;
	padding-right: 0;
	padding-top: 1.5em;
	padding-bottom: 0.5em;
}

.ast-blog-layout-5-grid .ast-blog-featured-section {
	width: 25%;
	margin-bottom: 0;
	display: inline-block;
	vertical-align: top;
}

.ast-blog-layout-5-grid .ast-article-post {
	margin-bottom: 0.2em;
	padding: 0;
	border-bottom: 0;
}

/* Archive/category layout: override Astra's default 50/50 grid columns. */
@media (min-width: 701px) {
	.ast-row .blog-layout-5 {
		display: grid !important;
		grid-template-columns: minmax(0, 25%) minmax(0, calc(75% - 1.5em));
		align-items: start;
	}

	.ast-row .blog-layout-5 .post-thumb,
	.ast-row .blog-layout-5 .post-content {
		float: none !important;
		width: auto !important;
		min-width: 0;
		box-sizing: border-box;
	}

	.ast-row .blog-layout-5 .post-thumb {
		margin: 0;
	}

	.ast-row .blog-layout-5 .post-content {
		padding-left: 1.5em;
		padding-right: 0;
	}
}

.menu-link {
	border-bottom: 1px solid #ccc;
	display: inline-block;
	padding: 5px 0;
	width: 100%;
}

/* Soreira Insyde – frontend typography. */
body:not(.wp-admin) {
	font-size: 17px;
	line-height: 1.75rem;
	color: #2f2f2f;
	background-color: #fff;
}

body:not(.wp-admin) p { margin-bottom: 0.8em; }

body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) h4,
body:not(.wp-admin) h5,
body:not(.wp-admin) h6 {
	line-height: 1.3rem;
	letter-spacing: 0.3px;
	color: #1f1f1f;
}

.single-post .entry-title { display: block; }
.single-post .entry-header { margin-bottom: 0; padding-bottom: 0; }

@media (min-width: 992px) {
	.ast-separate-container #primary,
	.ast-separate-container.ast-left-sidebar #primary,
	.ast-separate-container.ast-right-sidebar #primary { margin: 0 0 60px; }
	.ast-article-post { margin-bottom: 60px; }
	body:not(.wp-admin) a { color: #444; text-decoration: none; transition: 0.3s ease; }
	body:not(.wp-admin) a:hover { color: #000; }
	.widget { font-size: 14px; line-height: 1.6rem; }
	.main-header-menu a { font-size: 15px; letter-spacing: 0.5px; }
	.site-footer { background: #f7f5f2; }
	.ast-footer-copyright { font-size: 13px; line-height: 1.7rem; color: #777; text-align: center; padding: 18px 10px; }
	.ast-footer-copyright p { margin: 0; }
	.footer-adv-overlay { padding: 0; }
}

@media (min-width: 922px) {
	.blog .site-content > .ast-container,
	.archive .site-content > .ast-container,
	.search .site-content > .ast-container { max-width: 820px; }
}

:where(.editor-styles-wrapper) p { line-height: 1.7rem !important; }

.single-post .site-content,
.single-post .ast-container,
.single-post .site-content > .ast-container,
.single-post .site-main,
.single-post article,
.single-post .entry-header,
.single-post .entry-content { margin-top: 0 !important; padding-top: 0 !important; }

/* Breadcrumb: ponechať cestu, skryť iba názov aktuálneho článku. */
.single-post .ast-breadcrumbs .trail-items .trail-end,
.single-post .ast-breadcrumbs .trail-items li:last-child { display: none !important; }

.single-post .ast-breadcrumbs a,
.single-post .ast-breadcrumbs a span,
.single-post .ast-breadcrumbs .trail-item:not(.trail-end) a,
.single-post .ast-breadcrumbs .trail-item:not(.trail-end) a span { color: #0073e6 !important; }

/* Keep the complete Astra header visible while the page scrolls. */
.site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: var(--ast-global-color-5, #fff);
	box-shadow: 0 1px 8px rgb(0 0 0 / 8%);
}

.admin-bar .site-header {
	top: 32px;
}

.site-header .ast-container,
.ast-header-breadcrumb .ast-container,
.site-content > .ast-container,
.site-footer .ast-builder-grid-row-container-inner {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: var(--soreira-content-gutter);
	padding-right: var(--soreira-content-gutter);
}

.site-header .site-primary-header-wrap,
.site-header .ast-builder-grid-row,
.site-footer .ast-builder-grid-row {
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

.soreira-content-shell {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-top: 1.2rem;
	padding-left: 0;
	padding-right: 0;
}

.soreira-floating-sidebars {
	display: block;
	width: 100%;
}

.soreira-floating-sidebar {
	width: var(--soreira-sidebar-width);
	max-width: 32%;
	margin-bottom: 1.5rem;
	font-size: 0.95rem;
	line-height: 1.55;
}

.soreira-floating-sidebar--left {
	float: left;
	margin-right: calc(var(--soreira-sidebar-gap) + 1px);
	padding-right: var(--soreira-sidebar-gap);
	border-right: 1px solid var(--soreira-border-color);
}

.soreira-floating-sidebar--right {
	float: right;
	margin-left: calc(var(--soreira-sidebar-gap) + 1px);
	padding-left: var(--soreira-sidebar-gap);
	border-left: 1px solid var(--soreira-border-color);
}

.soreira-sidebar-widget {
	margin-bottom: 1.4rem;
}

.soreira-sidebar-title {
	margin-bottom: 0.7rem;
	font-size: 1rem;
	line-height: 1.3;
}

.soreira-category-list,
.soreira-category-list .children {
	margin: 0;
	list-style: none;
}

.soreira-category-list .children {
	padding-left: 0.85rem;
}

.soreira-category-list li {
	margin: 0;
}

.soreira-category-list a {
	display: block;
	padding: 0.3rem 0.5rem;
	border-left: 3px solid transparent;
	color: inherit;
	font-weight: 300 !important;
	line-height: 1.35;
	text-decoration: none;
}

.soreira-category-list .children a { color: color-mix(in srgb, currentColor 68%, transparent); font-weight: 300 !important; }
.soreira-category-list .children .children a { color: color-mix(in srgb, currentColor 56%, transparent); font-weight: 300 !important; }

.soreira-single-date,
.soreira-latest-post time { display: block; color: #687385; font-size: .88rem; font-weight: 400; }
.soreira-latest-posts { margin: 2rem 0; }
.soreira-latest-posts__listing { display: block; }
.soreira-latest-posts__listing .ast-article-post { width: 100%; }
.soreira-latest-posts > h2 {
	margin: 0 0 1.5rem;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	line-height: 1.2 !important;
}
.soreira-latest-posts__listing .ast-article-post {
	min-height: 190px;
	margin-bottom: 3rem;
	padding: 0;
	border: 0;
}
.soreira-latest-posts__listing .post-thumb {
	float: left;
	width: 30%;
	margin: 0 2rem 1rem 0;
}
.soreira-latest-posts__listing .blog-layout-5 .post-thumb {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
.soreira-latest-posts__listing .blog-layout-5 .post-content {
	display: block !important;
	width: auto !important;
	float: none !important;
	padding: 0 !important;
	clear: none !important;
}
.soreira-latest-posts__listing .blog-layout-5 {
	display: grid !important;
	grid-template-columns: minmax(0, 25%) minmax(0, calc(75% - 2rem));
	column-gap: 2rem;
	align-items: start;
	position: relative;
}
.soreira-latest-posts__listing .post-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

/* Keep the archive card's title and thumbnail above the custom layout layers. */
.soreira-latest-posts__listing .post-thumb a,
.soreira-latest-posts__listing .entry-title a {
	display: block;
	position: relative;
	z-index: 2;
	pointer-events: auto;
	cursor: pointer;
}

.soreira-latest-posts__listing .post-thumb,
.soreira-latest-posts__listing .entry-title {
	position: relative;
	z-index: 2;
}
.soreira-latest-posts__listing .entry-title {
	margin: 0 0 1rem;
	font-size: clamp(1.25rem, 1.7vw, 1.7rem) !important;
	line-height: 1.25 !important;
	clear: none !important;
}
.soreira-latest-posts__listing .entry-content,
.soreira-latest-posts__listing .post-content,
.soreira-latest-posts__listing .read-more {
	width: auto;
	padding: 0;
}
.soreira-latest-posts__listing .ast-article-post::after {
	display: table;
	clear: both;
	content: '';
}

@media (max-width: 700px) {
	.soreira-latest-posts__listing .blog-layout-5 {
		display: block !important;
	}
	.soreira-latest-posts__listing .post-thumb {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.soreira-latest-posts__listing .blog-layout-5 .post-thumb,
	.soreira-latest-posts__listing .blog-layout-5 .post-content {
		float: none !important;
		width: 100% !important;
	}
}

/* Keep the primary header menu visible on desktop/tablet. */
@media (min-width: 545px) {
	.site-header .ast-builder-menu-1,
	.site-header .main-header-menu { display: flex !important; }
}

.soreira-category-list a:hover,
.soreira-category-list a:focus-visible {
	color: var(--ast-global-color-0, #046bd2);
	background: rgb(0 0 0 / 4%);
}

.soreira-category-list .current-cat > a {
	border-left-color: currentColor;
	color: var(--ast-global-color-0, #046bd2);
	background: rgb(0 0 0 / 6%);
}

.soreira-category-list .current-cat-parent > a,
.soreira-category-list .current-cat-ancestor > a {
	color: var(--ast-global-color-0, #046bd2);
}

.soreira-category-trigger-wrap,
.soreira-category-drawer-root {
	display: none;
}

.soreira-category-toggle {
	flex: 0 0 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0.25rem;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.soreira-category-toggle::before {
	display: inline-block;
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
	transition: transform 160ms ease;
}

.soreira-category-toggle[aria-expanded="true"]::before {
	transform: rotate(225deg) translate(-1px, -1px);
}

.soreira-category-menu--drawer .cat-item-has-children {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
}

.soreira-category-menu--drawer .cat-item-has-children > .children {
	grid-column: 1 / -1;
}

.soreira-category-drawer-open {
	overflow: hidden;
}

.soreira-has-floating-sidebars .site-main h1,
.soreira-has-floating-sidebars .site-main h2,
.soreira-has-floating-sidebars .site-main h3,
.soreira-has-floating-sidebars .site-main h4,
.soreira-has-floating-sidebars .site-main h5,
.soreira-has-floating-sidebars .site-main h6,
.soreira-has-floating-sidebars .entry-title,
.soreira-has-floating-sidebars .entry-content,
.soreira-has-floating-sidebars .entry-summary {
	clear: none !important;
}

.soreira-has-floating-sidebars .site-main > .ast-row::before,
.soreira-has-floating-sidebars .site-main > .ast-row::after {
	content: none !important;
	display: none !important;
}

.soreira-has-floating-sidebars .ast-article-post.ast-full-width {
	width: auto !important;
	overflow: hidden;
}

.soreira-has-floating-sidebars .ast-article-post .ast-article-inner {
	display: block;
}

.soreira-has-floating-sidebars .ast-article-post .post-content {
	width: auto !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.soreira-has-floating-sidebars .ast-article-post .post-thumb,
.soreira-has-floating-sidebars .ast-article-post .entry-title,
.soreira-has-floating-sidebars .ast-article-post .entry-content,
.soreira-has-floating-sidebars .ast-article-post .entry-summary,
.soreira-has-floating-sidebars .ast-article-post .read-more {
	display: block;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.soreira-has-floating-sidebars:not(.soreira-single-post-view) .ast-article-post .post-thumb {
	margin-top: 1.25rem;
	margin-right: 1rem;
	margin-bottom: 1rem;
}

.soreira-content-clear {
	clear: both;
}

/* Keep Astra's scroll-to-top control in the same black-and-white palette. */
#ast-scroll-top {
	background-color: #000 !important;
	color: #fff !important;
}

#ast-scroll-top:focus,
#ast-scroll-top:focus-visible {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000 !important;
}

.soreira-category-drawer-toggle:focus,
.soreira-category-drawer-toggle:focus-visible,
.soreira-category-drawer__close:focus,
.soreira-category-drawer__close:focus-visible,
.menu-toggle:focus,
.menu-toggle:focus-visible {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000 !important;
}

#ast-scroll-top .ast-icon.icon-arrow svg {
	fill: #fff !important;
}

.soreira-category-drawer__close {
	background-color: #000 !important;
	color: #fff !important;
}

.menu-toggle:focus svg,
.menu-toggle:focus-visible svg {
	fill: #fff !important;
	stroke: #fff !important;
}

@media (min-width: 922px) {
	.site-header .ast-builder-menu-1 {
		display: flex;
	}

	.soreira-hide-floating-sidebars-desktop .soreira-floating-sidebars,
	.soreira-hide-floating-sidebars-desktop .soreira-floating-sidebar {
		display: none;
	}
}

@media (min-width: 545px) and (max-width: 921px) {
	.soreira-hide-floating-sidebars-tablet .soreira-floating-sidebars,
	.soreira-hide-floating-sidebars-tablet .soreira-floating-sidebar {
		display: none;
	}
}

@media (max-width: 921px) {
	.soreira-floating-sidebar--left {
		display: none !important;
	}

	.soreira-category-trigger-wrap {
		display: flex;
		justify-content: flex-end;
		width: 100%;
		padding: 0.65rem 20px;
		border-top: 1px solid var(--soreira-border-color);
		border-bottom: 1px solid var(--soreira-border-color);
		background: var(--ast-global-color-5, #fff);
	}

	.soreira-category-drawer-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.55rem;
		min-height: 44px;
		margin: 0;
		padding: 0.55rem 0.9rem;
		border: 1px solid #000;
		border-radius: 0.3rem;
		background: #000;
		color: #fff;
		font: inherit;
		font-weight: 600;
		cursor: pointer;
	}

	.soreira-category-drawer-toggle__icon {
		font-size: 1.15em;
		line-height: 1;
	}

	.soreira-category-drawer-root {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10010;
		visibility: hidden;
		pointer-events: none;
	}

	.soreira-category-drawer-root.is-open {
		visibility: visible;
		pointer-events: auto;
	}

	.soreira-category-drawer-overlay {
		position: absolute;
		inset: 0;
		background: rgb(15 23 42 / 55%);
		opacity: 0;
		transition: opacity 220ms ease;
	}

	.is-open .soreira-category-drawer-overlay {
		opacity: 1;
	}

	.soreira-category-drawer {
		display: flex;
		position: absolute;
		top: 0;
		right: 0;
		flex-direction: column;
		width: min(90vw, 420px);
		max-width: 100%;
		height: 100vh;
		height: 100dvh;
		background: var(--ast-global-color-5, #fff);
		box-shadow: -8px 0 30px rgb(0 0 0 / 20%);
		transform: translateX(100%);
		transition: transform 220ms ease;
		overflow: hidden;
	}

	.is-open .soreira-category-drawer {
		transform: translateX(0);
	}

	.soreira-category-drawer__header {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.8rem 1rem;
		border-bottom: 1px solid var(--soreira-border-color);
	}

	.soreira-category-drawer__header h2 {
		margin: 0;
		font-size: 1.2rem;
	}

	.soreira-category-drawer__close {
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 1px solid #000;
		background: #000;
		color: #fff;
		font-size: 2rem;
		line-height: 1;
		cursor: pointer;
	}

	.soreira-category-drawer__content {
		flex: 1 1 auto;
		min-height: 0;
		padding: 0.75rem;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.soreira-category-menu--drawer .soreira-category-list a {
		min-height: 44px;
		padding-top: 0.65rem;
		padding-bottom: 0.65rem;
	}

	.site-header .ast-container,
	.ast-header-breadcrumb .ast-container,
	.site-content > .ast-container,
	.site-footer .ast-builder-grid-row-container-inner,
	.soreira-content-shell {
		padding-left: 20px;
		padding-right: 20px;
	}

	.soreira-floating-sidebar,
	.soreira-floating-sidebar--left,
	.soreira-floating-sidebar--right {
		float: none;
		width: auto;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.soreira-has-floating-sidebars:not(.soreira-single-post-view) .ast-article-post .post-thumb {
		margin-top: 0;
		margin-right: 0;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 544px) {
	.soreira-hide-floating-sidebars-mobile .soreira-floating-sidebars,
	.soreira-hide-floating-sidebars-mobile .soreira-floating-sidebar {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.soreira-category-drawer,
	.soreira-category-drawer-overlay,
	.soreira-category-toggle::before {
		transition-duration: 0.01ms !important;
	}
}
