/* Submenu arrows + mega menu */

.header .menu .menu-link-wrap {
	display: flex;
	align-items: center;
	gap: 2px;
}

.header .menu .menu-link-wrap > a {
	flex: 1 1 auto;
	min-width: 0;
}

.header .menu .submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--sf-text, var(--default));
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.header .menu .submenu-toggle:hover,
.header .menu .submenu-toggle:focus {
	background-color: rgba(48, 123, 235, .08);
	outline: 0;
}

.header .menu .submenu-toggle:focus-visible {
	outline: 2px solid var(--poradnia-blue, #316fe8);
	outline-offset: 2px;
}

.header .menu .submenu-toggle__icon {
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	transition: transform .2s ease;
}

/* Open / expanded → arrow up (top-level) */
.header .menu > .menu-item-has-children.is-open > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon,
.header .menu > .menu-item-has-children.is-open > .menu-link-wrap > .submenu-toggle[aria-expanded="true"] .submenu-toggle__icon {
	transform: rotate(-135deg) translateY(-1px);
}

/* Nested arrows point right (flyout) */
.header .menu .sub-menu .submenu-toggle__icon {
	transform: rotate(-45deg);
}

.header .menu .sub-menu .menu-item-has-children.is-open > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon,
.header .menu .sub-menu .menu-item-has-children.is-open > .menu-link-wrap > .submenu-toggle[aria-expanded="true"] .submenu-toggle__icon {
	transform: rotate(-45deg);
}

/* Mobile: accordion — tap the arrow, not hover */
.header .menu .menu-item-has-children > .sub-menu {
	display: none;
}

.header .menu .menu-item-has-children.is-open > .sub-menu {
	display: block;
}

.header .menu .sub-menu .menu-link-wrap {
	gap: 4px;
}

.header .menu .sub-menu .menu-link-wrap > a {
	flex: 1 1 auto;
	min-width: 0;
	padding: 10px 14px;
	font-size: .95em;
	color: var(--sf-muted, #5F708E);
}

.header .menu .sub-menu .menu-item-has-children > .menu-link-wrap > a {
	padding-right: 8px;
}

.header .menu .sub-menu .submenu-toggle {
	flex: 0 0 auto;
	margin-inline-start: auto;
}

.header .menu .sub-menu .sub-menu {
	padding-left: 12px;
}

.header .menu > li.sf-mega > .sub-menu > .menu-item > .menu-link-wrap > a {
	font-weight: 650;
	color: var(--sf-text, var(--default, #062f6b));
}

.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu {
	padding-left: 8px;
}

@media (min-width: 992px) {
	.header .menu .menu-link-wrap {
		gap: 0;
	}

	.header .menu > li > .menu-link-wrap > a {
		padding: 8px 6px 8px 8px;
	}

	.header .menu .submenu-toggle {
		width: 28px;
		height: 28px;
		border-radius: 6px;
	}

	.header .menu .submenu-toggle:hover,
	.header .menu .submenu-toggle:focus {
		background-color: transparent;
	}

	.header .menu .menu-item-has-children > .sub-menu {
		display: block;
	}

	/* Top-level panel: under the item, width hugs the titles */
	.header .menu > li > .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		width: max-content;
		min-width: 100%;
		max-width: min(calc(100vw - 24px), 28rem);
		padding: 6px;
		background: var(--header, #fff);
		box-shadow: 0 12px 32px rgba(13, 46, 92, .14);
		border-radius: 12px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
		z-index: 120;
		overflow: visible;
	}

	.header .menu > li.is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

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

	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"]:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"]:focus-within > .sub-menu {
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
	}

	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"].is-open > .sub-menu,
	body.sf-nav-click .header .menu > li.is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	body.sf-nav-hover .header .menu > li.menu-item-has-children:hover > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon,
	body.sf-nav-hover .header .menu > li.menu-item-has-children:focus-within > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon,
	.header .menu > li.menu-item-has-children.is-open > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon {
		transform: rotate(-135deg) translateY(-1px);
	}

	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"]:hover > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon,
	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"]:focus-within > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon {
		transform: rotate(45deg) translateY(-1px);
	}

	body.sf-nav-hover .header .menu > li[data-sf-submenu="click"].is-open > .menu-link-wrap > .submenu-toggle .submenu-toggle__icon {
		transform: rotate(-135deg) translateY(-1px);
	}

	/* Nested panels fly out to the right */
	.header .menu > li > .sub-menu .sub-menu {
		position: absolute;
		top: 0;
		left: calc(100% - 4px);
		width: max-content;
		min-width: 100%;
		max-width: min(calc(100vw - 24px), 22rem);
		padding: 6px;
		margin: 0;
		background: var(--header, #fff);
		box-shadow: 0 12px 32px rgba(13, 46, 92, .14);
		border-radius: 12px;
		opacity: 0;
		visibility: hidden;
		transform: translateX(8px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
		z-index: 130;
	}

	.header .menu > li > .sub-menu .sub-menu.sf-flyout-start {
		left: auto;
		right: calc(100% - 4px);
		transform: translateX(-8px);
	}

	.header .menu > li > .sub-menu > .menu-item-has-children.is-open > .sub-menu,
	.header .menu > li > .sub-menu > .menu-item-has-children.is-open > .sub-menu.sf-flyout-start {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}

	body.sf-nav-hover .header .menu > li[data-sf-submenu="hover"] > .sub-menu > .menu-item-has-children:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li:not([data-sf-submenu="click"]) > .sub-menu > .menu-item-has-children:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li[data-sf-submenu="hover"] > .sub-menu > .menu-item-has-children:focus-within > .sub-menu,
	body.sf-nav-hover .header .menu > li:not([data-sf-submenu="click"]) > .sub-menu > .menu-item-has-children:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}

	/* Mega: same as dropdown — width follows the titles, children fly out right */
	.header .menu > li.sf-mega > .sub-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		left: 0;
		right: auto;
		width: max-content;
		min-width: 100%;
		max-width: min(calc(100vw - 24px), 28rem);
		padding: 6px;
		transform: translateY(6px);
		overflow: visible;
	}

	.header .menu > li.sf-mega.sf-mega-cols-1 > .sub-menu {
		min-width: 100%;
		width: max-content;
		max-width: min(calc(100vw - 24px), 28rem);
	}

	.header .menu > li.sf-mega.is-open > .sub-menu {
		transform: translateY(0);
	}

	body.sf-nav-hover .header .menu > li.sf-mega:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega:focus-within > .sub-menu {
		transform: translateY(0);
	}

	body.sf-nav-hover .header .menu > li.sf-mega[data-sf-submenu="click"]:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega[data-sf-submenu="click"]:focus-within > .sub-menu {
		transform: translateY(6px);
	}

	body.sf-nav-hover .header .menu > li.sf-mega[data-sf-submenu="click"].is-open > .sub-menu,
	body.sf-nav-click .header .menu > li.sf-mega.is-open > .sub-menu {
		transform: translateY(0);
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item {
		position: relative;
		z-index: 1;
		width: 100%;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item.is-open {
		z-index: 4;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .menu-link-wrap {
		border-radius: 8px;
	}

	.header .menu .sub-menu .menu-link-wrap {
		gap: 6px;
	}

	.header .menu .sub-menu .menu-link-wrap > a {
		flex: 1 1 auto;
		min-width: 0;
		padding-right: 8px;
	}

	.header .menu .sub-menu .submenu-toggle {
		flex: 0 0 28px;
		width: 28px;
		height: 28px;
		margin-inline-start: auto;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .menu-link-wrap > a {
		padding: 6px 8px 6px 6px;
		font-size: 0.95rem;
		font-weight: 700;
		color: #062f6b;
		border-radius: 8px;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .menu-link-wrap > a:hover,
	.header .menu > li.sf-mega > .sub-menu > .menu-item > .menu-link-wrap > a:focus {
		background: transparent;
		color: #316fe8;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .submenu-toggle {
		display: inline-flex;
		width: 28px;
		height: 28px;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu {
		position: absolute;
		top: 0;
		left: calc(100% - 4px);
		width: max-content;
		min-width: 100%;
		max-width: min(calc(100vw - 24px), 22rem);
		padding: 6px;
		margin: 0;
		background: var(--header, #fff);
		box-shadow: 0 12px 32px rgba(13, 46, 92, .14);
		border-radius: 12px;
		opacity: 0;
		visibility: hidden;
		overflow: visible;
		transform: translateX(8px);
		pointer-events: none;
		max-height: none;
		z-index: 140;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu.sf-flyout-start {
		left: auto;
		right: calc(100% - 4px);
		transform: translateX(-8px);
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item.is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
	}

	body.sf-nav-hover .header .menu > li.sf-mega:not([data-sf-submenu="click"]) > .sub-menu > .menu-item:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega:not([data-sf-submenu="click"]) > .sub-menu > .menu-item:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu a {
		padding: 7px 6px;
		font-size: 0.9rem;
		font-weight: 500;
		color: #5f708e;
		border-radius: 8px;
	}

	.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu a:hover,
	.header .menu > li.sf-mega > .sub-menu > .menu-item > .sub-menu a:focus {
		background-color: rgba(48, 123, 235, .08);
		color: #062f6b;
	}
}

/* Touch / no-hover: ignore CSS :hover opens even on wide screens */
@media (hover: none), (pointer: coarse) {
	body.sf-nav-hover .header .menu > li:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li:focus-within > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega:focus-within > .sub-menu,
	body.sf-nav-hover .header .menu > li > .sub-menu > .menu-item-has-children:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega > .sub-menu > .menu-item:hover > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega > .sub-menu > .menu-item:focus-within > .sub-menu {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	body.sf-nav-hover .header .menu > li.is-open > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega.is-open > .sub-menu,
	body.sf-nav-hover .header .menu > li > .sub-menu > .menu-item-has-children.is-open > .sub-menu,
	body.sf-nav-hover .header .menu > li.sf-mega > .sub-menu > .menu-item.is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}
}
