/*
 * Motyw PWiK Żory 2.0 — własny CSS, bez Bootstrapa.
 * Część 1 odtwarza 1:1 wygląd wersji 1.x (wartości przeniesione z bootstrap.css 3.3.1 i style.css, w tym oryginalne
 * grafiki gradientów gfx/*.jpg|png). Część 2 („Kolory WCAG”) zawiera WYŁĄCZNIE zmiany kolorów wymagane przez
 * kontrast WCAG 2.2 AA (1.4.3); działa tylko z klasą body.pwik-a11y-colors (Customizer → Inne → „Kolory o wyższym kontraście”).
 */

/* Open Sans (OFL) — jedna czcionka na każdym systemie, serwowana lokalnie (fonts/); zmienna 400–700 + kursywa */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400 700; font-display: block; src: url('../fonts/open-sans-latin-ext-var.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; font-display: block; src: url('../fonts/open-sans-latin-ext-italic.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400 700; font-display: block; src: url('../fonts/open-sans-latin-var.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; font-display: block; src: url('../fonts/open-sans-latin-italic.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--container: 1030px;
	--focus: 3px solid #03418b;
}

/* ===================== CZĘŚĆ 1 — WYGLĄD ORYGINALNY ===================== */

/* --- baza (odpowiednik normalize/scaffolding Bootstrap 3) --- */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 10px; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: #deeaf4 url('../gfx/bg.jpg') center top no-repeat;
	font-family: 'Open Sans', Tahoma, Verdana, Segoe, sans-serif; /* Open Sans lokalnie — identycznie w Windows/macOS/Linux; dawny motyw linkował Open Sans z Google, ale go nie używał */
	font-size: 14px;
	line-height: 1.42857143;
	color: #333;
}
img { vertical-align: middle; border: 0; }
a { color: #337ab7; text-decoration: none; transition: color 200ms ease-out; }
a:hover, a:focus { color: #23527c; text-decoration: underline; }
:focus-visible { outline: var(--focus); outline-offset: 2px; }
::selection { background: #86c9fa; color: #fff; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; }
h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }
h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { font-size: 24px; } h4 { font-size: 18px; } h5 { font-size: 14px; } h6 { font-size: 12px; }
p { margin: 0 0 10px; }
ul, ol { margin: 0 0 10px 0; }
ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; }
b, strong { font-weight: bold; }
small { font-size: 85%; }
hr { box-sizing: content-box; height: 0; margin: 20px 0; border: 0; border-top: 1px solid #eee; }
table { border-collapse: collapse; border-spacing: 0; background: transparent; }
th { text-align: left; }
button, input, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; margin: 0; }
button { cursor: pointer; }
label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="search"], textarea, select {
	max-width: 100%; padding: 6px 12px; border: 1px solid #ccc; border-radius: 4px; background: #fff; color: #555;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select { height: 34px; }
input[type="submit"], button.wpcf7-submit {
	display: inline-block; min-height: 34px; padding: 6px 12px; border: 1px solid #ccc; border-radius: 4px;
	background: #fff; color: #333; font-weight: normal; cursor: pointer;
}
input[type="submit"]:hover, button.wpcf7-submit:hover { background: #e6e6e6; border-color: #adadad; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); border: 0; white-space: nowrap;
}
.skip-link:focus, .skip-link:focus-visible {
	position: fixed !important; top: 8px; left: 8px; z-index: 10000; width: auto; height: auto; margin: 0;
	padding: 12px 20px; clip: auto; clip-path: none; white-space: normal;
	background: #03418b; color: #fff; font-size: 16px; text-decoration: none; border-radius: 3px;
}

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 15px; }

/* --- pasek górny (header 63px) --- */
.topbar { display: flex; width: 100%; height: 63px; background: #fff; border-bottom: 2px solid #5ed225; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; margin: auto; }
.topbar__social img { margin-left: 20px; }
.topbar__icons { height: 50px; display: flex; align-items: center; }
.topbar__icons a { display: inline-block; margin-left: 4px; line-height: 0; }
.topbar__social a { line-height: 0; }

/* --- menu główne (navbar) --- */
.mainnav { position: relative; margin-top: 40px; z-index: 1; container-type: inline-size; container-name: mainnav; }
.mainnav__logo { position: absolute; top: -13px; left: 0; z-index: 2; line-height: 0; }
.mainnav__bar {
	position: relative; z-index: 1; display: flow-root; height: 96px; margin-left: 86px; padding-left: 96px; /* 114px w 1.x; 18px zapasu, żeby 7 pozycji w Open Sans mieściło się bez zagęszczania */
	background: #f4f4f4 url('../gfx/menu_bg.jpg') repeat-x;
	box-shadow: 0 10px 29px 0 rgba(50, 50, 50, 0.2);
}
.primary-menu { list-style: none; width: 100%; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; }
.primary-menu li { position: relative; float: left; flex: 0 0 auto; height: 93px; margin: -13px 6px 0 0; background: none; transition: background-color 500ms ease; } /* flex 0 0 auto: pozycje nie kurczą się — przepełnienie mierzy JS */ /* 1.x: all 500ms — animowało też zmianę odstępów przy dopasowaniu menu */
.primary-menu a { display: block; padding: 50px 15px 23px; line-height: 20px; font-size: 16px; color: #848484; text-decoration: none; white-space: nowrap; transition: color 200ms ease-out; }
.primary-menu li:hover, .primary-menu li.current-menu-item, .primary-menu li.current-menu-ancestor, .primary-menu li:focus-within {
	background: #deeaf4 url('../gfx/menu_active_bg.jpg') repeat-x; position: relative;
}
.primary-menu li:hover::after, .primary-menu li.current-menu-item::after, .primary-menu li.current-menu-ancestor::after, .primary-menu li:focus-within::after {
	content: url('../gfx/menu_bullet.png'); position: absolute; bottom: 52px; left: 0; width: 100%; height: 12px; display: inline-block; text-align: center; pointer-events: none;
}
.primary-menu li:hover::before, .primary-menu li.current-menu-item::before, .primary-menu li.current-menu-ancestor::before, .primary-menu li:focus-within::before {
	content: ''; position: absolute; top: 0; right: -13px; width: 0; height: 0;
	border-style: solid; border-width: 13px 0 0 13px; border-color: transparent transparent transparent #568100;
}
.primary-menu li:hover a, .primary-menu li.current-menu-item a, .primary-menu li.current-menu-ancestor a, .primary-menu li:focus-within a {
	color: #fff; text-shadow: 1px 1px #487505; text-decoration: none;
}
.primary-menu a:focus-visible { outline-offset: -4px; }

.menu-toggle {
	display: none; position: absolute; top: 26px; right: 15px; width: 44px; height: 44px; z-index: 3;
	padding: 0; border: 1px solid #ddd; border-radius: 4px; background: #deeaf4;
}
.menu-toggle__bars { display: inline-block; width: 22px; }
.menu-toggle__bars span { display: block; height: 0; margin: 4px 0; border-top: 2px solid #888; border-radius: 1px; } /* kreska jako obramowanie, nie tło: tryby kolorów Dostępnika zamieniają kolor obramowań na kontrastowy, a tła czyszczą */
.menu-toggle[aria-expanded="true"] { background: #c8dcee; }

/* --- strona główna: film + grafika --- */
.home-hero__inner { display: flex; margin: 0 -15px; }
.home-hero__video, .home-hero__art { width: 50%; padding: 0 15px; }
.home-hero__art { text-align: right; }
.home-hero__art img { max-width: 100%; height: auto; }
#video {
	display: inline-block; max-width: 100%; margin: 30px 0 0; border: 2px solid #fff; background: #000;
	box-shadow: 0 10px 29px 0 rgba(50, 50, 50, 0.2);
}
.video-facade { position: relative; display: inline-block; width: 551px; max-width: 100%; aspect-ratio: 551 / 310; }
.video-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-facade__button { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; color: #fff; }
.video-facade__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-facade__play { position: absolute; top: 50%; left: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; background: #e00; border-radius: 12px; }
.video-facade__play::after { content: ''; position: absolute; top: 50%; left: 50%; margin: -10px 0 0 -7px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.video-facade__label { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 12px; background: rgba(0, 0, 0, 0.7); font-size: 13px; text-align: left; }
.video-facade__button:hover .video-facade__play, .video-facade__button:focus-visible .video-facade__play { background: #f00; }
#slogan { max-width: 551px; text-align: center; background: #fff; }
#slogan h2 { width: 50%; margin: 60px auto; }

/* --- 3 boksy --- */
.home-boxes__inner { display: flex; margin: 0 -15px; }
.box { width: 33.33333333%; padding: 0 15px; }
.box__title { width: 100%; margin: 0; padding: 16px; background: #03418b; color: #fff; font-size: 14px; text-transform: uppercase; }
.box__title a { color: #fff; }
.box__image { position: relative; display: block; line-height: 0; }
.box__image .boxbg { width: 100%; height: auto; border: 1px solid #dae1e2; border-top: none; }
.box__more { position: absolute; top: 50%; left: 10%; margin-top: -30px; }

/* --- baner --- */
.home-banner { margin: 20px 0; }
.home-banner .banner { padding: 0; overflow: hidden; }
.home-banner img { width: 100%; height: auto; display: block; }

/* --- aktualności --- */
.home-news {
	min-height: 245px; width: 100%; padding-bottom: 10px; overflow: hidden;
	background: #a0ea00 url('../gfx/news_bg.jpg') repeat-x; color: #fff; border-bottom: 2px solid #5ed227;
}
.home-news__title { margin: 20px 0 26px; font-size: 24px; color: #fff; }
.home-news__title a { color: #fff; }
.home-news__list { display: flex; margin: 0 -15px; }
.news-item { width: 33.33333333%; padding: 0 15px; display: flow-root; }
.news-date { float: left; width: 25%; padding: 0 15px 0 0; }
.news-date > div { display: table; width: 60px; height: 25px; line-height: 25px; font-size: 20px; text-align: center; text-transform: uppercase; }
.news-date > div:first-child { background: #03418b; }
.news-date > div:last-child { background: #71a403; font-size: 19px; }
.news-body { float: left; width: 75%; padding: 0 15px; }
.news-item__title { margin: 0 0 20px; font-size: 12px; color: #03418b; }
.news-item__title a { color: #03418b; }
.news-item__excerpt { font-size: 12px; }
.news-more { float: left; clear: both; width: 100%; padding: 0; text-align: right; }
.news-more hr { margin: 20px 0 0; border-top: 1px solid #73a703; }
.news-more a {
	display: inline; padding: 4px 8px; border-radius: 3px; background: #4c7000; color: #fff;
	font-weight: bold; text-transform: uppercase; font-size: 12px;
}

/* --- podstrony --- */
.page-layout { display: flow-root; margin: 40px auto 100px; }
.side-nav { float: left; width: 28%; margin: 0; padding: 0; font-size: 14px; font-weight: bold; color: #fff; }
.side-nav ul { list-style: none; min-height: 612px; max-width: 272px; margin: 0 0 10px; padding-left: 20px; background: url('../gfx/submenu_bg_slim.png') repeat-y; }
.side-nav li { border-bottom: 1px solid #fff; text-align: left; }
.side-nav li:last-child { border-bottom: none; }
.side-nav a { display: inline-block; width: 100%; padding: 10px 10px 10px 0; color: #fff; text-shadow: 1px 1px #487505; }
.side-nav a:hover, .side-nav a:focus { color: #fff; text-decoration: underline; }
.side-nav a[aria-current="page"] { text-decoration: underline; }
.side-nav ul ul { display: none; min-height: 0; padding-left: 20px; background: none; }
.side-nav li.current-menu-item > ul { display: block; }
.entry { float: left; width: 72%; margin: 0; padding: 0; }
.page-layout--no-nav .entry { margin-left: calc(25% + 7.5px); }
.entry__title { margin-top: 0; margin-left: 15px; font-size: 30px; color: #03418b; }
.entry__meta { margin-left: 15px; }
.entry__rule { margin-left: 15px; border-top: 1px solid #5ed225; }
.entry__content p { margin-left: 15px; color: #000; font-size: 14px; }
.entry__content p img { max-width: 100%; height: auto; }
.entry__content table th, .entry__content table td { border: 1px solid #000; }
.entry__content hr { margin-left: 15px; border-top: 1px solid #5ed225; }
.post-list { list-style: none; margin: 0; padding: 0 15px; }
.post-list li { padding: 12px 0; border-bottom: 1px solid #c9d6e2; }
.post-list__title { margin: 0; font-size: 18px; }
.post-list__title a { color: #03418b; }
.post-list__date { font-size: 13px; color: #555; }
.page-links { margin: 20px 0 0 15px; }
.search-form { display: flex; gap: 8px; max-width: 420px; margin-left: 15px; }
.search-form input[type="search"] { flex: 1; }
.wpcf7 .wpcf7-not-valid-tip { color: #b00020; }
/* etykiety CF7 dodane dla WCAG wyglądają jak dawne akapity z tekstem etykiety */
.wpcf7 label { display: block; margin: 0 0 10px 15px; font-weight: normal; color: #000; }
.wpcf7 p > label + br { display: none; }

/* siatka Bootstrap używana w treściach i szablonach CF7 */
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
[class*="col-"] { position: relative; min-height: 1px; width: 100%; padding: 0 15px; }
.col-xs-6 { width: 50%; } .col-xs-4 { width: 33.3333%; } .col-xs-3 { width: 25%; }
.panel { margin-bottom: 20px; border: 1px solid #ddd; border-radius: 4px; background: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.05); }
.panel-heading { padding: 10px 15px; border-bottom: 1px solid #ddd; background: #f5f5f5; }
.panel-body { padding: 15px; }
@media (min-width: 768px) {
	.col-sm-6 { width: 50%; } .col-sm-4 { width: 33.3333%; } .col-sm-3 { width: 25%; } .col-sm-8 { width: 66.6667%; } .col-sm-9 { width: 75%; }
}
@media (min-width: 992px) {
	.col-md-12 { width: 100%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.6667%; } .col-md-6 { width: 50%; } .col-md-4 { width: 33.3333%; } .col-md-3 { width: 25%; }
	.entry__content .col-md-6, .entry__content .col-md-4, .entry__content .col-md-3, .entry__content .col-md-8, .entry__content .col-md-9 { float: left; }
	.entry__content .col-md-12 { clear: both; }
}

/* klasy WordPressa */
.wp-caption { max-width: 100%; padding: 4px; }
.wp-caption .wp-caption-text, .gallery-caption, .entry-caption { font-style: italic; font-size: 12px; line-height: 2; color: #757575; }
.alignleft { float: left; } .alignright { float: right; } .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.sticky, .bypostauthor { display: block; }

/* --- stopka --- */
.site-footer { width: 100%; padding: 17px 0; background: #fff; }
.site-footer__inner { display: flex; margin: 0 -15px; }
.footer-col { width: 33.33333333%; padding: 0 15px; }
.footer-col--about { padding: 0 10px; }
.site-footer img { display: block; margin-bottom: 10px; }
.site-footer span, .footer-address { display: inline-block; margin: 0; color: #6c6c6c; font-size: 13px; line-height: 14px; }
.footer-col--about .footer-address { font-size: 12px; }
.bottom-nav { width: 100%; margin: 0; padding: 0; list-style: none; font-size: 0; }
.bottom-nav li { display: inline-block; position: relative; width: 50%; margin-bottom: 6px; padding-left: 16px; }
.bottom-nav li::before { content: ''; position: absolute; top: 35%; left: 0; width: 4px; height: 4px; background: url('../gfx/ul_bullet.png') center center no-repeat; }
.bottom-nav a { font-size: 16px; color: #848484; }
.bottom-nav a:hover, .bottom-nav a:focus { color: #333; text-decoration: none; }
.footer-declaration { margin: 4px 0 0 16px; font-size: 13px; }
.footer-declaration a { color: #6c6c6c; text-decoration: underline; }
.footer-col--contact { display: flex; padding: 0; }
.footer-contact__icons { width: 33.33333333%; padding: 0 15px; }
.footer-contact__icons img { margin: 40px 0 10px 20px; }
.footer-contact__data { width: 66.66666667%; padding: 0 15px; }
.contact-data { margin-top: 10px; }
.contact-data .footer-data, .contact-data .footer-data a { color: #0d4e9e; }


/* Menu mobilne: zapytanie o szerokość kontenera .mainnav, nie okna — działa też przy powiększeniu tekstu
   (pasek Dostępnik skaluje stronę przez zoom, przez co kontener „zwęża się” w px CSS).
   Kontener 940px (okno 992–1199px): menu poziome ze zmniejszonymi odstępami — w 1.x łamało się tu na dwa
   wiersze i ucinało pozycje. Poniżej 900px (okno <992px, typowy breakpoint; menu kompaktowe potrzebuje ~902px) — hamburger. */
@container mainnav (max-width: 999px) {
	.primary-menu li { margin-right: 4px; }
	.primary-menu a { padding-left: 10px; padding-right: 10px; }
	.mainnav__bar { padding-left: 100px; }
}
@container mainnav (max-width: 899px) {
	.menu-toggle { display: inline-block; }
	.mainnav__bar { padding-left: 0; height: auto; min-height: 96px; }
	.primary-menu { display: none; margin: 96px 0 0 -86px; width: calc(100% + 86px); background: #eef0ef; overflow: hidden; }
	.primary-menu.is-open { display: block; }
	.primary-menu li, .primary-menu li:hover, .primary-menu li.current-menu-item { float: none; height: auto; margin: 0; text-align: center; }
	.primary-menu li:hover, .primary-menu li.current-menu-item, .primary-menu li.current-menu-ancestor, .primary-menu li:focus-within { background: #deeaf4 url('../gfx/menu_active_bg.jpg') repeat-x; background-size: cover; }
	.primary-menu li::before, .primary-menu li::after, .primary-menu li:hover::before, .primary-menu li:hover::after,
	.primary-menu li.current-menu-item::before, .primary-menu li.current-menu-item::after, .primary-menu li.current-menu-ancestor::before,
	.primary-menu li.current-menu-ancestor::after, .primary-menu li:focus-within::before, .primary-menu li:focus-within::after { content: none; }
	.primary-menu a { min-height: 44px; padding: 12px 5px; }
}
/* Etap 1 dopasowania (JS): zmniejszone odstępy — jak w kontenerze 900–999px */
.mainnav--compact .primary-menu li { margin-right: 4px; }
.mainnav--compact .primary-menu a { padding-left: 10px; padding-right: 10px; }
.mainnav--compact .mainnav__bar { padding-left: 100px; }
/* Ten sam układ, gdy JS wykryje, że pozycje menu nie mieszczą się w jednym wierszu (np. szersza czcionka zastępcza
   w przeglądarce bez Tahomy/Verdany) — klasa .mainnav--collapsed nadawana w js/theme.js */
.mainnav--collapsed .menu-toggle { display: inline-block; }
.mainnav--collapsed .mainnav__bar { padding-left: 0; height: auto; min-height: 96px; }
.mainnav--collapsed .primary-menu { display: none; margin: 96px 0 0 -86px; width: calc(100% + 86px); background: #eef0ef; overflow: hidden; flex-wrap: wrap; }
.mainnav--collapsed .primary-menu.is-open { display: block; }
.mainnav--collapsed .primary-menu li, .mainnav--collapsed .primary-menu li:hover, .mainnav--collapsed .primary-menu li.current-menu-item { float: none; height: auto; margin: 0; text-align: center; }
.mainnav--collapsed .primary-menu li:hover, .mainnav--collapsed .primary-menu li.current-menu-item, .mainnav--collapsed .primary-menu li.current-menu-ancestor, .mainnav--collapsed .primary-menu li:focus-within { background: #deeaf4 url('../gfx/menu_active_bg.jpg') repeat-x; background-size: cover; }
.mainnav--collapsed .primary-menu li::before, .mainnav--collapsed .primary-menu li::after, .mainnav--collapsed .primary-menu li:hover::before, .mainnav--collapsed .primary-menu li:hover::after,
.mainnav--collapsed .primary-menu li.current-menu-item::before, .mainnav--collapsed .primary-menu li.current-menu-item::after, .mainnav--collapsed .primary-menu li.current-menu-ancestor::before,
.mainnav--collapsed .primary-menu li.current-menu-ancestor::after, .mainnav--collapsed .primary-menu li:focus-within::before, .mainnav--collapsed .primary-menu li:focus-within::after { content: none; }
.mainnav--collapsed .primary-menu a { min-height: 44px; padding: 12px 5px; }
@container mainnav (max-width: 400px) {
	.mainnav__logo img { width: 130px; height: auto; }
	.mainnav__bar { margin-left: 60px; }
	.primary-menu { margin-left: -60px; width: calc(100% + 60px); }
}
/* --- RWD (jak w wersji 1.x + Bootstrap) --- */
@media (max-width: 1199px) { :root { --container: 970px; } }
@media (max-width: 991px) {
	:root { --container: 750px; }
	.home-hero__inner { flex-direction: column; text-align: center; }
	.home-hero__video { width: 100%; }
	#video { margin: 30px auto 10px; }
	.home-hero__art { display: none; }
	.home-boxes__inner, .home-news__list, .site-footer__inner { flex-direction: column; }
	.box, .news-item, .footer-col { width: 100%; }
	.news-body, .news-date { padding-top: 10px; }
	.site-footer img { display: inline-block; }
	.footer-col { text-align: center; }
	.bottom-nav { margin-top: 10px; }
	.bottom-nav li { display: block; width: 100%; padding-left: 0; }
	.bottom-nav li::before { background: none; }
	.footer-col--contact { flex-direction: column; padding: 0 15px; }
	.footer-contact__icons, .footer-contact__data { width: 100%; }
	.footer-contact__icons img { margin: 10px 0; }
}
@media (max-width: 767px) {
	:root { --container: 100%; }
	.side-nav, .entry { float: none; width: 100%; }
	.side-nav ul { margin: 0 auto; min-height: 0; }
	.page-layout--no-nav .entry { margin-left: 0; }
	.page-layout { margin: 20px 0 40px; }
}
@media (max-width: 499px) {
	.topbar { height: 120px; }
	.topbar__inner { flex-direction: column; justify-content: center; }
	.topbar__social img { margin: 10px 0; }
	.topbar__icons { height: auto; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
@media print { .topbar, .mainnav, .site-footer, .skip-link, .menu-toggle { display: none; } body { background: #fff; } }

/* ===================== CZĘŚĆ 2 — KOLORY WCAG (do akceptacji klienta) ===================== */
/* Każda reguła odpowiada jednemu punktowi w docs/WCAG-KOLORY.md. Wyłączenie: Customizer → Inne. */

/* K1: linki w treści #337ab7 (3,3:1 na białym) → #2a6496 (6,2:1) */
.pwik-a11y-colors .entry a:not(.wpcf7-submit), .pwik-a11y-colors .post-list a { color: #2a6496; }
.pwik-a11y-colors .entry a:hover, .pwik-a11y-colors .entry a:focus { color: #1d4a70; }

/* K2: pozycje menu głównego #848484 na jasnoszarym (3,4:1) → #666 (5,3:1) */
.pwik-a11y-colors .primary-menu a { color: #666; }

/* K3: aktywna pozycja menu — ten sam gradient przyciemniony o 20 % (biały tekst z 3,0:1 → 4,7:1) */
.pwik-a11y-colors .primary-menu li:hover, .pwik-a11y-colors .primary-menu li.current-menu-item,
.pwik-a11y-colors .primary-menu li.current-menu-ancestor, .pwik-a11y-colors .primary-menu li:focus-within {
	background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #deeaf4 url('../gfx/menu_active_bg.jpg') repeat-x;
}
.pwik-a11y-colors .primary-menu li:hover a, .pwik-a11y-colors .primary-menu li.current-menu-item a,
.pwik-a11y-colors .primary-menu li.current-menu-ancestor a, .pwik-a11y-colors .primary-menu li:focus-within a { color: #fff; }

/* K4: menu boczne podstron — zieleń #84c107 przyciemniona o 38 % (biały pogrubiony tekst z 2,4:1 → 5,0:1) */
.pwik-a11y-colors .side-nav ul {
	background: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url('../gfx/submenu_bg_slim.png') repeat-y;
}

/* K5 (wersja 2, uwaga zarządu 23.09): sekcja Aktualności — ta sama grafika tła przyciemniona o 48 % (jak menu boczne K4),
   teksty jasne: nagłówek i tytuły białe (6,3:1 → 5,1:1 na gradiencie), zamiast granatu na jasnej zieleni */
.pwik-a11y-colors .home-news { background: linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)), #a0ea00 url('../gfx/news_bg.jpg') repeat-x; }
.pwik-a11y-colors .home-news__title, .pwik-a11y-colors .home-news__title a { color: #fff; }
.pwik-a11y-colors .news-item__title, .pwik-a11y-colors .news-item__title a { color: #fff; }
.pwik-a11y-colors .news-item__title a:hover, .pwik-a11y-colors .news-item__title a:focus { text-decoration: underline; }
.pwik-a11y-colors .news-item__excerpt { color: #fff; }
.pwik-a11y-colors .news-item__title { line-height: 1.4; }
.pwik-a11y-colors .news-more hr { border-top-color: #a4d64a; }
/* przycisk „więcej” i kafelek miesiąca: jasna zieleń z ciemnym tekstem (12,6:1) — różnica jasności czytelna także bez rozróżniania barw */
.pwik-a11y-colors .news-more a { background: #a0ea00; color: #1e2f00; }
.pwik-a11y-colors .news-more a:hover, .pwik-a11y-colors .news-more a:focus-visible { background: #fff; color: #1e2f00; }

/* K6 (wersja 2): kafelek miesiąca #71a403 z białym tekstem (3,4:1; na ciemnym tle K5 zlewał się) → jasna zieleń #a0ea00 z ciemnym tekstem #1e2f00 (12,6:1) */
.pwik-a11y-colors .news-date > div:last-child { background: #a0ea00; color: #1e2f00; }

/* K7: linki w stopce #848484 na białym (3,5:1) → #666 (5,7:1) */
.pwik-a11y-colors .bottom-nav a { color: #666; }

/* K8: pola formularzy — ramka #ccc (1,6:1) → #767676 (4,5:1; WCAG 1.4.11 kontrast elementów interfejsu) */
.pwik-a11y-colors input[type="text"], .pwik-a11y-colors input[type="email"], .pwik-a11y-colors input[type="tel"], .pwik-a11y-colors input[type="url"],
.pwik-a11y-colors input[type="number"], .pwik-a11y-colors input[type="date"], .pwik-a11y-colors input[type="search"], .pwik-a11y-colors textarea, .pwik-a11y-colors select,
.pwik-a11y-colors input[type="submit"], .pwik-a11y-colors button.wpcf7-submit { border-color: #767676; color: #333; }

/* Tryby kolorów Dostępnika (kontrast, jasne tło) usuwają tła, ale znaczek nad pozycją menu to obrazek w `content`
   — ukryty; aktywną pozycję wyróżnia wtedy grubsze podkreślenie (WCAG 1.4.1: nie tylko kolorem). */
html.accessibilitor-contrast .primary-menu li::after, html.accessibilitor-light .primary-menu li::after { content: none !important; }
html.accessibilitor-contrast .primary-menu li.current-menu-item > a, html.accessibilitor-contrast .primary-menu li.current-menu-ancestor > a,
html.accessibilitor-light .primary-menu li.current-menu-item > a, html.accessibilitor-light .primary-menu li.current-menu-ancestor > a { text-decoration-thickness: 4px !important; }
