/* ==========================================================
   Header w stylu mockupu (biały, nawigacja centralnie)
========================================================== */

/* ---------- Tło i ramka ---------- */

#main-header .site-main-header-wrap .site-header-row-container-inner,
#mobile-header .site-main-header-wrap .site-header-row-container-inner,
#mobile-header .site-header-inner-wrap {
	background: #fff !important;
	border-bottom: 1px solid #E2E8F0;
	box-shadow: 0 8px 24px rgb(15 23 42 / 4%);
}

/* Sticky: bez zmian koloru — header już biały */

#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
#mobile-header.kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-inner-wrap {
	background: #fff !important;
	box-shadow: 0 8px 24px rgb(15 23 42 / 8%);
}

/* ---------- Wysokość i wyrównanie ---------- */

.site-main-header-inner-wrap {
	position: relative;
	min-height: 68px;
}

.site-header-main-section-left,
.site-header-main-section-right {
	display: flex;
	align-items: center;
}

.site-header-main-section-right {
	justify-content: flex-end;
	gap: .35rem;
}

#masthead .custom-logo {
	height: 40px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
}

/* ---------- Nawigacja ---------- */

/*
 * Kadence: .header-navigation li.menu-item>a { color: var(--global-palette4) }
 * (biały — po oryginalnym ciemnym headerze). Wyższe specificity +
 * wczytuje się po nas — potrzebny selektor z #masthead.
 */

#masthead .header-navigation li.menu-item > a,
.main-navigation a {
	color: #233548;
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
}

#masthead .header-navigation li.menu-item > a:hover,
#masthead .header-navigation li.menu-item > a:focus,
.main-navigation ul li a:hover {
	color: #214A73;
}

.main-navigation ul {
	gap: .15rem;
}

.main-navigation ul li {
	margin: 0;
}

.main-navigation ul li a {
	padding: .55rem .95rem;
	border-radius: 8px;
	transition:
		color var(--pec-transition, .2s ease),
		background var(--pec-transition, .2s ease);
}

.main-navigation ul li a:hover {
	color: #214A73;
	background: #EDF4FA;
}

.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current-menu-item > a:hover {
	color: #214A73;
	background: #EDF4FA;
}

/* Animacje underline Kadence — wyłączamy */

.main-navigation.header-navigation-style-standard .menu > li > a::after,
.main-navigation .menu > li > a::after {
	display: none !important;
}

/* ---------- Przyciski w menu ---------- */

.menu-item.pec-nav-action {
	margin-left: .35rem;
}

.menu-item.pec-nav-action > a,
.menu-item.pec-nav-action > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	margin: 0;
	padding: .55rem;
	color: #233548;
	background: transparent;
	border: 0;
	border-radius: 10px;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	transition:
		background var(--pec-transition, .2s ease),
		color var(--pec-transition, .2s ease),
		border-color var(--pec-transition, .2s ease);
}

/* Ikona szukajki — okrągła z ramką (jak w mockupie) */

.menu-item.pec-nav-action--search > button {
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #E2E8F0;
	border-radius: 50%;
	background: #fff;
}

.menu-item.pec-nav-action--search > button:hover {
	border-color: #214A73;
	color: #214A73;
	background: #EDF4FA;
}

/* CTA „Dodaj opinię" */

#masthead .menu-item.pec-nav-action--cta > a.pec-nav-cta {
	padding: .6rem 1.15rem;
	color: #fff;
	background: #214A73;
	border: 1px solid #214A73;
	border-radius: 10px;
}

#masthead .menu-item.pec-nav-action--cta > a.pec-nav-cta:hover {
	color: #fff;
	background: #183A5B;
	border-color: #183A5B;
}

/* ---------- Nawigacja wyśrodkowana (desktop) ---------- */

@media (min-width: 1025px) {

	/*
	 * Prawy blok BEZ position:relative — kontenerem referencyjnym
	 * musi być pełnej szerokości .site-main-header-inner-wrap,
	 * inaczej menu centeruje się względem prawej krawędzi.
	 */

	#masthead .site-header-main-section-right {
		position: static;
		z-index: auto;
	}

	#masthead #site-navigation {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		z-index: 20;
	}

	#masthead #site-navigation .primary-menu-container {
		display: flex;
		align-items: center;
	}

}

/* ---------- Burger — ciemny na białym (desktop + mobile) ---------- */

/*
 * Kadence global.min.css: .mobile-toggle-open-container .menu-toggle-open
 * { color: var(--global-palette9) } (biały). Nasz arkusz jest wczytywany
 * wcześniej, więc zwykła reguła przegrywa — stąd body + !important.
 */

body .menu-toggle,
body #mobile-header .menu-toggle,
body .popup-drawer-toggle .menu-toggle,
body .menu-toggle-open,
body #mobile-header .menu-toggle-open,
body .mobile-toggle-open-container .menu-toggle-open,
body .mobile-toggle-open-container .menu-toggle-open:focus,
body .mobile-toggle-open-container .menu-toggle-open:hover,
body #mobile-header .mobile-toggle-open-container .menu-toggle-open {
	color: #233548 !important;
	border-color: #233548 !important;
}

body .menu-toggle:hover,
body #mobile-header .menu-toggle:hover {
	color: #214A73 !important;
}

/* ---------- Overlay wyszukiwarki ---------- */

.pec-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: start center;
	padding: 12vh 1.25rem 1.25rem;
}

.pec-search-overlay[hidden] {
	display: none;
}

.pec-search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(15 23 42 / 55%);
}

.pec-search-overlay__dialog {
	position: relative;
	width: min(640px, 100%);
	padding: 1.5rem;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgb(15 23 42 / 25%);
}

.pec-search-overlay__form {
	display: flex;
	align-items: center;
	gap: .75rem;
}

.pec-search-overlay__form .pec-icon {
	color: #66768A;
	flex: 0 0 auto;
}

.pec-search-overlay__form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: .8rem 1rem;
	font-size: 1rem;
	color: #233548;
	background: #F4F7FB;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	outline: none;
}

.pec-search-overlay__form input[type="search"]:focus {
	border-color: #214A73;
	background: #fff;
}

.pec-search-overlay__close {
	position: absolute;
	top: .6rem;
	right: .75rem;
	padding: .25rem .5rem;
	font-size: 1.6rem;
	line-height: 1;
	color: #66768A;
	background: transparent;
	border: 0;
	cursor: pointer;
	border-radius: 8px;
}

.pec-search-overlay__close:hover {
	color: #233548;
	background: #F4F7FB;
}

body.pec-search-open-lock {
	overflow: hidden;
}

/* ---------- Responsywność ---------- */

@media (max-width: 1024px) {

	.menu-item.pec-nav-action--search > button {
		width: 36px;
		height: 36px;
	}

	.menu-item.pec-nav-action--cta > a.pec-nav-cta {
		padding: .5rem .9rem;
		font-size: .88rem;
	}

	#masthead .custom-logo {
		height: 34px;
	}

}

@media (max-width: 640px) {

	.pec-search-overlay__form {
		flex-wrap: wrap;
	}

	.pec-search-overlay__form .pec-button {
		width: 100%;
	}

}
