/*
 * Kid Suite — Elementor header (#148) refresh.
 * Sticky, white/translucent bar aligned with the page content (1400px),
 * no overflow on laptops, no wrapping on tablets, lighter mobile toggle.
 * Selectors are one class stronger than Elementor's own (.elementor-148 …).
 */

:root {
	--kid-hdr-max: 1400px;
	--kid-hdr-pad: 24px;
	--kid-hdr-ink: #1f2937;
	--kid-hdr-muted: #475467;
	--kid-hdr-accent: #6d4fc2;
	--kid-hdr-line: rgba(17, 24, 39, 0.07);
}

@media (min-width: 1448px) {
	:root { --kid-hdr-pad: 0px; }
}

@media (max-width: 767px) {
	:root { --kid-hdr-pad: 24px; }
}

@media (max-width: 360px) {
	:root { --kid-hdr-pad: 18px; }
}

/* ---------- Sticky shell ---------- */

.elementor-location-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}

.elementor-location-header.elementor-148 > .e-con {
	background: #ffffff !important;
	border: 0 !important;
	border-bottom: 1px solid var(--kid-hdr-line) !important;
	border-radius: 0 !important;
	transition: box-shadow 0.25s ease, background 0.25s ease;
}

body.kid-header-scrolled .elementor-location-header.elementor-148 > .e-con {
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
}

/* Inner row: same width as the page content */
.elementor-location-header.elementor-148 > .e-con > .e-con-inner {
	max-width: var(--kid-hdr-max) !important;
	width: 100%;
	margin: 0 auto;
	padding: 14px var(--kid-hdr-pad) !important;
	gap: 24px !important;
	align-items: center;
	flex-wrap: nowrap;
	box-sizing: border-box;
}

/* ---------- Desktop / tablet row ---------- */

/* Columns size to their content; the menu takes the remaining space */
.elementor-location-header.elementor-148 .elementor-element.elementor-element-abc05b7,
.elementor-location-header.elementor-148 .elementor-element.elementor-element-479257f {
	--width: auto;
	width: auto !important;
	flex: 0 0 auto;
	padding: 0 !important;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-f79e04a {
	--width: auto;
	width: auto !important;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
	justify-content: center;
}

/* Logo */
.elementor-location-header.elementor-148 .elementor-element.elementor-element-49889f7 {
	width: auto !important;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-49889f7 img {
	width: 140px !important;
	max-width: none;
	height: auto;
	display: block;
}

/* Menu */
.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu {
	flex-wrap: nowrap;
	gap: 4px;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item {
	white-space: nowrap;
	color: var(--kid-hdr-muted);
	font-weight: 600;
	font-size: 17.5px;
	padding: 10px 18px;
	border-radius: 10px;
	transition: color 0.18s ease, background-color 0.18s ease;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item:hover,
.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item:focus-visible {
	color: var(--kid-hdr-ink);
	background-color: rgba(109, 79, 194, 0.07);
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item.elementor-item-active {
	color: var(--kid-hdr-accent);
}

/* Elementor's underline pointer: shorter, softer, centred */
.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item::after {
	left: 18px !important;
	right: 18px !important;
	width: auto !important;
	bottom: 4px !important;
	height: 2px !important;
	border-radius: 2px;
	background-color: var(--kid-hdr-accent) !important;
}

/* CTA */
.elementor-location-header.elementor-148 .elementor-element.elementor-element-e69e446 {
	width: auto !important;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-e69e446 .elementor-button {
	white-space: nowrap;
	padding: 14px 24px !important;
	border-radius: 12px !important;
	font-size: 16.5px;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	box-shadow: 0 6px 18px rgba(109, 79, 194, 0.25) !important;
}

/* Tablet: tighter spacing so the three links stay on one line */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-location-header.elementor-148 .elementor-element.elementor-element-49889f7 img {
		width: 132px !important;
	}

	.elementor-location-header.elementor-148 .elementor-element.elementor-element-8c761b4 .elementor-nav-menu a.elementor-item {
		font-size: 16.5px;
		padding: 10px 14px;
	}

	.elementor-location-header.elementor-148 .elementor-element.elementor-element-e69e446 .elementor-button {
		padding: 13px 18px !important;
		font-size: 15.5px;
	}
}

/* ---------- Mobile row ---------- */

.elementor-location-header.elementor-148 .elementor-element.elementor-element-2c01945 {
	background: transparent !important;
	padding: 0 !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-f5c8c17,
.elementor-location-header.elementor-148 .elementor-element.elementor-element-94c015f {
	--width: auto;
	width: auto !important;
	flex: 0 0 auto;
	padding: 0 !important;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-94c015f {
	margin-left: auto;
	justify-content: flex-end;
}

.elementor-location-header.elementor-148 .elementor-element.elementor-element-b4fc9a1 img {
	width: 156px !important;
	max-width: none;
	height: auto;
	display: block;
}

@media (max-width: 767px) {
	.elementor-location-header.elementor-148 > .e-con {
		padding: 0 !important;
	}

	.elementor-location-header.elementor-148 > .e-con > .e-con-inner {
		padding: 16px var(--kid-hdr-pad) !important;
	}
}

/* ---------- Page content alignment (homepage) ---------- */
/* Between 769px and 1447px the content used to touch the screen edge. */
@media (min-width: 769px) and (max-width: 1447px) {
	body .kid-container {
		padding-left: var(--kid-hdr-pad);
		padding-right: var(--kid-hdr-pad);
	}
}

/* ---------- Mobile: compact header on scroll + "Δοκιμή" button (v1.1.0) ---------- */
@media (max-width: 767px) {
	/* Keep the full height in the page flow so nothing jumps when it shrinks */
	.elementor-location-header {
		min-height: var(--kid-hdr-h, 0px);
		pointer-events: none;
	}
	.elementor-location-header > * { pointer-events: auto; }

	.elementor-location-header.elementor-148 > .e-con > .e-con-inner {
		transition: padding 0.25s ease;
	}
	.elementor-location-header.elementor-148 .elementor-element.elementor-element-b4fc9a1 img {
		width: 140px !important;
		transition: width 0.25s ease;
	}
	.elementor-location-header .ks-mobile-menu__toggle {
		transition: width 0.25s ease, height 0.25s ease, border-radius 0.25s ease, background 0.2s ease;
	}

	body.kid-header-compact .elementor-location-header.elementor-148 > .e-con > .e-con-inner {
		padding-top: 9px !important;
		padding-bottom: 9px !important;
	}
	body.kid-header-compact .elementor-location-header.elementor-148 .elementor-element.elementor-element-b4fc9a1 img {
		width: 118px !important;
	}
	body.kid-header-compact .elementor-location-header .ks-mobile-menu__toggle {
		width: 44px !important;
		height: 44px !important;
		border-radius: 12px !important;
	}
	body.kid-header-compact .elementor-location-header .ks-mobile-menu__hcta {
		height: 40px;
		font-size: 14.5px;
	}
}

@media (max-width: 340px) {
	.elementor-location-header .ks-mobile-menu__hcta { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.elementor-location-header * { transition: none !important; }
}
