/**
 * Lynt HP — main menu styling (custom render replacement for oxy-site-navigation).
 *
 * Originál Oxygen Site Navigation komponenty kompiluje per-instance CSS do
 * `oxygen/css/{template_id}.css` (ID-scoped + class-scoped). Když ten komponent
 * v Builderu odstraníš a uložíš, Oxygen ta pravidla z compiled CSS vyhází —
 * čímž ztratíme i bázový layout (display:flex, list-style reset, dropdown
 * positioning). Proto níže držíme všechna potřebná pravidla nezávisle, jako
 * class-scoped na `nav.lynt-hp-menu`.
 *
 * Pravidla vytažená z `oxygen/css/35.css` (CS - Full, snapshot před odstraněním
 * Site Navigation komponenty z šablony) a převedená:
 *   `#-site-navigation-94-5` → `nav.lynt-hp-menu`
 *   `.oxy-site-navigation`    → `nav.lynt-hp-menu`
 *   BEM children (`.oxy-site-navigation__mobile-open-button`, atd.)
 *                             → ponecháno (HTML render je používá verbatim)
 *
 * Match Oxygen breakpoint 991px pro mobile drawer (off-canvas).
 */


/* ───── 0. Layout containment ─────
 * Oxygen "Shortcode" / "Code Block" komponenty wrappují obsah do
 * <div class="ct-shortcode"> / <div class="ct-code-block">. Originální Site
 * Navigation šla přímo do flex containeru `oxy-header-center` bez wrapperu.
 * Aby ct-shortcode wrapper nelámal flex layout, uděláme ho transparentním —
 * `display: contents` element zachová v DOMu ale neúčastní se layoutu.
 * Modern browsers (Chrome 105+, FF 121+, Safari 15.4+).
 */

.ct-shortcode:has(> nav.lynt-hp-menu),
.ct-code-block:has(> nav.lynt-hp-menu) {
	display: contents;
}

/* Nav natáhneme na full width parent flex containeru (originál to měl přes
 * Oxygen class `width--full`; v našem renderu to děláme tady class-scoped). */
nav.lynt-hp-menu {
	width: 100%;
}


/* ───── 1. Bázová pravidla pro náš nav (custom) ───── */

/* Reset text-decoration — Oxygen má v inline <style> ID-scoped, my class-scoped. */
nav.lynt-hp-menu a,
nav.lynt-hp-menu a::after {
	text-decoration: none;
}

nav.lynt-hp-menu button.lynt-hp-menu__toggle {
	background: none;
	border: none;
	cursor: pointer;
	color: inherit;
	/* padding záměrně NEnastavujeme — necháme jí nastavit:
	 *   - desktop:  extracted `nav.lynt-hp-menu li > button { padding: 8px 8px 8px 0px }`
	 *   - mobile (<991px): universal.css `.oxy-site-navigation > ul > li > button
	 *     { padding: 6px 24px }` (větší touch-target)
	 * Tato custom rule by jinak (specificita 0,2,2) přebila obě a usekla touch area. */
}


/* ───── 3. Pravidla zděděná z Oxygen compiled CSS (oxygen/css/35.css) ─────
 * Bylo vázáno na ID `#-site-navigation-94-5` (které se uložením šablony bez
 * Site Navigation komponenty zmizelo). Class-scoped náhrada níže.
 */

nav.lynt-hp-menu {
	/* HP brand: navy from automatic.css --primary, white neutral, light grey hover.
	 * Per-instance Oxygen overrides (původně v ID-scoped #-site-navigation-94-5)
	 * teď class-scoped a sloučené sem (původní default #4831B0 purple nahrazen).
	 *
	 * Specificita `nav.lynt-hp-menu` (0,1,1) > `.oxy-site-navigation` (0,1,0) —
	 * porazí universal.css default `--oxynav-brand-color: #4831B0` který se na
	 * stránce loaduje až za naším CSS. */
	--oxynav-brand-color: var(--primary);
	--oxynav-neutral-color: #ffffff;
	--oxynav-activehover-color: #efedf4;
	--oxynav-background-color: var(--primary);
	--oxynav-font-weight: 300;
	--oxynav-other-spacing: 8px;
	--oxynav-other-spacing-x2: calc(var(--oxynav-other-spacing) * 2);
	--oxynav-link-spacing: var(--oxynav-other-spacing) calc(var(--oxynav-other-spacing) * 2);
	--oxynav-border-radius: 0px;
	--oxynav-animation-name: oxel-sitenav-dropdown;
	--oxynav-transition-duration: 0.3s;
	--oxynav-transition-timing-function: cubic-bezier(.84,.05,.31,.93);
	position: relative;
}
.oxy-site-navigation__mobile-open-button { color:var(--oxynav-brand-color); margin-left:var(--oxynav-other-spacing); margin-right:var(--oxynav-other-spacing); border-style:none; background-color:transparent; padding:8px 8px; cursor:pointer; }
.oxy-site-navigation__css-icon { display:flex; flex-direction:column; align-items:center; justify-content:center; width:32px; aspect-ratio:1; }
.oxy-site-navigation__css-icon-inner { position:relative; display:flex; flex-direction:column; width:100%; }
.oxy-site-navigation__css-icon-inner,.oxy-site-navigation__css-icon-inner::before,.oxy-site-navigation__css-icon-inner::after { width:100%; height:2px; background:currentColor; transform-origin:center; transition:var(--oxynav-transition-duration) all var(--oxynav-transition-timing-function); }
.oxy-site-navigation__css-icon-inner::before,.oxy-site-navigation__css-icon-inner::after { content:""; position:absolute; }
.oxy-site-navigation__css-icon--animation-sticks .oxy-site-navigation__css-icon-inner::before { transition-delay:0.2s; top:-8px; }
.oxy-site-navigation__css-icon--animation-sticks .oxy-site-navigation__css-icon-inner::after { bottom:-8px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-sticks .oxy-site-navigation__css-icon-inner { background:transparent; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-sticks .oxy-site-navigation__css-icon-inner::before { rotate:225deg; translate:0px 8px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-sticks .oxy-site-navigation__css-icon-inner::after { rotate:-225deg; translate:0px -8px; }
.oxy-site-navigation__css-icon--animation-basic .oxy-site-navigation__css-icon-inner::before { top:-8px; }
.oxy-site-navigation__css-icon--animation-basic .oxy-site-navigation__css-icon-inner::after { bottom:-8px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-basic .oxy-site-navigation__css-icon-inner { background:transparent; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-basic .oxy-site-navigation__css-icon-inner::before { rotate:-45deg; translate:0px 8px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-basic .oxy-site-navigation__css-icon-inner::after { rotate:45deg; translate:0px -8px; }
.oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner { position:relative; display:flex; flex-direction:column; width:100%; box-shadow:0px 8px 0px 0px currentColor,0px -8px 0px 0px currentColor; }
.oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner::before { rotate:45deg; top:0px; transform:scaleX(0); }
.oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner::after { rotate:-45deg; bottom:0px; transform:scaleX(0); }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner { box-shadow:0px 0px 0px 0px transparent,0px 0px 0px 0px transparent; background:transparent; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner::before,[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-collapse .oxy-site-navigation__css-icon-inner::after { transition-delay:0.3s; transform:scaleX(1); }
.oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner { position:relative; display:flex; flex-direction:column; width:100%; box-shadow:0px 8px 0px 0px currentColor,0px -8px 0px 0px currentColor; }
.oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner::before { rotate:45deg; top:0px; opacity:0; translate:-32px -32px; }
.oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner::after { rotate:-45deg; bottom:0px; opacity:0; translate:32px -32px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner { box-shadow:0px 32px 0px 0px transparent,0px -32px 0px 0px transparent; background:transparent; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner::before { transition-delay:0.1s; translate:0px 0px; opacity:1; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-dropin .oxy-site-navigation__css-icon-inner::after { transition-delay:0.2s; translate:0px 0px; opacity:1; }
.oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner,.oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::before,.oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::after { transition:none; }
.oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::before { top:-8px; }
.oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::after { bottom:-8px; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner { background:transparent; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::before { translate:0px 8px; rotate:45deg; }
[aria-expanded="true"] .oxy-site-navigation__css-icon--animation-none .oxy-site-navigation__css-icon-inner::after { translate:0px -8px; rotate:-45deg; }
.oxy-site-navigation__mobile-close-button .oxy-site-navigation__css-icon-inner { background:transparent; }
.oxy-site-navigation__mobile-close-button .oxy-site-navigation__css-icon-inner::before { top:0; rotate:45deg; }
.oxy-site-navigation__mobile-close-button .oxy-site-navigation__css-icon-inner::after { bottom:0; rotate:-45deg; }
nav.lynt-hp-menu li > button.oxy-site-navigation__mobile-close-button { padding:0; margin:0; }
.oxy-site-navigation__mobile-open-button > svg { width:16px; fill:currentColor; }
nav.lynt-hp-menu > ul { display:flex; flex-direction:row; align-items:stretch; }
nav.lynt-hp-menu ul { list-style-type:none; padding-inline-start:0px; }
nav.lynt-hp-menu li { display:flex; justify-content:space-between; align-items:center; position:relative; color:var(--oxynav-brand-color); background-color:var(--oxynav-neutral-color); white-space:nowrap; text-align:left; }
nav.lynt-hp-menu > li + li { margin-left:var(--oxynav-link-spacing); }
nav.lynt-hp-menu>ul>li { border-radius:var(--oxynav-border-radius); }
nav.lynt-hp-menu li:hover { background-color:var(--oxynav-activehover-color); }
nav.lynt-hp-menu li a,nav.lynt-hp-menu > a { color:var(--oxynav-brand-color); padding:var(--oxynav-link-spacing); flex-grow:1; outline-offset:-4px; }
nav.lynt-hp-menu button svg { pointer-events:none; }
nav.lynt-hp-menu li > button { color:currentColor; margin-right:var(--oxynav-other-spacing); border-style:none; background-color:transparent; padding:8px 8px 8px 0px; cursor:pointer; }
nav.lynt-hp-menu li > button > svg { width:16px; fill:currentColor; }
nav.lynt-hp-menu li > button:not(.oxy-site-navigation__mobile-open-button):not(.oxy-site-navigation__mobile-close-button) > svg { max-width:25px; }
nav.lynt-hp-menu li > ul:not(.open) { display:none; }
nav.lynt-hp-menu > ul > li > ul { padding-top:var(--oxynav-other-spacing); z-index:999; }
nav.lynt-hp-menu > ul > li > ul > li:first-of-type { border-top-left-radius:var(--oxynav-border-radius); border-top-right-radius:var(--oxynav-border-radius); }
nav.lynt-hp-menu > ul > li > ul > li:last-of-type { border-bottom-left-radius:var(--oxynav-border-radius); border-bottom-right-radius:var(--oxynav-border-radius); }
nav.lynt-hp-menu > ul > li > ul > li > ul > li:first-of-type { border-top-left-radius:var(--oxynav-border-radius); border-top-right-radius:var(--oxynav-border-radius); }
nav.lynt-hp-menu > ul > li > ul > li > ul > li:last-of-type { border-bottom-left-radius:var(--oxynav-border-radius); border-bottom-right-radius:var(--oxynav-border-radius); }
nav.lynt-hp-menu li ul { display:flex; flex-direction:column; position:absolute; min-width:100%; left:0; top:100%; }
nav.lynt-hp-menu li li { background-color:var(--oxynav-background-color); }
nav.lynt-hp-menu li li:hover > a,nav.lynt-hp-menu li li:hover > a[data-description]::after { color:var(--oxynav-brand-color); }
nav.lynt-hp-menu li li a,nav.lynt-hp-menu li li a[data-description]::after,nav.lynt-hp-menu li li > button { color:var(--oxynav-neutral-color); }
nav.lynt-hp-menu li li:hover > button > svg { color:var(--oxynav-brand-color); }
nav.lynt-hp-menu li > ul ul { top:0; left:100%; }
nav.lynt-hp-menu > ul > li > ul.oxy-site-navigation-submenu--off-r { left:auto; right:0; }
nav.lynt-hp-menu > ul > li > ul > li > ul.oxy-site-navigation-submenu--off-r { left:auto; right:100%; }
nav.lynt-hp-menu > ul > .current-menu-ancestor > a::before,nav.lynt-hp-menu > ul > .current-menu-item > a::before { content:""; position:absolute; bottom:8px; height:1px; left:16px; right:16px; background-color:var(--oxynav-brand-color); }
nav.lynt-hp-menu [data-description] { justify-content:center; }
nav.lynt-hp-menu [data-description]::after { content:attr(data-description); display:flex; font-size:0.75rem; color:rgba(255,255,255,0.90); }
nav.lynt-hp-menu > ul > li > [data-description]::after { color:var(--oxynav-brand-color); }
nav.lynt-hp-menu li > img { width:64px; aspect-ratio:1; object-fit:contain; padding:var(--oxynav-link-spacing); padding-right:0px; }
nav.lynt-hp-menu li:hover > img { filter:brightness(0.5); }
nav.lynt-hp-menu .oxy-site-navigation__mobile-open-button { display:none; }
nav.lynt-hp-menu .oxy-site-navigation__mobile-close-wrapper { display:none; padding:var(--oxynav-link-spacing); }
.oxy-site-navigation__noscript { padding:8px; background:#ff4444; color:white; max-width:300px; }
/* (duplicate var block from #-site-navigation-94-5 odstraněn — barvy jsou sloučené v hlavním nav.lynt-hp-menu bloku výše) */
nav.lynt-hp-menu > ul > li > a,nav.lynt-hp-menu > ul > li > a::after,nav.lynt-hp-menu > ul > li > button { text-decoration:none; }
nav.lynt-hp-menu > ul > li > ul > li > a,nav.lynt-hp-menu > ul > li > ul > li > a::after,nav.lynt-hp-menu > ul > li > ul > li > button { text-decoration:none; line-height:1; font-size:15px; }
nav.lynt-hp-menu button:not(.oxy-site-navigation__mobile-open-button):not(.oxy-site-navigation__mobile-close-button) > svg { width:14px; }
nav.lynt-hp-menu button.oxy-site-navigation__mobile-close-button > svg,nav.lynt-hp-menu .oxy-site-navigation__mobile-close-button .oxy-site-navigation__css-icon { width:24px; }
nav.lynt-hp-menu > ul { left:unset; right:0; }
nav.lynt-hp-menu > ul > .current-menu-ancestor > a::before,nav.lynt-hp-menu > ul > .current-menu-item > a::before { display:none; }
nav.lynt-hp-menu:hover { oxy-site-navigation-slug----oxynav-activecolor:#efedf4; }
@media (max-width:1280px) {
	nav.lynt-hp-menu { --oxynav-other-spacing:3px; }
	nav.lynt-hp-menu > ul > li > ul > li > a,nav.lynt-hp-menu > ul > li > ul > li > a::after,nav.lynt-hp-menu > ul > li > ul > li > button { line-height:1.5; }
	nav.lynt-hp-menu > ul { left:unset; right:0; }
}
@media (max-width:991px) {
	nav.lynt-hp-menu > ul { left:unset; right:0; }
	nav.lynt-hp-menu { display:flex; flex-direction:column; }
}
@media (max-width:767px) {
	nav.lynt-hp-menu > ul { left:unset; right:0; }
}
@media (max-width:479px) {
	nav.lynt-hp-menu > ul { left:unset; right:0; }
}

/* ───── 4. Mobile drawer (přesunuto sem na konec souboru, aby přebilo extrahované
 * "desktop default" pravidla která jsou class-scoped bez @media wrapperu a měla
 * by source-order winner nad naším @media (max-width:991px) blokem výše). ──── */

/* ───── 2. Mobile drawer (off-canvas pod 991px) ───── */

/* Default: hide mobile buttons on desktop */
nav.lynt-hp-menu .oxy-site-navigation__mobile-open-button,
nav.lynt-hp-menu .oxy-site-navigation__mobile-close-wrapper {
	display: none;
}

@media (max-width: 991px) {
	nav.lynt-hp-menu .oxy-site-navigation__mobile-open-button {
		display: inline-block;
	}
	nav.lynt-hp-menu .oxy-site-navigation__mobile-close-wrapper {
		display: block;
	}

	nav.lynt-hp-menu > ul:not(.open) {
		display: none;
	}
	nav.lynt-hp-menu > ul {
		position: fixed;
		top: 0;
		flex-direction: column;
		height: 100vh;
		width: 300px;
		padding: 64px 0px;
		overflow: auto;
		background-color: var(--oxynav-neutral-color);
		box-shadow:
			0px 12.5px 10px rgba(0, 0, 0, 0.035),
			0px 100px 80px rgba(0, 0, 0, 0.07);
		margin-block-end: 0px;
		margin-block-start: 0px;
		z-index: 9999;
	}

	nav.lynt-hp-menu ul > li {
		width: 100%;
		flex-wrap: wrap;
	}

	nav.lynt-hp-menu ul > li > ul > li,
	nav.lynt-hp-menu ul > li > ul > li > ul > li {
		width: 100%;
		flex-wrap: nowrap;
	}

	nav.lynt-hp-menu ul > li > ul > li > a,
	nav.lynt-hp-menu ul > li > ul > li > ul > li > a {
		white-space: normal;
	}

	nav.lynt-hp-menu > ul > li > ul > li {
		flex-wrap: wrap;
	}

	nav.lynt-hp-menu > ul > li > ul > li > a {
		max-width: 89%;
	}

	nav.lynt-hp-menu > ul > li > ul > li > img + a {
		width: 60%;
	}

	nav.lynt-hp-menu > ul > li,
	nav.lynt-hp-menu > ul > li > ul > li:first-of-type,
	nav.lynt-hp-menu > ul > li > ul > li:last-of-type,
	nav.lynt-hp-menu > ul > li > ul > li > ul > li:first-of-type,
	nav.lynt-hp-menu > ul > li > ul > li > ul > li:last-of-type {
		border-radius: 0px;
	}

	nav.lynt-hp-menu li > ul {
		position: static;
	}
}

