/*
Theme Name: Kalinka by Digitalis
Theme URI: https://digitalis.mk
Description: Custom child theme for Kalinka – Центар за ментално здравје (kalinka.mk), built on Hello Elementor. Made by Digitalis (https://digitalis.mk).
Author: Digitalis
Author URI: https://digitalis.mk
Template: hello-elementor
Version: 2.1.49
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Design tokens live in Elementor global variables (--accent, --tint-1 …). Fallbacks for non-Elementor output: */
:root {
	--k-accent: var(--accent, #4E5A1C);
	--k-text: var(--text, #1F2A14);
	--k-focus: var(--focus-ring, #B40C00);
}

body {
	color: var(--k-text);
	font-family: var(--font-body, "Manrope"), system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* WCAG 2.4.1 skip link */
.kalinka-skip-link {
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: var(--k-accent);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
}
.kalinka-skip-link:focus {
	top: 1rem;
}

/* Skip-link target: focusable main without a visible outline box around the whole page */
#content.site-main:focus { outline: none; }

/* WCAG 2.4.7 / 2.4.11 visible focus everywhere */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--k-focus);
	outline-offset: 3px;
}

/* WCAG 2.5.8 target size for nav + buttons */
.elementor-nav-menu a,
.elementor-button,
.e-button-base {
	min-height: 44px;
}

/* WCAG 2.3.3 respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* AI index page */
.kalinka-ai-index ul {
	padding-left: 1.25rem;
	line-height: 1.8;
}

/* ==========================================================================
   Single templates: structured content rendered by inc/render.php (.k-r-*)
   ========================================================================== */
.k-r {
	--k-r-accent: var(--accent, #4E5A1C);
	--k-r-text: var(--text, #1F2A14);
	--k-r-muted: var(--text-muted, #4A5246);
	--k-r-tint: var(--tint-1, #F1F5E6);
	--k-r-tint2: var(--tint-2, #E3EBCF);
	--k-r-border: var(--border, #DCE3CF);
	color: var(--k-r-muted);
	font-size: 1.0625rem;
	line-height: 1.75;
}
.k-r h2, .k-r h3 { font-family: var(--font-heading, "Lora"), Georgia, serif; font-weight: 500; color: var(--k-r-text); }
.k-r h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem); line-height: 1.2; margin: 0 0 1rem; }
.k-r h3 { font-size: 1.3rem; line-height: 1.3; margin: 0 0 .5rem; }
.k-r em { font-style: italic; color: var(--k-r-accent); }
.k-r a { color: var(--k-r-accent); }
.k-r-intro > :first-child { margin-top: 0; }
.k-r-intro h2 { margin-top: 2.5rem; }
.k-r-section { margin-top: clamp(3rem, 2rem + 3vw, 5rem); }
.k-r-eyebrow { font-family: var(--font-body, "Manrope"), sans-serif; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--k-r-accent); margin: 0 0 .75rem; }
.k-r-title { max-width: 40rem; }

/* Cards (support types) */
.k-r-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.k-r-card { display: flex; flex-direction: column; gap: .5rem; background: #fff; border: 1px solid var(--k-r-border); border-radius: 20px; padding: 1.75rem; }
.k-r-card p { margin: 0; font-size: 1rem; line-height: 1.6; }
.k-r-card .k-r-card-label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; color: var(--pomegranate, #B40C00); }
.k-r-link { margin-top: auto; padding-top: .75rem; font-weight: 700; text-decoration: none; }
.k-r-link:hover { text-decoration: underline; }

/* Steps */
.k-r-steps { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem; }
.k-r-steps li { display: flex; gap: 1rem; align-items: flex-start; background: var(--k-r-tint); border-radius: 20px; padding: 1.5rem; }
.k-r-steps p { margin: 0; font-size: 1rem; }
.k-r-step-n { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--k-r-accent); color: #fff; font-family: var(--font-heading, "Lora"), serif; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; }

/* Lists and pills */
.k-r-checklist { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .65rem; }
.k-r-checklist li { position: relative; padding-left: 2rem; }
.k-r-checklist li::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 14px; border-radius: 50%; background: var(--k-r-tint2); box-shadow: inset 0 0 0 4px var(--k-r-accent); }
.k-r-pills { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.k-r-pills li { background: var(--k-r-tint); color: var(--k-r-text); border-radius: 999px; padding: .4rem 1rem; font-size: .9375rem; font-weight: 600; }

/* FAQ (native details/summary) */
.k-r-faq { margin-top: 1.5rem; border-top: 1px solid var(--k-r-border); }
.k-r-faq-item { border-bottom: 1px solid var(--k-r-border); }
.k-r-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; min-height: 44px; font-family: var(--font-body, "Manrope"), sans-serif; font-weight: 600; font-size: 1.0625rem; color: var(--k-r-text); }
.k-r-faq-item summary::-webkit-details-marker { display: none; }
.k-r-faq-icon { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--k-r-tint2); position: relative; }
.k-r-faq-icon::before, .k-r-faq-icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--k-r-accent); transform: translate(-50%, -50%); transition: transform .2s ease; }
.k-r-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.k-r-faq-item[open] .k-r-faq-icon::after { transform: translate(-50%, -50%) rotate(0); }
.k-r-faq-a p { margin: 0 3rem 1.25rem 0; }

/* Age milestone tabs */
.k-r-tabs { margin-top: 1.5rem; }
.k-r-tabs [role="tablist"] { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.k-r-tabs [role="tab"] { min-height: 44px; padding: .55rem 1.25rem; border-radius: 999px; border: 2px solid var(--k-r-accent); background: #fff; color: var(--k-r-accent); font: 700 .9375rem var(--font-body, "Manrope"), sans-serif; cursor: pointer; }
.k-r-tabs [role="tab"][aria-selected="true"] { background: var(--k-r-accent); color: #fff; }
.k-r-ms-panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; background: var(--k-r-tint); border-radius: 24px; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.k-r-ms-panel[hidden] { display: none; }
.k-r-example { margin-top: 1rem; font-style: italic; }
.k-r-worry { background: #fff; border-radius: 20px; padding: 1.5rem; align-self: start; }
.k-r-worry p { margin: 0; font-size: 1rem; }
.k-r-worry-q { font-family: var(--font-heading, "Lora"), serif; font-style: italic; font-size: 1.15rem !important; color: var(--k-r-text); margin-bottom: .75rem !important; }
.k-r-note { margin-top: 1rem; font-size: .9375rem; }
@media (max-width: 767px) { .k-r-ms-panel { grid-template-columns: 1fr; } }

/* E-E-A-T footer, credentials */
.k-r-review { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--k-r-border); font-size: .9375rem; }
.k-r-review ul { margin: .5rem 0 0; padding-left: 1.25rem; }
.k-r-creds { padding-left: 1.25rem; }
.k-r-langs { margin-top: 2rem; }

/* Blog article: sticky TOC with progress dots (automately-style) */
.k-r-article.has-toc { display: grid; grid-template-columns: minmax(12rem, 17rem) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.k-r-toc { position: sticky; top: 2rem; }
.k-r-toc-title { font-weight: 700; color: var(--k-r-text); margin: 0 0 1rem; }
.k-r-toc ol { list-style: none; margin: 0; padding: 0 0 0 1.25rem; border-left: 2px solid var(--k-r-border); display: grid; gap: 1rem; }
.k-r-toc li { position: relative; }
.k-r-toc li::before { content: ""; position: absolute; left: calc(-1.25rem - 7px); top: .45em; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--k-r-border); }
.k-r-toc a { color: var(--k-r-muted); text-decoration: none; font-size: .9375rem; line-height: 1.4; display: block; }
.k-r-toc a:hover, .k-r-toc a.is-active { color: var(--k-r-text); }
.k-r-toc li:has(a.is-active)::before { background: var(--k-r-accent); border-color: var(--k-r-accent); }
.k-r-article-body { max-width: 46rem; }
.k-r-article-body > p:first-child { font-size: 1.25rem; color: var(--k-r-text); }
.k-r-article-body h2 { margin-top: 2.75rem; scroll-margin-top: 2rem; }
.k-r-author { margin-top: 3.5rem; background: var(--k-r-tint); border-radius: 24px; padding: 2rem; }
.k-r-author h3 a { color: var(--k-r-text); text-decoration: none; }
.k-r-author-role { font-weight: 600; color: var(--k-r-accent) !important; margin: 0 0 .75rem; }
.k-r-btn { display: inline-flex; align-items: center; min-height: 48px; padding: .8rem 1.5rem; margin-top: .5rem; border-radius: 999px; background: var(--k-r-accent); color: #fff !important; font-weight: 700; text-decoration: none; }
.k-r-btn:hover { background: var(--accent-hover, #3E4816); }
@media (max-width: 1024px) {
	.k-r-article.has-toc { grid-template-columns: 1fr; }
	.k-r-toc { position: static; background: var(--k-r-tint); border-radius: 20px; padding: 1.5rem; }
}

/* ==========================================================================
   v2.1.19
   ========================================================================== */

/* Focus ring only for keyboard focus: no red box after a mouse click or tap (WCAG 2.4.7 kept via :focus-visible) */
:where(a, button, input, select, textarea, summary, [tabindex], [role="button"]):focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none;
}

/* Honeypot (inc/spam.php): out of view for people, still in the DOM for bots */
.k-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Mobile menu extras (inc/menu.php) never show in the desktop bar */
.elementor-nav-menu--main .k-mobile-only { display: none !important; }

/* Fullscreen mobile menu */
@media (max-width: 1024px) {
	body:has(.elementor-menu-toggle.elementor-active) { overflow: hidden; }
	.elementor-menu-toggle.elementor-active {
		position: fixed;
		top: 1rem;
		right: 1rem;
		z-index: 100001;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: #fff;
		box-shadow: 0 4px 16px rgba(31, 42, 20, .12);
	}
	.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
	.elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-height: none !important;
		margin: 0 !important;
		left: 0 !important;
		top: 0 !important;
		z-index: 100000;
		overflow-y: auto;
		transform: none !important;
		background: var(--tint-1, #F1F5E6) !important;
		padding: 5.5rem 1.5rem 2.5rem;
		box-shadow: none;
	}
	.elementor-nav-menu--dropdown .elementor-nav-menu { display: flex; flex-direction: column; gap: .25rem; }
	.elementor-nav-menu--dropdown .menu-item:not(.k-mobile-only) > a.elementor-item {
		font-family: var(--font-heading, "Lora"), Georgia, serif !important;
		font-size: clamp(1.6rem, 1.2rem + 2vw, 2.1rem) !important;
		font-weight: 500 !important;
		line-height: 1.25;
		color: var(--text, #1F2A14) !important;
		background: transparent !important;
		padding: .6rem 0 !important;
		border-bottom: 1px solid var(--border, #DCE3CF);
		justify-content: flex-start;
	}
	.elementor-nav-menu--dropdown .menu-item:not(.k-mobile-only) > a.elementor-item:hover,
	.elementor-nav-menu--dropdown .current-menu-item > a.elementor-item { color: var(--accent, #4E5A1C) !important; }
	.elementor-nav-menu--dropdown .k-mobile-only > a.elementor-item {
		background: transparent !important;
		color: var(--text-muted, #4A5246) !important;
		font-size: 1.0625rem !important;
		padding: .5rem 0 !important;
	}
	.elementor-nav-menu--dropdown .k-m-cta { margin-top: 1.75rem; }
	.elementor-nav-menu--dropdown .k-m-cta > a.elementor-item {
		display: flex !important;
		justify-content: center;
		min-height: 56px;
		border-radius: 999px;
		background: var(--accent, #4E5A1C) !important;
		color: #fff !important;
		font-weight: 700 !important;
		font-size: 1.125rem !important;
	}
	.elementor-nav-menu--dropdown .k-m-contact { margin-top: 1.5rem; display: flex; flex-direction: column; }
	.elementor-nav-menu--dropdown .k-m-contact > a.elementor-item:first-child { font-weight: 700 !important; color: var(--text, #1F2A14) !important; font-size: 1.25rem !important; }
	.elementor-nav-menu--dropdown .k-m-lang { margin-top: 1rem; }
	.elementor-nav-menu--dropdown .k-m-lang > a.elementor-item {
		display: inline-flex !important;
		width: auto;
		border: 2px solid var(--accent, #4E5A1C);
		border-radius: 999px;
		padding: .4rem 1.25rem !important;
		color: var(--accent, #4E5A1C) !important;
		font-weight: 700 !important;
	}
}

/* Testimonials (home + service pages) */
#k-testimonials:not(:has([data-e-type="e-collection-loop-item"])) { display: none; }

/* Legal pages (privacy, cookies, AI info) on the default theme template */
.page .site-main > .page-content,
.page .site-main > .page-header {
	max-width: 46rem;
	margin-inline: auto;
	padding-inline: 1.25rem;
}
.page .site-main > .page-header { padding-top: clamp(3rem, 2rem + 4vw, 6rem); }
.page .site-main > .page-header .entry-title { font-family: var(--font-heading, "Lora"), Georgia, serif; font-weight: 500; font-size: clamp(2.2rem, 1.6rem + 2.5vw, 3.5rem); color: var(--k-text); }
.page .site-main > .page-content { padding-bottom: clamp(3rem, 2rem + 4vw, 6rem); font-size: 1.0625rem; line-height: 1.75; color: var(--text-muted, #4A5246); }
.page .site-main > .page-content h2 { font-family: var(--font-heading, "Lora"), Georgia, serif; font-weight: 500; color: var(--k-text); margin-top: 2.5rem; }
.page .site-main > .page-content a { color: var(--k-accent); }
.page .site-main > .page-content table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.page .site-main > .page-content th, .page .site-main > .page-content td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--border, #DCE3CF); vertical-align: top; }
.k-legal-updated { font-size: .9375rem; color: var(--accent, #4E5A1C); font-weight: 600; }

/* Form fields: calm green focus ring instead of the red keyboard ring (fields show focus on click too) */
:where(.e-form-input-base, .e-form-textarea-base, .e-form-select-base, input, select, textarea):focus {
	outline: 2px solid var(--accent, #4E5A1C) !important;
	outline-offset: 1px !important;
}

/* Author box portrait (blog posts) */
.k-r .k-r-author { display: flex; gap: 1.5rem; align-items: flex-start; }
.k-r-author-text { flex: 1; min-width: 0; }
.k-r .k-r-author img.k-r-author-photo { flex: 0 0 96px; width: 96px !important; height: 96px !important; max-width: none; object-fit: cover; object-position: center top; border-radius: 50%; border: 4px solid #fff; }
@media (max-width: 600px) { .k-r .k-r-author { flex-direction: column; gap: 1rem; } }

/* Mobile header: burger centred in the bar */
@media (max-width: 1024px) {
	/* the closed dropdown kept 10px of margin in the flow, pushing the toggle to the top */
	.elementor-widget-nav-menu:has(.elementor-menu-toggle) { align-self: center !important; }
	.elementor-widget-nav-menu .elementor-nav-menu--dropdown { position: absolute; top: 100%; right: 0; }
}

/* Top bar location link (header): map pin + "Локација"; desktop shows the full address instead */
#k-top-loc { order: -1; }
#k-top-loc a { display: inline-flex; align-items: center; gap: .35em; }
#k-top-loc a::before {
	content: "";
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (min-width: 768px) { #k-top-loc { display: none; } }
@media (max-width: 767px) {
	.e-flexbox-base:has(> .e-flexbox-base > #k-top-loc),
	.e-flexbox-base:has(> #k-top-loc) { width: 100%; max-width: none; justify-content: space-between; }
}

/* Testimonial slider (assets/testimonials.js) */
#k-testimonials [data-e-type="e-collection-loop-layout"]::-webkit-scrollbar { display: none; }
#k-testimonials [data-e-type="e-collection-loop-item"] img { display: block; }
.k-tst-btn {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 2px solid var(--accent, #4E5A1C);
	background: transparent;
	color: var(--accent, #4E5A1C);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background-color .2s, color .2s;
}
.k-tst-next, .k-tst-btn:hover { background: var(--accent, #4E5A1C); color: #fff; }
.k-tst-next:hover { background: var(--accent-hover, #3E4816); border-color: var(--accent-hover, #3E4816); }
/* heading + arrows share one row */
#k-testimonials .e-flexbox-base:has(> #k-tst-nav) { flex-wrap: nowrap; }
#k-testimonials .e-flexbox-base:has(> #k-tst-nav) > .e-flexbox-base { flex: 1 1 auto; width: auto; min-width: 0; }
#k-tst-nav { flex-shrink: 0; width: auto; }

/* Desktop services dropdown */
.elementor-nav-menu--main .sub-menu {
	min-width: 320px !important;
	padding: 10px !important;
	background: #fff !important;
	border: 1px solid var(--border, #DCE3CF);
	border-radius: 18px;
	box-shadow: 0 18px 40px rgba(31, 42, 20, .12);
}
.elementor-nav-menu--main .sub-menu a.elementor-sub-item {
	padding: 10px 14px !important;
	border-radius: 10px;
	border: 0 !important;
	background: transparent !important;
	color: var(--text, #1F2A14) !important;
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.35;
	white-space: normal;
}
.elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active {
	background: var(--tint-1, #F1F5E6) !important;
	color: var(--accent, #4E5A1C) !important;
}

/* Mobile fullscreen menu: services listed under "Услуги" in body type */
@media (max-width: 1024px) {
	.elementor-nav-menu--dropdown .sub-menu { background: transparent !important; padding: .25rem 0 .75rem 1rem !important; }
	.elementor-nav-menu--dropdown .sub-menu .menu-item > a {
		font-family: var(--font-body, "Manrope"), sans-serif !important;
		font-size: 1.0625rem !important;
		font-weight: 500 !important;
		color: var(--text-muted, #4A5246) !important;
		background: transparent !important;
		border-bottom: 0 !important;
		padding: .45rem 0 !important;
	}
}
/* fixed photo height so a portrait photo can't stretch every slide */
#k-testimonials [data-e-type="e-collection-loop-item"] img { height: 420px !important; min-height: 0 !important; width: 100%; object-fit: cover; }
#k-testimonials [data-e-type="e-collection-loop-item"] > * > .e-flexbox-base { min-height: 420px; }
@media (max-width: 767px) {
	#k-testimonials [data-e-type="e-collection-loop-item"] img { height: 240px !important; }
	#k-testimonials [data-e-type="e-collection-loop-item"] > * > .e-flexbox-base { min-height: 0; }
}
/* homepage sensory section follows the testimonials: give it its own top space */
.elementor-element-1b5bc1b7, .elementor-element-3140e9ef { padding-top: var(--space-section, 96px) !important; }
#k-testimonials [data-e-type="e-collection-loop-item"] .e-flexbox-base > .e-paragraph-base:last-child:not(:first-child) { white-space: nowrap; flex-shrink: 0; }
/* mobile submenu sits in the flow, not over the links below it */
@media (max-width: 1024px) {
	.elementor-nav-menu--dropdown .sub-menu { position: static !important; width: auto !important; min-width: 0 !important; margin: 0 !important; top: auto !important; left: auto !important; box-shadow: none !important; border: 0 !important; }
}

/* Service template: hide "Со кого ќе разговарате?" until experts are assigned to the service */
.elementor-element-bab0bba:not(:has([data-e-type="e-collection-loop-item"])),
.elementor-element-2687b5d7:not(:has([data-e-type="e-collection-loop-item"])) { display: none; }

/* Language switch as flags: header (#k-lang) and fullscreen mobile menu (.k-m-lang). The language
   name stays in the link for screen readers; the flag shows the language you switch TO. */
#k-lang { padding: 0 !important; border: 0 !important; background: transparent !important; line-height: 0; }
#k-lang a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding-right: 36px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1;
	color: inherit;
	text-decoration: none;
	background: right center / 28px 19px no-repeat;
	transition: opacity .15s;
}
#k-lang a:hover { opacity: .75; }
#k-lang a[href*="/en/"], #k-lang a[href$="/en"] { background-image: url("assets/flags/gb.svg"); }
#k-lang a:not([href*="/en/"]):not([href$="/en"]) { background-image: url("assets/flags/mk.svg"); }
.elementor-nav-menu--dropdown .k-m-lang > a.elementor-item::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 16px;
	margin-right: .5rem;
	border-radius: 3px;
	background: url("assets/flags/mk.svg") center / cover no-repeat;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
	vertical-align: -2px;
}
.elementor-nav-menu--dropdown .k-m-lang > a[hreflang="en"]::before { background-image: url("assets/flags/gb.svg"); }
/* Elementor's menu hover effect also uses ::before (absolute, opacity 0); keep the flag visible and inline */
.elementor-nav-menu--dropdown .k-m-lang > a.elementor-item::before { position: static !important; opacity: 1 !important; display: inline-block !important; transform: none !important; transition: none; }
.elementor-nav-menu--dropdown .k-m-lang > a.elementor-item { align-items: center; }

/* ==========================================================================
   Primary (peach) surfaces — Elementor variables --primary / --primary-hover / --on-primary.
   Dark green (--accent) stays for text, links and outlines; peach takes buttons, the top bar
   and the former dark-green blocks, always with dark text for contrast.
   ========================================================================== */
.elementor-element-1cb5bb97, .elementor-element-7508077e,
.elementor-element-6f658c17, .elementor-element-5130ac84,
.elementor-element-3d84d2e6, .elementor-element-6a941732 { background-color: var(--primary, #F2B58A) !important; }
:is(.elementor-element-1cb5bb97, .elementor-element-7508077e, .elementor-element-6f658c17, .elementor-element-5130ac84, .elementor-element-3d84d2e6, .elementor-element-6a941732, .k-cta-box) :is(h1, h2, h3, h4, p, a, span, li):not(.k-btn):not(.k-btn *) { color: var(--on-primary, #1F2A14) !important; }
.k-cta-box { color: var(--on-primary, #1F2A14) !important; }
:is(.k-cta-box, .elementor-element-3d84d2e6, .elementor-element-6a941732) em { color: var(--accent, #4E5A1C) !important; }
.k-cta-box .k-btn-outline { border-color: var(--on-primary, #1F2A14) !important; color: var(--on-primary, #1F2A14) !important; background: transparent !important; }
.k-cta-box .k-btn-outline:hover { background: rgba(255, 255, 255, .4) !important; }
.k-cta-box .k-btn-light { color: var(--on-primary, #1F2A14) !important; }
/* Why-us cards sit on peach now: keep them light */
:is(.elementor-element-3d84d2e6, .elementor-element-6a941732) .e-flexbox-base .e-flexbox-base { background-color: rgba(255, 255, 255, .55) !important; }

/* Buttons outside the global .k-btn class */
.elementor-element-7ff60535, .elementor-element-204032b9,
.k-tst-next, .k-r-btn,
.elementor-nav-menu--dropdown .k-m-cta > a.elementor-item {
	background-color: var(--primary, #F2B58A) !important;
	border-color: var(--primary, #F2B58A) !important;
	color: var(--on-primary, #1F2A14) !important;
}
.elementor-element-7ff60535:hover, .elementor-element-204032b9:hover,
.k-tst-next:hover, .k-r-btn:hover,
.elementor-nav-menu--dropdown .k-m-cta > a.elementor-item:hover { background-color: var(--primary-hover, #EBA06E) !important; border-color: var(--primary-hover, #EBA06E) !important; }
.k-tst-btn:hover { background: var(--primary, #F2B58A); border-color: var(--primary, #F2B58A); color: var(--on-primary, #1F2A14); }

/* Desktop navigation: dark text, colour-only hover (no underline, pointer or frame) */
.elementor-nav-menu--main .elementor-item { color: var(--text, #1F2A14) !important; text-decoration: none !important; font-weight: 600; }
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:focus-visible,
.elementor-nav-menu--main .elementor-item.highlighted,
.elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--accent, #4E5A1C) !important; text-decoration: none !important; }
.elementor-nav-menu--main .elementor-item::before,
.elementor-nav-menu--main .elementor-item::after { display: none !important; }

/* Elementor accordions (homepage FAQ): round +/– indicator like the service FAQs */
[data-e-type="e-accordion-item-icon"] {
	position: relative;
	width: 32px !important;
	height: 32px !important;
	flex: 0 0 32px !important;
	border-radius: 50%;
	background: var(--tint-2, #E3EBCF);
}
[data-e-type="e-accordion-item-icon"]::before,
[data-e-type="e-accordion-item-icon"]::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	background: var(--accent, #4E5A1C);
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}
[data-e-type="e-accordion-item-icon"]::after { transform: translate(-50%, -50%) rotate(90deg); }
details[open] > summary [data-e-type="e-accordion-item-icon"]::after { transform: translate(-50%, -50%) rotate(0); }

/* Trust strip rating stars */
.elementor-element-22744b77 span, .elementor-element-68dfd863 span { color: #E8A15E; letter-spacing: .05em; font-size: .7em; vertical-align: .15em; }

/* Buttons inside peach CTA boxes: dark outline so they read on peach */
.k-cta-box .k-btn { border-color: var(--on-primary, #1F2A14) !important; }

/* CTA boxes: pomegranate line-art decoration (assets/pom-decoration.svg), drawn as a soft mask in the text colour */
.k-cta-box::after {
	content: "";
	position: absolute;
	right: -3%;
	bottom: -8%;
	width: min(62%, 680px);
	aspect-ratio: 1376 / 768;
	background-color: var(--on-primary, #1F2A14);
	opacity: .13;
	-webkit-mask: url("assets/pom-decoration.svg") center / contain no-repeat;
	mask: url("assets/pom-decoration.svg") center / contain no-repeat;
	pointer-events: none;
	z-index: -1;
}
.k-cta-box { isolation: isolate; }
@media (max-width: 767px) { .k-cta-box::after { width: 110%; right: -30%; bottom: -4%; opacity: .1; } }
/* The red "seed" dots in CTA boxes are replaced by the pomegranate drawing (they crowded the call button) */
.k-cta-box > .e-flexbox-base:not(:has(h1, h2, h3, p, a, img)) { display: none !important; }

/* Expert public references (inc/render.php .k-r-refs) */
.k-r-refs-list { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .9rem; }
.k-r-ref { display: grid; gap: .2rem; padding: 1.1rem 1.25rem; border-radius: 16px; background: var(--k-r-tint, #F1F5E6); }
.k-r-ref a { font-weight: 700; color: var(--k-r-text, #1F2A14); text-decoration: none; }
.k-r-ref a:hover { color: var(--k-r-accent, #4E5A1C); text-decoration: underline; }
.k-r-ref a::after { content: " \2197"; font-weight: 400; color: var(--k-r-accent, #4E5A1C); }
.k-r-ref-meta { font-size: .875rem; font-weight: 600; letter-spacing: .02em; color: var(--k-r-accent, #4E5A1C); }
.k-r-ref-note { font-size: .9375rem; }

/* Homepage approach columns (Why us, MK + EN): line icon on a white circle above each title */
:is(.elementor-element-2736d722, .elementor-element-13ba395f, .elementor-element-2909d2ef, .elementor-element-752f1962,
    .elementor-element-6405e78a, .elementor-element-df6dc2a, .elementor-element-7cd76519, .elementor-element-58c11eef)::before {
	content: "";
	display: block;
	position: static !important; /* Elementor uses container ::before as an absolute overlay */
	inset: auto !important;
	opacity: 1 !important;
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: #fff center / 26px no-repeat;
	box-shadow: 0 2px 8px rgba(31, 42, 20, .08);
}
:is(.elementor-element-2736d722, .elementor-element-6405e78a)::before { background-image: url("assets/icons/team.svg"); }
:is(.elementor-element-13ba395f, .elementor-element-df6dc2a)::before { background-image: url("assets/icons/methods.svg"); }
:is(.elementor-element-2909d2ef, .elementor-element-7cd76519)::before { background-image: url("assets/icons/parent.svg"); }
:is(.elementor-element-752f1962, .elementor-element-58c11eef)::before { background-image: url("assets/icons/space.svg"); }

/* Accent buttons: hero primary CTA filled with accent; every button and the testimonial arrows go accent + white on hover */
.elementor > .e-con:has(h1) .k-btn:not(.k-btn-outline) {
	background-color: var(--accent, #4E5A1C) !important;
	border-color: var(--accent, #4E5A1C) !important;
	color: #fff !important;
}
.k-tst-btn {
	background-color: transparent !important;
	border-color: var(--accent, #4E5A1C) !important;
	color: var(--accent, #4E5A1C) !important;
}
:is(.k-btn, .k-tst-btn, .elementor-button):is(:hover, :focus-visible) {
	background-color: var(--accent, #4E5A1C) !important;
	border-color: var(--accent, #4E5A1C) !important;
	color: #fff !important;
}
:is(.k-btn, .k-tst-btn, .elementor-button):is(:hover, :focus-visible) * { color: #fff !important; }

/* Client feedback: larger header logo; no parent guide list on Psychodiagnostics (MK + EN) */
header img.e-image-base { height: 47px !important; width: auto !important; max-width: none !important; }
@media (max-width: 767px) { header img.e-image-base { height: 42px !important; } }
:is(.postid-64 .elementor-element-4a0c15ce, .postid-65 .elementor-element-47d439a0) { display: none; }

/* Mobile: hero image first, no small boxes (MK + EN homepage); top-bar phone replaced by a call icon by the hamburger */
.k-hdr-call { display: none; }
@media (max-width: 767px) {
	.home [data-elementor-type="wp-page"] > .e-con:first-child > .e-con:first-child > .e-con:last-child { order: -1; }
	.home [data-elementor-type="wp-page"] > .e-con:first-child > .e-con:first-child > .e-con:last-child > .e-con:last-child { display: none !important; }
	header :is([data-id="6a7ba8a8"], [data-id="67ce09e3"]) { display: none !important; }
	header .elementor-widget-nav-menu:has(.k-hdr-call) { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; }
	.k-hdr-call { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-right: 8px; border-radius: 12px; background: #F1F5E6; color: #3E4816; }
	.k-hdr-call:is(:hover, :focus-visible) { background: var(--accent, #4E5A1C); color: #fff; }
	.k-hdr-call svg { width: 20px; height: 20px; }
}

/* Mobile: long single words (e.g. "Мултидисциплинарен") must never push the page sideways */
@media (max-width: 767px) {
	:is(h1, h2, h3, h4, .e-heading-base) { overflow-wrap: break-word; }
	[data-id="b0252e6"] { font-size: min(28px, 6.1vw) !important; }
}
@media (max-width: 374px) {
	header img.e-image-base { height: 36px !important; }
}

/* Homepage hero lead: short version on phones only (MK 58e3d996 / EN 5c0d87bd), full version elsewhere */
:is([data-id="58e3d996"], [data-id="5c0d87bd"]) { display: none !important; }
/* The duplicate shares the original's Elementor style class (which carries display: none), so show the full lead explicitly */
:is([data-id="4f534096"], [data-id="79a92f39"]) { display: block !important; }
@media (max-width: 767px) {
	:is([data-id="4f534096"], [data-id="79a92f39"]) { display: none !important; }
	:is([data-id="58e3d996"], [data-id="5c0d87bd"]) { display: block !important; font-size: 17px !important; line-height: 1.5 !important; margin-bottom: 12px !important; }
	/* Hero section / grid / media / card (MK, EN): less space under the header, no green card, shorter photo, CTA above the fold */
	:is([data-id="4d5fdb70"], [data-id="1c6c5dd9"]) { padding-top: 12px !important; padding-bottom: 40px !important; }
	:is([data-id="27e1887"], [data-id="1da3055"]) { padding: 0 !important; gap: 16px !important; }
	:is([data-id="335b2206"], [data-id="6a926c64"]) { padding: 0 !important; }
	:is([data-id="16e503d9"], [data-id="33821626"]) { min-height: 0 !important; height: auto !important; width: 100% !important; aspect-ratio: 16 / 10 !important; object-fit: cover; }
	:is([data-id="d1e66b9"], [data-id="5e42e2c2"]) { background: none !important; padding: 0 !important; gap: 12px !important; border-radius: 0 !important; box-shadow: none !important; }
	:is([data-id="d1e66b9"], [data-id="5e42e2c2"])::before { display: none !important; }
}
