/*============================================================================
   04-nav.css — desktop navigace (v hlavičce) + mobilní drawer
   Menu markup: wp_nav_menu lokace „primary" přes [nj_main_menu]
============================================================================*/

/* ---------- DESKTOP NAV ---------- */
.nav { display: flex; align-items: center; }
.nav .nav-menu {
	display: flex;
	gap: 1.75rem;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0 !important; /* Divi .et-l--body ul padding quirk #20 */
}
.nav .nav-menu li { position: relative; margin: 0; }
.nav .nav-menu a {
	font-size: .95rem;
	font-weight: 500;
	color: var(--navy);
	padding: .4rem 0;
	display: inline-block;
	position: relative;
	text-decoration: none;
}
.nav .nav-menu a:hover { color: var(--accent-deep); }

/* ---------- AKTIVNÍ POLOŽKA (current) ----------
   WP značí <li> třídami current-menu-item / -parent / -ancestor (+ _page_).
   Design: aktivní top-level položka má barvu accent-deep a 2px accent podtržení
   (mockup .nav a.current). U položky s podmenu podtržení nahradí šipku ▾. */
.nav .nav-menu > li.current-menu-item > a,
.nav .nav-menu > li.current-menu-parent > a,
.nav .nav-menu > li.current-menu-ancestor > a,
.nav .nav-menu > li.current_page_item > a,
.nav .nav-menu > li.current_page_parent > a,
.nav .nav-menu > li.current_page_ancestor > a {
	color: var(--accent-deep);
}
.nav .nav-menu > li.current-menu-item > a::after,
.nav .nav-menu > li.current-menu-parent > a::after,
.nav .nav-menu > li.current-menu-ancestor > a::after,
.nav .nav-menu > li.current_page_item > a::after,
.nav .nav-menu > li.current_page_parent > a::after,
.nav .nav-menu > li.current_page_ancestor > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	top: auto;
	width: auto;
	height: 2px;
	margin: 0;
	background: var(--accent);
	color: transparent; /* kdyby byla položka i .menu-item-has-children (šipka) */
}

/* položka s podmenu — šipka ▾ */
.nav .menu-item-has-children > a::after {
	content: "▾";
	font-size: .7em;
	margin-left: .25em;
	color: var(--muted);
}

/* ---------- DROPDOWN (1. úroveň podmenu) ---------- */
.nav .nav-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: -16px;
	min-width: 220px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	box-shadow: var(--shadow-deep);
	padding: .5rem 0 !important;
	margin: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	pointer-events: none; /* quirk #13 — zavřený panel nesmí chytat hover */
	z-index: var(--z-nav);
}
.nav .nav-menu li:hover > .sub-menu,
.nav .nav-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
/* hover bridge — myš nesmí „spadnout" do mezery (quirk #12) */
.nav .menu-item-has-children::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 14px;
}
.nav .sub-menu a {
	display: block;
	padding: .5rem 1.1rem;
	font-size: .9rem;
}
.nav .sub-menu .menu-item-has-children > a::after { content: none; }

/* ---------- MOBILNÍ DRAWER ---------- */
.drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(20, 57, 88, .45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s;
	z-index: var(--z-backdrop);
}
.drawer {
	position: fixed;
	top: var(--adminbar-offset, 0px);
	right: 0;
	bottom: 0;
	width: min(360px, 88vw);
	background: #fff;
	box-shadow: var(--shadow-deep);
	transform: translateX(100%);
	transition: transform .28s ease;
	z-index: var(--z-drawer);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}
body.menu-open .drawer { transform: translateX(0); }
body.menu-open .drawer-backdrop { opacity: 1; visibility: visible; }
body.menu-open { overflow: hidden; }

.drawer-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid var(--line);
}
.drawer-close {
	background: transparent;
	border: none;
	color: var(--navy);
	cursor: pointer;
	padding: .4rem;
}

.drawer-nav { padding: 10px 0; flex: 1; }
.drawer-nav ul { list-style: none; margin: 0; padding: 0 !important; }
.drawer-nav li { margin: 0; position: relative; }
.drawer-nav a {
	display: block;
	padding: .8rem 20px;
	color: var(--navy);
	font-weight: 500;
	border-bottom: 1px solid var(--sand-1);
	text-decoration: none;
}
.drawer-nav a:hover { color: var(--accent-deep); background: var(--sand-1); }
/* aktivní položka v draweru */
.drawer-nav li.current-menu-item > a,
.drawer-nav li.current-menu-parent > a,
.drawer-nav li.current-menu-ancestor > a,
.drawer-nav li.current_page_item > a,
.drawer-nav li.current_page_parent > a,
.drawer-nav li.current_page_ancestor > a {
	color: var(--accent-deep);
	box-shadow: inset 3px 0 0 var(--accent);
}

/* podmenu — sbalené, rozbalí drawer.js (+ tlačítko .drawer-toggle) */
.drawer-nav .sub-menu { display: none; background: var(--sand-1); }
.drawer-nav li.is-open > .sub-menu { display: block; }
.drawer-nav .sub-menu a { padding-left: 36px; font-size: .92rem; }
.drawer-toggle {
	position: absolute;
	top: 4px;
	right: 10px;
	width: 38px;
	height: 38px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--navy);
}
.drawer-toggle::before { content: "+"; font-size: 1.3rem; line-height: 1; }
li.is-open > .drawer-toggle::before { content: "−"; }

.drawer-foot {
	padding: 16px 20px 24px;
	border-top: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.drawer-foot .phone { color: var(--accent-deep); font-weight: 700; text-decoration: none; }
.drawer-foot a { color: var(--navy); text-decoration: none; }
.drawer-foot .lang { align-self: flex-start; border-color: var(--line-2); margin-top: .4rem; }
.drawer-foot .lang span, .drawer-foot .lang a { color: var(--navy); border-color: var(--line); }
.drawer-foot .lang .active { color: #fff; }
