.elementor-kit-6{--e-global-color-primary:#4E308C;--e-global-color-secondary:#FCF286;--e-global-color-text:#161B2B;--e-global-color-accent:#4A7F3A;--e-global-color-fioletciemny:#3D1F7F;--e-global-color-krem:#FEFAF3;--e-global-color-kremcieply:#FEF6E9;--e-global-color-liliowy:#F5F4FE;--e-global-color-obwodka:#E8E4F2;--e-global-color-tekstprzygaszony:#5A5F73;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Caveat";--e-global-typography-accent-font-weight:400;background-color:#FFFFFF;color:#161B2B;font-family:"Nunito", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:10px;}.elementor-kit-6 a{color:#4E308C;}.elementor-kit-6 a:hover{color:#3D1F7F;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:"Nunito", Sans-serif;font-size:22px;font-weight:800;line-height:1.3em;}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:"Nunito", Sans-serif;font-size:18px;font-weight:800;line-height:1.35em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --fiolet:#4E308C; --fiolet-ciemny:#3D1F7F; --fiolet-jasny:#6B4FA8; --zloty:#FCF286; --zloty-ciemny:#FBEE60; --krem:#FEFAF3; --krem-cieply:#FEF6E9; --liliowy:#F5F4FE; --karta-mieta:#EFF7EC; --karta-blekit:#EEF3FB; --zielen:#60A24C; --zielen-tekst:#4A7F3A; --biel:#FFFFFF; --tekst:#161B2B; --tekst-przygaszony:#5A5F73; --obwodka:#E8E4F2; --font-naglowek:Nunito; --font-tekst:Nunito; --font-odreczny:Caveat; --kontener:1560px; --sekcja-odstep:96px; --sekcja-odstep-maly:64px; --blok-odstep:48px; --element-odstep:24px; --element-odstep-maly:12px; --promien-karty:16px; --promien-pill:999px; --zloty-jasny:#FEFAD0; --fiolet-pastel:#BFB6DC; }
/* Start custom CSS *//* Odstępy nagłówków w treści podstron. Elementor nie ma na nie pola w panelu. */
.elementor-widget-theme-post-content h2 {
	margin: 12px 0;
}

.elementor-widget-theme-post-content h3 {
	margin: 10px 0;
}

/* Akapit w treści czyta się lepiej przy luźniejszej interlinii niż reszta witryny. */
.elementor-widget-theme-post-content p {
	line-height: 1.7;
}

.elementor-widget-theme-post-content :is(ul, ol) {
	margin: 0 0 10px;
	padding-left: 22px;
}

/* Punkt listy jest krótszy od akapitu, więc nie potrzebuje tak luźnej interlinii. */
.elementor-widget-theme-post-content li {
	line-height: 1.6;
	margin-bottom: 0;
}
/* Zaznaczenie tekstu w kolorach szkoły. */
::selection {
	background-color: var(--e-global-color-primary, #4e308c);
	color: #ffffff;
}

/*
 * Widoczny focus dla nawigacji klawiaturą. Elementor nie steruje tym globalnie,
 * a jest to wymóg WCAG 2.1 (kryterium 2.4.7) i deklaracji dostępności.
 */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--e-global-color-primary, #4e308c);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Płynne przewijanie do kotwic z poszanowaniem preferencji ograniczenia ruchu. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Pole szukania w górnym pasku dziedziczy typografię motywu. */
.search-field {
	font-family: inherit;
}

/*
 * W przedziale 1025–1290 px trzywierszowa nazwa szkoły zajmuje 247 px plus 14 px
 * odstępu, których brakuje rozwiniętemu menu. Poniżej 1025 px menu zwija się
 * do hamburgera i nazwa wraca obok godła.
 */
@media (min-width: 1025px) and (max-width: 1290px) {
	.elementor-location-header a:has(> img) + p {
		display: none;
	}
}

/*
 * Strona główna operuje szerokimi pasmami kafli i kart, a podstrony mają jedną
 * kolumnę treści, która przy tej szerokości zostawiałaby obok siebie pustkę.
 * Szablon treści dostaje więc własny, węższy limit.
 */
.elementor.elementor-location-single .kontener-tresci {
	max-width: 1040px;
}

/* Odnośnik w akapicie nie może różnić się od tekstu wyłącznie kolorem (WCAG 1.4.1). */
.elementor-widget-theme-post-content a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/*
 * Przycisk zbudowany na odnośniku dziedziczy podkreślenie od przeglądarki.
 * Klasy wypełnione tłem gaszą je same, ale przycisk obrysowany zostawał
 * podkreślony, co upodabniało go do zwykłego linku.
 */
.elementor a.e-button-base {
	text-decoration: none;
}

/*
 * Ikony Lucide rysowane są konturem: kolor prowadzi obrys, a wnętrze zostaje
 * puste. Elementor nadaje kształtom w SVG wypełnienie kolorem tekstu, co zamienia
 * figury zamknięte w jednolite plamy. Reguła jest zawężona do klasy „lucide”,
 * więc nie dotyka ikon znakowych w stopce, które wypełnienia potrzebują.
 */
.elementor svg.lucide :is(path, circle, ellipse, rect, line, polyline, polygon) {
	fill: none;
	stroke: currentColor;
}

@media print {
	.elementor-location-header,
	.elementor-location-footer,
	.ea11y-widget,
	.cookiez-banner {
		display: none !important;
	}

	a[href^='http']::after {
		content: ' (' attr(href) ')';
		font-size: 0.85em;
		word-break: break-all;
	}
}/* End custom CSS */