/* ==========================================================================
   HLAVIČKA – lepivá, s jemným sklom
   ========================================================================== */

/*
 * Lepivý je obal template partu (<header class="wp-block-template-part">),
 * nie vnútorný .gt-header – sticky prvok sa drží len v rámci rodiča a obal
 * má rovnakú výšku ako hlavička, takže by sa neprilepil.
 */
header.wp-block-template-part:has(> .gt-header),
header.wp-block-template-part:has(.gt-header) {
	position: sticky;
	top: 0;
	z-index: 100;
}

.admin-bar header.wp-block-template-part:has(.gt-header) {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar header.wp-block-template-part:has(.gt-header) {
		top: 46px;
	}
}

.gt-header {
	position: relative;
	z-index: 100;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--gt-duration) var(--gt-ease), box-shadow var(--gt-duration) var(--gt-ease);
}

.gt-header.is-scrolled {
	border-bottom-color: var(--gt-border);
}

.gt-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gt-space-32);
	min-height: var(--gt-header-height);
}

/* ---- Navigácia ---------------------------------------------------------- */

.gt-header__list {
	display: flex;
	align-items: center;
	gap: var(--gt-space-4);
	list-style: none;
}

.gt-header__list {
	gap: var(--gt-space-24);
}

.gt-header__list a {
	position: relative;
	display: inline-block;
	padding: 6px 0;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-medium);
	color: var(--gt-body);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--gt-duration) var(--gt-ease);
}

.gt-header__list a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--gt-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--gt-duration) var(--gt-ease);
}

.gt-header__list a:hover,
.gt-header__list .current-menu-item:not(.menu-item-home) > a {
	color: var(--gt-ink);
	text-decoration: none;
}

.gt-header__list a:hover::after,
.gt-header__list .current-menu-item:not(.menu-item-home) > a::after {
	transform: scaleX(1);
}

/* Kotvy na úvodnú stránku nie sú „aktuálna stránka" – bez podčiarknutia. */
.gt-header__list .current-menu-item > a[href*="#"]::after {
	transform: scaleX(0);
}

.gt-header__list .current-menu-item > a[href*="#"]:hover::after {
	transform: scaleX(1);
}

.gt-header__actions {
	display: flex;
	align-items: center;
	gap: var(--gt-space-16);
}

.gt-header__account {
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-medium);
	color: var(--gt-body);
}

.gt-header__account:hover {
	color: var(--gt-ink);
	text-decoration: none;
}

/* ---- Hamburger ---------------------------------------------------------- */

.gt-header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--gt-radius-sm);
	background: none;
	cursor: pointer;
}

.gt-header__burger-line {
	display: block;
	width: 22px;
	height: 2px;
	margin-inline: auto;
	border-radius: 2px;
	background: var(--gt-ink);
	transition: transform var(--gt-duration) var(--gt-ease);
}

.gt-header__burger[aria-expanded="true"] .gt-header__burger-line:first-child {
	transform: translateY(4px) rotate(45deg);
}

.gt-header__burger[aria-expanded="true"] .gt-header__burger-line:last-child {
	transform: translateY(-4px) rotate(-45deg);
}

/* ---- Mobilné menu ------------------------------------------------------- */

.gt-mobile-menu {
	position: absolute;
	inset: 100% 0 auto 0;
	z-index: 110;
	max-height: calc(100dvh - var(--gt-header-height));
	overflow-y: auto;
	border-top: 1px solid var(--gt-border);
	background: var(--gt-white);
	box-shadow: 0 24px 40px -24px rgba(15, 23, 42, 0.35);
}

.gt-mobile-menu[hidden] {
	display: none;
}

.gt-mobile-menu__inner {
	padding-block: var(--gt-space-16) var(--gt-space-24);
}

.gt-mobile-menu__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--gt-space-8);
	margin-bottom: var(--gt-space-16);
}

.gt-mobile-menu__actions .btn {
	min-height: 44px;
	padding-inline: var(--gt-space-12);
	font-size: var(--gt-fs-small);
}

.gt-mobile-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gt-mobile-menu__list a {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--gt-border);
	font-size: var(--gt-fs-base);
	font-weight: var(--gt-weight-semibold);
	color: var(--gt-ink);
	text-decoration: none;
}

.gt-mobile-menu__guides {
	margin-top: var(--gt-space-16);
}

.gt-mobile-menu__group {
	margin: 0 0 var(--gt-space-4);
	font-size: 11px;
	font-weight: var(--gt-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gt-muted);
}

.gt-mobile-menu__acc {
	border-bottom: 1px solid var(--gt-border);
}

.gt-mobile-menu__acc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	font-size: var(--gt-fs-base);
	font-weight: var(--gt-weight-medium);
	color: var(--gt-ink);
	list-style: none;
	cursor: pointer;
}

.gt-mobile-menu__acc summary::-webkit-details-marker {
	display: none;
}

.gt-mobile-menu__chev {
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-right: 2px solid var(--gt-muted);
	border-bottom: 2px solid var(--gt-muted);
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.gt-mobile-menu__acc[open] .gt-mobile-menu__chev {
	transform: rotate(-135deg);
}

.gt-mobile-menu__list--sub {
	padding: 0 0 var(--gt-space-8) var(--gt-space-12);
}

.gt-mobile-menu__list--sub a {
	padding: 9px 0;
	border-bottom: 0;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-regular);
	color: var(--gt-body);
}

.gt-mobile-menu__all {
	display: block;
	padding: var(--gt-space-12) 0 0;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-semibold);
	color: var(--gt-accent);
	text-decoration: none;
}

body.gt-menu-open {
	overflow: hidden;
}

@media (max-width: 1180px) {
	.gt-header__nav,
	.gt-header__actions {
		display: none;
	}

	.gt-header__burger {
		display: flex;
	}
}

@media (min-width: 1181px) {
	.gt-mobile-menu {
		display: none;
	}
}

/* ---- Mega menu Návody --------------------------------------------------- */

.gt-mega {
	position: relative;
}

.gt-mega__trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 0;
	border: 0;
	background: none;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-medium);
	color: var(--gt-body);
	cursor: pointer;
	transition: color var(--gt-duration) var(--gt-ease);
}

.gt-mega__caret {
	width: 8px;
	height: 8px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--gt-duration) var(--gt-ease);
}

.gt-mega:hover .gt-mega__trigger,
.gt-mega.is-open .gt-mega__trigger,
.gt-mega:focus-within .gt-mega__trigger {
	color: var(--gt-ink);
}

.gt-mega.is-open .gt-mega__caret {
	transform: rotate(-135deg);
	margin-top: 3px;
}

.gt-mega__panel {
	position: absolute;
	top: calc(100% + 14px);
	left: 50%;
	z-index: 120;
	width: 860px;
	padding: var(--gt-space-24) var(--gt-space-24) var(--gt-space-16);
	border: 1px solid #e3e9f2;
	border-radius: 16px;
	background: #f7f9fc;
	box-shadow: 0 1px 2px rgba(11, 18, 32, 0.05), 0 20px 48px -20px rgba(11, 18, 32, 0.22);
	transform: translateX(-50%) translateY(-6px);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--gt-duration) var(--gt-ease), transform var(--gt-duration) var(--gt-ease), visibility 0s linear var(--gt-duration);
}

/* Neviditeľný most medzi tlačidlom a panelom, aby menu nezmizlo pri prechode myšou. */
.gt-mega__panel::before {
	content: '';
	position: absolute;
	top: -16px;
	left: 0;
	right: 0;
	height: 16px;
}

.gt-mega:hover .gt-mega__panel,
.gt-mega.is-open .gt-mega__panel,
.gt-mega:focus-within .gt-mega__panel {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
	transition-delay: 0s;
}

.gt-mega__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: var(--gt-space-24);
}

.gt-mega__title {
	margin-bottom: var(--gt-space-8);
	font-size: 11px;
	font-weight: var(--gt-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #64748b;
}

.gt-mega__col ul {
	list-style: none;
}

.gt-header__list .gt-mega__col a {
	display: block;
	padding: 8px 10px;
	margin-left: -10px;
	border-radius: 8px;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-medium);
	color: var(--gt-ink);
	white-space: normal;
}

.gt-header__list .gt-mega__col a::after {
	display: none;
}

.gt-header__list .gt-mega__col a:hover {
	background: var(--gt-accent-soft);
	color: var(--gt-accent);
}

.gt-header__list .gt-mega__all {
	display: block;
	margin-top: var(--gt-space-16);
	padding: var(--gt-space-12) 0 0;
	border-top: 1px solid #e3e9f2;
	font-size: var(--gt-fs-small);
	font-weight: var(--gt-weight-semibold);
	color: var(--gt-accent);
	white-space: normal;
}

.gt-header__list .gt-mega__all::after {
	display: none;
}

