/* EGC – uzupełnienia klas globalnych, snippet 261 */

/* Kotwice i płynne przewijanie */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* Nagłówek przyklejony do górnej krawędzi (wrapper site partu jest bezpośrednim dzieckiem body) */
.elementor-location-header { position: sticky; top: 0; z-index: 900; }
body.admin-bar .elementor-location-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar .elementor-location-header { top: 0; } }
body.admin-bar .elementor .toc { top: calc(120px + var(--wp-admin--admin-bar--height, 32px)); }
body.admin-bar .elementor .doc-section, body.admin-bar .elementor .prose-section { scroll-margin-top: calc(112px + var(--wp-admin--admin-bar--height, 32px)); }

/* Otwarcie: przycisk na całą szerokość na telefonie */
@media (max-width: 767px) {
	.elementor .hero-cta, .elementor .hero-cta .btn { width: 100%; }
	.elementor .hero-cta .btn { justify-content: center; }
}

/* Otwarcie: lewitowanie kart (na zdjęciu w środku karty; karta ma wejście i paralaksę) */
@keyframes egc-float { from { translate: 0 0; } to { translate: 0 -7px; } }
@keyframes egc-float-sm { from { translate: 0 0; } to { translate: 0 -5px; } }
.elementor .hero-card > .photo { animation: egc-float 6s ease-in-out 1.2s infinite alternate both; will-change: translate; }
.elementor .hero-card:nth-child(1) > .photo { animation-duration: 6s; animation-delay: 1.2s; }
.elementor .hero-card:nth-child(2) > .photo { animation-duration: 7.2s; animation-delay: 1.8s; }
.elementor .hero-card:nth-child(3) > .photo { animation-duration: 6.6s; animation-delay: 1.5s; }
.elementor .hero-card:nth-child(4) > .photo { animation-duration: 7.8s; animation-delay: 2.4s; }
.elementor .hero-card:nth-child(5) > .photo { animation-duration: 5.4s; animation-delay: 2s; }
@media (max-width: 767px) {
	.elementor .hero-card > .photo { animation-name: egc-float-sm; box-shadow: 0 8px 24px rgba(13, 23, 20, .35); }
}
@media (prefers-reduced-motion: reduce) {
	.elementor .hero-card > .photo { animation: none !important; }
	.elementor .hero-card { translate: none !important; }
}

/* Listy w treści (polityka prywatności) */
.elementor .prose-list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.elementor .prose-list li { position: relative; padding-left: 21px; }
.elementor .prose-list li::before { content: "–"; position: absolute; left: 0; top: 0; color: var(--text-muted); }

/* Spis treści: bieżąca sekcja */
.elementor .toc-link[aria-current="true"] { border-left-color: var(--border-strong); color: var(--text-primary); font-weight: 500; }

/* Nawigacja: bieżąca strona */
.elementor .menu-item[aria-current="page"], .elementor .menu-item[aria-current="page"]:hover { color: var(--text-primary); border-bottom-color: var(--border-strong); }

/* Menu mobilne */
.elementor .header-toggle .ico-close { display: none; }
html.egc-menu-open .elementor .header-toggle .ico-close { display: block; }
html.egc-menu-open .elementor .header-toggle .ico-menu { display: none; }
.elementor .mnav-link .ico { flex-shrink: 0; }
.elementor .mnav-link:hover .ico { transform: translateX(4px); }
.elementor .mnav-link[aria-current="page"] > :first-child { display: inline-flex; align-items: center; gap: 12px; }
.elementor .mnav-link[aria-current="page"] > :first-child::before { content: ""; width: 3px; height: 28px; background: var(--action-primary); flex-shrink: 0; }
.elementor .mnav-foot a { font-weight: 600; }
.elementor .mnav-link:focus-visible, .elementor .header-toggle:focus-visible { outline: 3px solid var(--border-focus); outline-offset: 2px; }
@media (max-width: 767px) {
	html.egc-menu-open { overflow: hidden; }
	body.admin-bar .elementor .mnav { top: calc(64px + var(--wp-admin--admin-bar--height, 46px)); }
	html.egc-menu-open .elementor .mnav { display: flex; }
}
@media (min-width: 768px) {
	.elementor .mnav { display: none !important; }
}

/* Mapa: znacznik i podpowiedź przy najechaniu */
.elementor .map-embed .map-pin { transition: translate .2s cubic-bezier(.2, .7, .2, 1); }
.elementor .map-embed:hover .map-pin { translate: 0 -2px; }
