/* ==========================================================================
   RAR – poprawki dostępności: menu rozwijane i wskaźnik fokusu
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Przycisk rozwijania podmenu
   Przycisk jest rodzeństwem linku (a nie zagnieżdżonym w nim), więc pozycję
   strzałki trzeba odtworzyć na poziomie elementu listy.
   -------------------------------------------------------------------------- */

.main-header-menu > .menu-item-has-children,
.main-header-menu .sub-menu > .menu-item-has-children {
	display: flex;
	/* Astra ustawia na pozycjach menu flex-direction: column – bez jawnego
	   wiersza przycisk lądowałby pod tekstem pozycji. */
	flex-direction: row;
	/* nowrap – inaczej przycisk w wąskiej liście podręcznej (240 px) zawija się
	   pod tekst pozycji zamiast stanąć obok niego. */
	flex-wrap: nowrap;
	align-items: center;
}

/* Strzałka była wcześniej wewnątrz linku, w obrębie jego prawego wcięcia.
   Po wyjęciu jej do rodzeństwa oddajemy to wcięcie przyciskowi, żeby odstępy
   między pozycjami menu zostały takie jak przed zmianą. Skrypt podstawia pod
   --rar-odstep faktyczne wcięcie linku. */
.main-header-menu .menu-item-has-children > .menu-link {
	flex: 1 1 auto;
	padding-right: 0.25em;
}

.main-header-menu .menu-item-has-children > .rar-submenu-toggle {
	padding-right: var(--rar-odstep, 15px);
}

.rar-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
	padding: 0 0.6em 0 0;
	border: 0;
	background: none;
	font: inherit;

	/* Przycisk jest rodzeństwem linku, więc dziedziczy kolor po <li> (ciemny),
	   a nie po linku (biały) – strzałka zlewałaby się z tłem nagłówka.
	   Skrypt nadpisuje tę wartość dokładnym kolorem sąsiedniego linku;
	   poniższe jest awaryjne, gdyby JavaScript nie wystartował. */
	color: var(--ast-global-color-5, #ffffff);
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.rar-submenu-toggle svg {
	display: block;
	width: 0.75em;
	height: 0.75em;
	fill: currentColor;
	transition: transform 0.2s ease;
}

.rar-submenu-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

/* Astra nie tylko chowa podmenu (visibility), ale też parkuje je poza ekranem
   przez left: -999em – trzeba cofnąć oba zabiegi.

   Świadomie bez :focus-within – przy jawnym przycisku rozwijania ta reguła
   trzymałaby listę otwartą także po naciśnięciu Escape (fokus wraca wtedy na
   przycisk, który leży wewnątrz pozycji menu). */
.main-header-menu .menu-item-has-children.rar-submenu-open > .sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	right: auto;
	left: 0;
}

/* Listy zagnieżdżone rozwijają się w bok, obok pozycji nadrzędnej
   – te same wartości, których Astra używa przy najechaniu myszą. */
.main-header-menu .sub-menu .menu-item-has-children.rar-submenu-open > .sub-menu {
	right: auto;
	left: 100%;
}

/* Na wąskich ekranach Astra pokazuje własny przycisk (.ast-menu-toggle)
   i układa menu pionowo – nasz przycisk jest wtedy zbędny. */
@media (max-width: 921px) {
	.rar-submenu-toggle {
		display: none;
	}

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

/* --------------------------------------------------------------------------
   2. Wskaźnik fokusu (WCAG 2.4.7, 2.4.11)
   Żółty pierścień z ciemną otoczką jest czytelny zarówno na ciemnym nagłówku,
   jak i na białej treści – dlatego nie zależy od currentColor.
   -------------------------------------------------------------------------- */

:root {
	--rar-focus-ring: #ffd400;
	--rar-focus-halo: #10233a;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.ast-menu-toggle:focus-visible,
.rar-submenu-toggle:focus-visible,
.menu-link:focus-visible,
.astra-search-icon:focus-visible,
.site .skip-link:focus-visible,
.elementor-button:focus-visible,
.ast-header-navigation-arrow:focus-visible {
	outline: 3px solid var(--rar-focus-ring) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px var(--rar-focus-halo) !important;
	border-radius: 2px;
	text-decoration: none;
}

/* Element przeniesiony do widoku nie może chować się pod przyklejonym
   nagłówkiem ani być przycięty przez otoczkę pierścienia. */
:focus-visible {
	scroll-margin-top: 8rem;
}

/* Link pomijający nawigację musi być widoczny po otrzymaniu fokusu. */
.site .skip-link:focus,
.site .skip-link:focus-visible {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	padding: 0.75rem 1.25rem;
	background: #ffffff;
	color: #10233a;
	font-weight: 700;
	text-decoration: underline;
}
