/* =========================================================
   Kurs Nav Menu widget
   ========================================================= */

.kurs-nav-menu {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0; /* dopušta skupljanje unutar Elementor flex reda umjesto overflowa */
	flex: 1 1 auto; /* popuni preostali prostor između loga i searcha */
}

.kurs-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 28px;
	justify-content: var( --kurs-nav-align, flex-end );
}

.kurs-nav-menu.kurs-nav-layout-vertical .kurs-nav-list {
	flex-direction: column;
	align-items: flex-start;
}

.kurs-nav-list li {
	position: relative;
}

.kurs-nav-list a {
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
	font-family: var( --kurs-font-family-body );
	font-size: var( --kurs-font-nav );
}

/* --- Dropdown submeniji (desktop: hover) --- */
.kurs-nav-list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.12 );
	opacity: 0;
	visibility: hidden;
	transform: translateY( 8px );
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	z-index: 100;
}

.kurs-nav-list .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}

.kurs-nav-list li:hover > .sub-menu,
.kurs-nav-list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY( 0 );
}

.kurs-nav-list .sub-menu li {
	padding: 0 18px;
}

.kurs-nav-list .sub-menu a {
	display: block;
	padding: 8px 0;
	/* Zadana boja teksta - dropdown pozadina je bijela pa tekst mora biti taman
	   bez obzira na boju teksta glavnog izbornika (koja je obično svijetla na
	   tamnoj pozadini headera). Boja se može prilagoditi i kroz Elementor Stil
	   kontrole widgeta (Stil - Dropdown), ovo je siguran zadani fallback. */
	color: #3A2E22;
}

.kurs-nav-list .sub-menu a:hover {
	color: #6B4226;
}

/* --- Hamburger gumb (skriven po defaultu na desktopu) --- */
.kurs-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	width: 36px;
	height: 36px;
}

.kurs-nav-toggle span {
	display: block;
	height: 3px;
	width: 100%;
	background-color: #111111;
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Animacija hamburgera u "X" kad je otvoren */
.kurs-nav-menu.is-open .kurs-nav-toggle span:nth-child( 1 ) {
	transform: translateY( 8px ) rotate( 45deg );
}
.kurs-nav-menu.is-open .kurs-nav-toggle span:nth-child( 2 ) {
	opacity: 0;
}
.kurs-nav-menu.is-open .kurs-nav-toggle span:nth-child( 3 ) {
	transform: translateY( -8px ) rotate( -45deg );
}

/* =========================================================
   Breakpointovi - prijelaz na hamburger prikaz
   ========================================================= */

@media ( max-width: 1280px ) {
	.kurs-nav-breakpoint-tablet .kurs-nav-toggle {
		display: flex;
	}

	.kurs-nav-breakpoint-tablet .kurs-nav-list {
		display: none;
		flex-direction: column;
		align-items: flex-start;
		position: absolute;
		top: calc( 100% + 12px );
		right: 0;
		background: #ffffff;
		border-radius: 14px;
		box-shadow: 0 12px 32px rgba( 0, 0, 0, 0.15 );
		padding: 16px 20px;
		min-width: 220px;
		gap: 12px;
	}

	.kurs-nav-breakpoint-tablet.is-open .kurs-nav-list {
		display: flex;
	}

	/* Otvoreni mobilni/tablet izbornik je uvijek svijetla kartica, bez obzira
	   na to je li desktop header trenutno u "dark-bg" (bijeli tekst) modu -
	   tekst stavki mora ostati čitljiv (taman) unutar te kartice. */
	.kurs-nav-breakpoint-tablet.is-open .kurs-nav-list > li > a {
		color: #3A2E22;
	}

	.kurs-nav-breakpoint-tablet .kurs-nav-list .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		display: none;
		padding-left: 12px;
	}

	.kurs-nav-breakpoint-tablet .kurs-nav-list li.kurs-submenu-open > .sub-menu {
		display: block;
	}
}

@media ( max-width: 600px ) {
	.kurs-nav-breakpoint-mobile .kurs-nav-toggle {
		display: flex;
	}

	.kurs-nav-breakpoint-mobile .kurs-nav-list {
		display: none;
		flex-direction: column;
		align-items: flex-start;
		position: absolute;
		top: calc( 100% + 12px );
		right: 0;
		background: #ffffff;
		border-radius: 14px;
		box-shadow: 0 12px 32px rgba( 0, 0, 0, 0.15 );
		padding: 16px 20px;
		min-width: 200px;
		gap: 12px;
	}

	.kurs-nav-breakpoint-mobile.is-open .kurs-nav-list {
		display: flex;
	}

	/* Isto pravilo kao za tablet breakpoint iznad - otvoreni mobilni izbornik
	   je uvijek svijetla kartica, tekst stavki mora ostati taman/čitljiv. */
	.kurs-nav-breakpoint-mobile.is-open .kurs-nav-list > li > a {
		color: #3A2E22;
	}

	.kurs-nav-breakpoint-mobile .kurs-nav-list .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		display: none;
		padding-left: 12px;
	}

	.kurs-nav-breakpoint-mobile .kurs-nav-list li.kurs-submenu-open > .sub-menu {
		display: block;
	}
}

/* =========================================================
   Pretraga preseljena u otvoreni mobilni izbornik
   (premjesta ju initSearchInMenu u nav-menu.js, <= 767px).
   ========================================================= */
.kurs-nav-search-item {
	list-style: none;
	width: 100%;
	padding: 0 0 12px;
	margin: 0 0 4px;
	border-bottom: 1px solid rgba( 0, 0, 0, 0.08 );
}

.kurs-nav-search-item .kurs-search-widget {
	width: 100%;
}

/* Gumb "Trazi" u uskom panelu zadrzava samo ikonu - inace (nowrap +
   fiksni padding) pojede svu sirinu i input ostane sirine 0. */
.kurs-nav-search-item .kurs-search-submit {
	padding: 0 14px;
}

.kurs-nav-search-item .kurs-search-submit-label {
	display: none;
}

@media ( max-width: 1024px ) {
	/* Panel mora biti dovoljno sirok da polje bude upotrebljivo.
	   --kurs-vw je stvarna sirina prozora bez scrollbara (postavlja
	   ju kurs-fullbleed-fx), pa panel ne moze prouzrociti prelijevanje. */
	.kurs-nav-menu.is-open .kurs-nav-list {
		min-width: min( 300px, calc( var( --kurs-vw, 100vw ) - 32px ) );
	}
}
