/* Kancelaria Wieczorek: naglowek (logo, przezroczysty -> szklo, menu, przycisk), stopka.
   Kolory tylko z palety: zloto #B1976B, grafit #1A1A1A, biel. */
:root {
	--kw-gold: #B1976B;
	--kw-ink: #1A1A1A;
	--kw-h-top: 88px;
	--kw-h: 64px;
	--kw-logo-h: 46px;
	--kw-pad: 1em;
	--kw-focus: var(--kw-gold);
}
html.kw-scrolled, body.ast-main-header-nav-open { --kw-focus: var(--kw-ink); }
html { scroll-padding-top: 84px; }

/* ---------- przyklejenie ---------- */
#masthead,
body.ast-theme-transparent-header #masthead {
	position: fixed;
	top: 0; left: 0; right: 0;
	width: 100%;
	z-index: 999;
}
body:not(.ast-theme-transparent-header) #masthead { position: sticky; background: #fff; }
/* pasek admina: 32 px (>782), 46 px (<=782); ponizej 600 px pasek przewija sie razem ze strona, wtedy top ustawia kw.js */
body.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { body.admin-bar #masthead { top: 46px; } }

#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap .main-header-bar {
	background: transparent !important;
	border-bottom: 0 !important;
	box-shadow: none;
	padding-top: 0 !important; padding-bottom: 0 !important;
}
#masthead .site-primary-header-wrap,
#masthead .ast-builder-grid-row {
	min-height: var(--kw-h-top);
	padding-top: 0; padding-bottom: 0;
	transition: min-height .25s ease;
}
#masthead { transition: background-color .25s ease, box-shadow .25s ease; }

/* stan "szklo": po przewinieciu albo przy otwartym menu mobilnym */
html.kw-scrolled #masthead,
body.ast-main-header-nav-open #masthead {
	background: rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 8px 30px rgba(26, 26, 26, .10);
}
html.kw-scrolled #masthead .site-primary-header-wrap,
html.kw-scrolled #masthead .ast-builder-grid-row,
body.ast-main-header-nav-open #masthead .site-primary-header-wrap,
body.ast-main-header-nav-open #masthead .ast-builder-grid-row { min-height: var(--kw-h); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	html.kw-scrolled #masthead, body.ast-main-header-nav-open #masthead { background: rgba(255, 255, 255, .97); }
}

/* ---------- logo ---------- */
#masthead .site-logo-img .kw-logo { display: inline-flex; align-items: center; min-height: 44px; line-height: 0; }
#masthead .site-logo-img .kw-logo .kw-logo-img { height: var(--kw-logo-h); width: auto; max-width: none; }
#masthead .site-logo-img .kw-logo .kw-logo-white { display: block; }
#masthead .site-logo-img .kw-logo .kw-logo-color { display: none; }
html.kw-scrolled #masthead .site-logo-img .kw-logo .kw-logo-color,
body.ast-main-header-nav-open #masthead .site-logo-img .kw-logo .kw-logo-color,
body:not(.ast-theme-transparent-header) #masthead .site-logo-img .kw-logo .kw-logo-color { display: block; }
html.kw-scrolled #masthead .site-logo-img .kw-logo .kw-logo-white,
body.ast-main-header-nav-open #masthead .site-logo-img .kw-logo .kw-logo-white,
body:not(.ast-theme-transparent-header) #masthead .site-logo-img .kw-logo .kw-logo-white { display: none; }

/* ---------- menu (komputer) ---------- */
@media (min-width: 922px) {
	#masthead .main-header-menu > .menu-item > .menu-link {
		position: relative;
		display: inline-flex; align-items: center;
		min-height: 44px;
		padding: 0 var(--kw-pad);
		background: none !important;
		font-size: 15px; line-height: 1.2;
		white-space: nowrap;
		color: var(--kw-ink);
	}
	body.ast-theme-transparent-header #masthead .main-header-menu > .menu-item > .menu-link { color: #fff; }
	html.kw-scrolled body.ast-theme-transparent-header #masthead .main-header-menu > .menu-item > .menu-link,
	html.kw-scrolled #masthead .main-header-menu > .menu-item > .menu-link { color: var(--kw-ink); }
	#masthead .main-header-menu > .menu-item > .menu-link::after {
		content: ""; position: absolute;
		left: var(--kw-pad); right: var(--kw-pad); bottom: 6px;
		height: 2px; background: var(--kw-gold);
		transform: scaleX(0); transform-origin: left center;
		transition: transform .25s ease;
	}
	#masthead .main-header-menu > .menu-item:hover > .menu-link::after,
	#masthead .main-header-menu > .menu-item > .menu-link:focus-visible::after,
	#masthead .main-header-menu > .current-menu-item > .menu-link::after,
	#masthead .main-header-menu > .current_page_item > .menu-link::after,
	#masthead .main-header-menu > .current-menu-ancestor > .menu-link::after { transform: scaleX(1); }
	#masthead .main-header-menu > .menu-item > .menu-link:hover,
	#masthead .main-header-menu > .current-menu-item > .menu-link { color: inherit; }
	.ast-header-html-1 { margin-left: 12px; }
}

/* ---------- przycisk "Wiadomosc" ---------- */
.kw-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; padding: 0 24px;
	background: var(--kw-gold); color: #fff;
	font-family: inherit; font-weight: 600; font-size: 13px; line-height: 1;
	letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
	white-space: nowrap;
	border: 1px solid var(--kw-gold); border-radius: 0;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.kw-btn:hover, .kw-btn:focus-visible { background: var(--kw-ink); border-color: var(--kw-ink); color: #fff; }
.ast-header-html .ast-builder-html-element p { margin: 0; }

@media (prefers-reduced-motion: reduce) {
	#masthead, #masthead .site-primary-header-wrap, .kw-btn,
	#masthead .main-header-menu > .menu-item > .menu-link::after { transition: none !important; }
}

/* ---------- panel mobilny i tablet (Astra: do 921 px) ---------- */
@media (max-width: 921px) {
	:root { --kw-h-top: 72px; --kw-logo-h: 38px; }
	#masthead .menu-toggle, #masthead .ast-mobile-menu-trigger-fill { min-width: 44px; min-height: 44px; }
	#masthead .ast-mobile-header-content {
		background: rgba(255, 255, 255, .6);
		border-top: 1px solid rgba(26, 26, 26, .08);
		max-height: calc(100vh - var(--kw-h));
		max-height: calc(100dvh - var(--kw-h));
		overflow-y: auto; overscroll-behavior: contain;
		padding-bottom: 20px;
	}
	#masthead .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
		display: flex; align-items: center; min-height: 48px;
		padding: 0 20px; color: var(--kw-ink); font-size: 16px;
		background: none !important;
	}
	#masthead .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link span.menu-text { text-decoration: inherit; }
	#masthead .ast-mobile-header-content .main-header-menu > .menu-item:hover > .menu-link,
	#masthead .ast-mobile-header-content .main-header-menu > .current-menu-item > .menu-link,
	#masthead .ast-mobile-header-content .main-header-menu > .current_page_item > .menu-link {
		color: var(--kw-ink);
		text-decoration: underline; text-decoration-color: var(--kw-gold);
		text-decoration-thickness: 2px; text-underline-offset: 7px;
	}
	#masthead .ast-mobile-header-content .ast-header-html-1 { padding: 16px 20px 0; }
	#masthead .ast-mobile-header-content .ast-header-html-1 .ast-builder-html-element,
	#masthead .ast-mobile-header-content .ast-header-html-1 p { display: block; width: 100%; }
	#masthead .ast-mobile-header-content .kw-btn { display: flex; width: 100%; }
}
@media (max-width: 380px) { :root { --kw-logo-h: 34px; } }

/* ---------- stopka ---------- */
.site-footer .widget_media_image { margin-bottom: 20px; }
.site-footer .widget_media_image img { display: block; width: min(260px, 100%); height: auto; }
.site-footer .widget_text p { max-width: 34em; margin: 0; line-height: 1.7; color: rgba(255, 255, 255, .8); }
.site-footer .widget-title { margin-bottom: 12px; }
.site-footer ul.kw-kontakt { list-style: none; margin: 0; padding: 0; }
.site-footer .kw-kontakt li { display: block; margin: 0; padding: 10px 0 0; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.site-footer .kw-kontakt li > span:not(.kw-k-l) { display: flex; align-items: center; min-height: 44px; }
.site-footer .kw-k-l { display: block; color: var(--kw-gold); font-size: 12px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.site-footer .kw-kontakt a {
	display: inline-flex; align-items: center; min-height: 44px; max-width: 100%;
	color: #fff; text-decoration: underline; text-decoration-color: var(--kw-gold); text-underline-offset: 4px;
}
.site-footer .kw-kontakt a:hover, .site-footer .kw-kontakt a:focus-visible { color: var(--kw-gold); }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 14px; line-height: 1.7; }
@media (max-width: 360px) { .site-footer .kw-kontakt a, .site-footer .kw-kontakt span { overflow-wrap: anywhere; } }

/* cele dotykowe: wyszukiwarka (404, wyniki) */
.search-form .search-submit, .ast-search-submit, input.search-submit { min-width: 44px; min-height: 44px; }

/* sieroty: nagłówki zrównoważone, akapity bez pojedynczych słów w ostatnim wierszu */
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

/* fokus z klawiatury: obrys 2 px (zloty na ciemnym, grafit na szkle) */
#masthead a:focus-visible, #masthead button:focus-visible,
.site-footer a:focus-visible { outline: 2px solid var(--kw-focus) !important; outline-offset: 3px; }
.site-footer a:focus-visible { outline-color: var(--kw-gold) !important; }
#masthead .main-header-menu > .menu-item > .menu-link:focus-visible { outline: 2px solid var(--kw-focus) !important; outline-offset: 2px; }
.kw-btn:focus-visible { outline: 2px solid var(--kw-focus); outline-offset: 3px; }

/* stopka: kolumna Menu */
.site-footer .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
.site-footer .widget_nav_menu li { margin: 0; }
.site-footer .widget_nav_menu a {
	display: flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 10px 0;
	color: #fff; text-decoration: none; border: 0;
}
.site-footer .widget_nav_menu a:hover, .site-footer .widget_nav_menu a:focus-visible { color: var(--kw-gold); }
.site-footer .widget_nav_menu .current-menu-item > a { text-decoration: underline; text-decoration-color: var(--kw-gold); text-decoration-thickness: 2px; text-underline-offset: 6px; }
@media (max-width: 544px) {
	.site-footer .widget_nav_menu a, .site-footer .kw-kontakt li > span:not(.kw-k-l) { justify-content: center; text-align: center; }
	.site-footer .kw-kontakt a { justify-content: center; }
}
