/**
 * Nagłówek wg wzoru musi-html (topbar + biały pasek, Inter).
 * Nadpisuje fragmenty style.css / style-m1000.css — treść z WP bez zmian.
 */
:root {
	--musi-blue: #13357a;
	--musi-blue-2: #1c4bb0;
	--musi-blue-3: #2e66d6;
	--musi-red: #e3242b;
	--musi-ink: #0e1a34;
	--musi-ink-2: #334067;
	--musi-ink-3: #5a6789;
	--musi-line: #e3e8f1;
	--musi-soft: #f4f7fc;
	--musi-container: 1300px;
	/* min-height w CSS ≠ realna wysokość (padding, treść widgetów); na mobile JS nadpisuje */
	--musi-topbar-h: 36px;
	--musi-header-h: 100px;
	--musi-menu-offset: 136px;
	/* ikonka telefonu (jak musi-html) — maska + currentColor */
	--musi-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

/* Kontener jak w musi-html (.container) — tylko nagłówek */
#container > .topbar > .container,
header.site-header > .container {
	max-width: var(--musi-container);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3%;
	padding-right: 3%;
	box-sizing: border-box;
}

@media screen and (max-width: 720px) {
	:root {
		--musi-header-h: 80px;
		--musi-menu-offset: 116px;
	}
}

/* Fallback; przy otwartym menu mobile JS ustawia --musi-menu-offset z getBoundingClientRect */
#container.has-topbar {
	--musi-menu-offset: calc(var(--musi-topbar-h) + var(--musi-header-h));
}

#container:not(.has-topbar) {
	--musi-menu-offset: var(--musi-header-h);
}

/* --- Topbar (widgety: kontakt | sklep + social) --- */
.topbar {
	background: var(--musi-blue);
	color: #cfd9ef;
	font-size: 13px;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 400;
}

.topbar .container,
.topbar .header_top_inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	min-height: var(--musi-topbar-h);
	gap: 16px;
	padding-top: 4px;
	padding-bottom: 4px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

@media screen and (max-width: 1000px) {
	.topbar .container,
	.topbar .header_top_inner {
		gap: 4px;
	}
}

.topbar .container::-webkit-scrollbar,
.topbar .header_top_inner::-webkit-scrollbar {
	display: none;
}

.topbar a {
	color: #e5ecfb;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	opacity: 0.92;
	text-decoration: none !important;
	font-weight: 400;
}

.topbar a:hover {
	opacity: 1;
	color: #fff;
}

.topbar .tb-left,
.topbar .tb-right {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.topbar .tb-right {
	margin-left: auto;
	flex-shrink: 0;
}
	
@media screen and (max-width: 1000px) {
	.topbar .tb-right {
		margin-left: unset;
	}
}

.topbar .tb-left {
	flex: 1 1 auto;
	min-width: 0;
}

.topbar .header_skleponline {
	margin-left: 0;
	text-align: inherit;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.topbar .header_kontakt {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

/* Widżety WP: paragrafy i divy nie mogą łamać rzędu na 100% szerokości */
.topbar .widget {
	margin: 0;
}

.topbar .textwidget,
.topbar .widget_text .textwidget {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.topbar .textwidget p,
.topbar .widget_text p {
	margin: 0;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 5px;
}

.topbar .header_kontakt .textwidget br {
	display: none;
}

/* Bloki Gutenberg w pasku górnym */
.topbar .wp-block-group .wp-block-group__inner-container,
.topbar .is-layout-flex {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 18px !important;
}

.topbar .header_skleponline a {
	text-decoration: none !important;
}

.topbar .header_skleponline a:hover {
	color: #fff;
}

.topbar .tb-sep {
	opacity: 0.35;
	user-select: none;
}

.topbar .tb-right .sep {
	opacity: 0.35;
	user-select: none;
}

/* Sklep: jeden link z Personalizatora (jak musi-html — cała fraza klikalna) */
.topbar a.tb-shop-link {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	color: #e5ecfb;
	opacity: 0.92;
	font-weight: 500;
	text-decoration: none !important;
}

.topbar a.tb-shop-link:hover {
	opacity: 1;
	color: #fff;
	text-decoration: underline !important;
}

/*
 * Social — struktura jak musi-html; kotwice: dokładnie jak .tb-socials a (na końcu pliku, po WP core).
 */
.topbar .tb-socials,
.topbar .header_tb_socials {
	display: flex;
	gap: 10px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.topbar .tb-socials .textwidget,
.topbar .tb-socials .textwidget p,
.topbar .header_tb_socials .textwidget,
.topbar .header_tb_socials .textwidget p {
	display: contents;
	margin: 0;
}

.topbar .tb-socials .wp-block-social-links,
.topbar .header_tb_socials .wp-block-social-links {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.topbar .tb-socials .wp-social-link,
.topbar .header_tb_socials .wp-social-link {
	display: block;
	margin: 0;
	padding: 0;
}

.topbar .header_kontakt img {
	margin: 0 6px 0 0;
	vertical-align: middle;
	padding-bottom: 0;
	max-height: 18px;
	width: auto;
	flex-shrink: 0;
}

/* Ikona telefonu przed numerem (treść linku z WP bez zmian) */
.topbar .header_kontakt a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.topbar .header_kontakt a[href^="tel:"]::before {
	content: "";
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	background-color: currentColor;
	opacity: 0.95;
	-webkit-mask: var(--musi-icon-phone) center / contain no-repeat;
	mask: var(--musi-icon-phone) center / contain no-repeat;
}

@media screen and (max-width: 720px) {
	.topbar .tb-left .email {
		display: none;
	}
}

/* --- Główny pasek: logo + menu --- */
header.site-header {
	width: 100%;
	background: #fff;
	border-bottom: 1px solid var(--musi-line);
	box-shadow: none;
	position: sticky;
	top: 0;
	z-index: 60;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Breadcrumbs jak w musi-html (.crumb) */
#breadcrumbs {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	background: var(--musi-soft);
	border-bottom: 1px solid var(--musi-line);
	box-sizing: border-box;
	color: var(--musi-ink-3);
}

#breadcrumbs > p {
	max-width: var(--musi-container);
	margin: 0 auto;
	padding: 0 3%;
	height: 44px;
	display: flex;
	align-items: center;
	font-size: 13px;
	line-height: 1;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#breadcrumbs > p > span {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
	
#breadcrumbs a {
	color: var(--musi-ink-3);
	font-size: 13px;
	font-weight: 400;
	text-decoration: none;
}

#breadcrumbs a:hover {
	color: var(--musi-blue);
}

#breadcrumbs .breadcrumb_last {
	color: var(--musi-blue);
	font-weight: 600;
	font-size: 13px;
}

@media screen and (max-width: 720px) {
	#breadcrumbs > p {
		padding: 0 20px;
	}
}

header.site-header .header_inner {
	max-width: var(--musi-container);
	width: 100%;
	margin: 0 auto;
	padding: 0 3%;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	min-height: var(--musi-header-h);
	gap: 24px;
}

header.site-header #logo.brand {
	flex: 0 0 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

header.site-header .brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

header.site-header .brand .custom-logo-link,
header.site-header #logo.brand .custom-logo-link {
	display: flex;
	align-items: center;
}

header.site-header .brand img,
header.site-header #logo.brand img,
header.site-header .custom-logo-link img {
	display: block;
	width: 170px;
	height: auto;
	max-width: 100%;
}

@media screen and (max-width: 720px) {
	header.site-header .brand img,
	header.site-header #logo.brand img,
	header.site-header .custom-logo-link img {
		width: 160px;
	}
}

header.site-header #menu {
	margin-left: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
}

/*
 * Checkbox poza układem (visually hidden) — label nadal przełącza;
 * display:none znikałby z drzewa dostępności w niektórych konfiguracjach.
 */
header.site-header #menu #show-menu {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
}

/* Burger tylko ikonka w rzędzie z logo */
header.site-header #menu > label.burger {
	flex: 0 0 auto;
	margin: 0;
}

/* --- Menu desktop (≥1001px) --- */
@media screen and (min-width: 1001px) {
	header.site-header #menu nav.menu_inner {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		opacity: 1 !important;
		overflow: visible !important;
		background: transparent !important;
		z-index: auto !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		box-shadow: none !important;
		transition: none !important;
	}

	header.site-header #menu .menu_inner2 {
		display: flex !important;
		align-items: center;
		width: auto;
		height: auto;
		overflow: visible;
		margin: 0;
		padding: 0;
		text-align: left;
	}

	header.site-header #menu ul.nav-menu,
	header.site-header #menu .menu_inner2 > ul {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 4px;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	header.site-header #menu ul.nav-menu > li,
	header.site-header #menu .menu_inner2 > ul > li {
		padding: 0;
		position: relative;
	}

	header.site-header #menu ul.nav-menu > li > a,
	header.site-header #menu .menu_inner2 > ul > li > a {
		display: block;
		padding: 10px 14px;
		border-radius: 8px;
		color: var(--musi-ink);
		font-weight: 500;
		font-size: 15px;
		text-transform: none;
		text-decoration: none;
		transition: background 0.15s, color 0.15s;
	}

	header.site-header #menu ul.nav-menu > li > a:hover,
	header.site-header #menu .menu_inner2 > ul > li > a:hover {
		background: var(--musi-soft);
		color: var(--musi-blue);
	}

	header.site-header #menu ul.nav-menu > li.current-menu-item > a,
	header.site-header #menu ul.nav-menu > li.current-menu-ancestor > a,
	header.site-header #menu .menu_inner2 > ul > li.current-menu-item > a,
	header.site-header #menu .menu_inner2 > ul > li.current-menu-ancestor > a {
		color: var(--musi-blue);
		font-weight: 600;
		background: transparent;
	}

	header.site-header #menu a.nav-cta {
		background: var(--musi-blue);
		color: #fff !important;
		padding: 10px 16px;
		border-radius: 10px;
		font-weight: 600 !important;
		font-size: 14px;
		margin-left: 10px;
	}

	header.site-header #menu a.nav-cta:hover {
		background: var(--musi-blue-2) !important;
		color: #fff !important;
	}

	/* Podmenu */
	header.site-header #menu ul.nav-menu .sub-menu,
	header.site-header #menu .menu_inner2 > ul .sub-menu {
		display: none;
		position: absolute;
		left: 0;
		top: 100%;
		min-width: 220px;
		background: #fff;
		border: 1px solid var(--musi-line);
		border-radius: 12px;
		box-shadow: 0 8px 28px rgba(19, 53, 122, 0.1);
		padding: 8px 0;
		margin: 0;
		list-style: none;
		z-index: 80;
	}

	header.site-header #menu ul.nav-menu li:hover > .sub-menu,
	header.site-header #menu .menu_inner2 > ul li:hover > .sub-menu {
		display: block;
	}

	header.site-header #menu ul.nav-menu .sub-menu li,
	header.site-header #menu .menu_inner2 > ul .sub-menu li {
		display: block;
	}

	header.site-header #menu ul.nav-menu .sub-menu a,
	header.site-header #menu .menu_inner2 > ul .sub-menu a {
		padding: 10px 16px;
		border-radius: 0;
		font-size: 14px;
		font-weight: 500;
		white-space: nowrap;
	}

	header.site-header #menu ul.nav-menu .sub-menu a:hover,
	header.site-header #menu .menu_inner2 > ul .sub-menu a:hover {
		background: var(--musi-soft);
	}

	header.site-header #menu .show-menu.burger {
		display: none !important;
	}
}

/* --- Burger + mobile / tablet (≤1000px) --- */
@media screen and (max-width: 1000px) {
	header.site-header .header_inner {
		padding: 0 20px;
		min-height: var(--musi-header-h);
	}

	header.site-header #menu .show-menu.burger {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	header.site-header #toggle.burger {
		background: none;
		border: 0;
		cursor: pointer;
		padding: 10px;
		width: auto;
		height: auto;
		transform: none;
		top: 0;
		z-index: 70;
	}

	header.site-header #toggle .burger-icon {
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--musi-blue);
		line-height: 0;
	}

	header.site-header #toggle .burger-icon svg {
		width: 24px;
		height: 24px;
	}

	header.site-header #toggle .burger-icon--close {
		display: none;
	}

	header.site-header #toggle.on .burger-icon--bars {
		display: none;
	}

	header.site-header #toggle.on .burger-icon--close {
		display: flex;
	}

	header.site-header #menu input#show-menu ~ nav.menu_inner {
		overflow: hidden !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: none !important;
		top: var(--musi-menu-offset) !important;
		height: 0 !important;
		max-height: none;
		background: rgba(14, 26, 52, 0.45) !important;
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
		align-items: stretch !important;
		justify-content: flex-end !important;
		padding: 0 !important;
		transition: opacity 0.25s ease, height 0.25s ease !important;
	}

	header.site-header #menu input#show-menu:checked ~ nav.menu_inner {
		height: calc(100vh - var(--musi-menu-offset)) !important;
		opacity: 1 !important;
		background: rgba(14, 26, 52, 0.45) !important;
	}

	header.site-header #menu input#show-menu:checked ~ nav.menu_inner .menu_inner2 {
		width: min(360px, 86vw);
		max-width: 360px;
		margin-left: auto;
		background: #fff;
		height: 100%;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 20px 16px 32px;
		box-sizing: border-box;
		box-shadow: -8px 0 32px rgba(19, 53, 122, 0.15);
		text-align: right;
	}

	header.site-header #menu ul.nav-menu,
	header.site-header #menu .menu_inner2 > ul {
		display: block !important;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	header.site-header #menu ul.nav-menu > li,
	header.site-header #menu .menu_inner2 > ul > li {
		display: block;
		padding: 0;
		border-bottom: 1px solid var(--musi-line);
	}

	header.site-header #menu ul.nav-menu > li > a,
	header.site-header #menu .menu_inner2 > ul > li > a {
		display: block;
		padding: 14px 10px;
		font-size: 16px;
		font-weight: 400;
		color: var(--musi-ink-2);
		text-transform: none;
		text-decoration: none;
		text-align: right;
		border-radius: 0;
	}

	header.site-header #menu ul.nav-menu > li > a:hover,
	header.site-header #menu .menu_inner2 > ul > li > a:hover {
		color: var(--musi-blue);
		background: transparent;
	}

	header.site-header #menu ul.nav-menu > li.current-menu-item > a,
	header.site-header #menu .menu_inner2 > ul > li.current-menu-item > a {
		color: var(--musi-blue);
		font-weight: 600;
	}

	header.site-header #menu a.nav-cta {
		background: var(--musi-blue);
		color: #fff !important;
		
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 12px 20px;
		border-radius: 12px;
		font-weight: 600;
		font-size: 15px;
		text-decoration: none;
		margin-top: 12px;
		border: 1px solid transparent;
	}

	header.site-header #menu .sub-menu {
		display: block;
		position: static;
		border: 0;
		box-shadow: none;
		padding: 0 0 8px 12px;
		background: transparent;
	}

	header.site-header #menu .sub-menu a {
		font-size: 15px;
		padding: 8px 10px;
		border-bottom: 0;
	}
}

/*
 * musi-html (Bezdech Senny.html) — dosłownie, na końcu pliku:
 * .tb-socials { display:flex; gap:10px; }
 * .tb-socials a { width:22px; height:22px; display:inline-grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); }
 * .tb-socials svg { width:12px; height:12px; }
 * Selektor z #container wygrywa z .topbar a i ze stylów bloku „Ikony społecznościowe”.
 */
#container > .topbar .tb-socials {
	display: flex;
	gap: 10px;
}

#container > .topbar .tb-socials .wp-block-social-links {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

#container > .topbar .tb-socials a {
	width: 22px;
	height: 22px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
}

#container > .topbar .tb-socials a:hover {
	background: rgba(255, 255, 255, 0.18);
}

#container > .topbar .tb-socials svg {
	width: 12px;
	height: 12px;
}

#container > .topbar .tb-socials svg[fill="none"] {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Ikony jako <img> w linku */
#container > .topbar .tb-socials a img {
	width: 12px;
	height: 12px;
	display: block;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

/* Rdzeń WP często dodaje padding na kotwicy — bez tego „kółko” się rozjeżdża */
#container > .topbar .tb-socials .wp-block-social-link-anchor {
	padding: 0;
	box-sizing: border-box;
	line-height: 0;
	text-decoration: none;
	color: #e5ecfb;
}

/* Fallback dla realnej struktury z Twojego widoku:
 * <section class="header_skleponline">...<ul class="wp-block-social-links">...</ul></section>
 */
#container > .topbar .header_skleponline {
	display: flex;
	align-items: center;
	gap: 10px;
}

#container > .topbar .header_skleponline .textwidget p {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

#container > .topbar .header_skleponline .wp-block-social-links {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
	line-height: 1;
}

/* Separator "·" dla markupu: textwidget + social links */
#container > .topbar .header_skleponline .textwidget + .wp-block-social-links {
	position: relative;
	margin-left: 16px;
	padding-left: 6px;
}

#container > .topbar .header_skleponline .textwidget + .wp-block-social-links::before {
	content: "·";
	position: absolute;
	left: -12px;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.35;
	color: #e5ecfb;
	line-height: 1;
}

#container > .topbar .header_skleponline .wp-social-link {
	margin: 0;
	padding: 0;
	color: #e5ecfb !important;
	display: flex;
	align-items: center;
}

#container > .topbar .header_skleponline .wp-social-link a {
	width: 22px;
	height: 22px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	padding: 0;
	line-height: 0;
	color: #e5ecfb !important;
	text-decoration: none;
}

#container > .topbar .header_skleponline .wp-social-link a:hover {
	background: rgba(255, 255, 255, 0.18);
	color: #fff !important;
}

#container > .topbar .header_skleponline .wp-social-link svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
	stroke: none;
}

#container > .topbar .header_skleponline .wp-social-link svg[fill="none"] {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
