/*
 * Restyling — system designu kancelarii: granat #08213a + kremowo-złoty #cccc99 (KIRP)
 * Załadowany przez functions.php po style.css motywu, więc wygrywa kaskadowo.
 */

/* === HEADER — Wariant A "Compact Premium":
 *    logo lewo, menu środek, telefon prawo, wszystko na jednej osi pionowej.
 *    Gradient overlay dla czytelności na każdym tle hero. */
#main-nav.navbar-inverse {
	background: linear-gradient(to bottom, rgba(8, 33, 58, 0.78) 0%, rgba(8, 33, 58, 0.45) 60%, rgba(8, 33, 58, 0) 100%);
	border: none;
	box-shadow: none;
	min-height: 110px;
	padding-top: 28px;
	padding-bottom: 28px;
}
#main-nav.navbar-inverse .container { position: relative; }

/* Desktop: flexbox spread, jedna oś pionowa, full width container */
@media (min-width: 992px) {
	#main-nav.navbar-inverse > .container,
	#main-nav.navbar-inverse .container {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between;
		flex-wrap: nowrap;
		gap: 24px;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
	#main-nav.navbar-inverse .navbar-header,
	#main-nav.navbar-inverse .navbar-collapse,
	#main-nav.navbar-inverse .header-phone {
		align-self: center;
	}
	#main-nav.navbar-inverse .navbar-header {
		flex: 0 0 auto;
		float: none;
		margin: 0 !important;
	}
	/* Logo dosunięte do lewej krawędzi container */
	#main-nav.navbar-inverse .navbar-header .header_title,
	#main-nav.navbar-inverse .navbar-header .responsive-logo {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}
	#main-nav.navbar-inverse .navbar-collapse {
		flex: 1 1 auto;
		padding: 0;
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		border: none;
		box-shadow: none;
	}
	#main-nav.navbar-inverse .navbar-collapse .nav.navbar-nav {
		float: none;
		margin: 0;
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
	}
	#main-nav.navbar-inverse .navbar-collapse .nav.navbar-nav > li {
		float: none;
	}
}

/* Menu items — bez łamania na 2 linie nigdy */
.navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li {
	white-space: nowrap !important;
}

/* === LOGO (Wariant L1: Teresa duża + kancelaria malutka tagline) === */
.site-title a,
.site-title {
	color: #ffffff !important;
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.1;
	letter-spacing: 0.3px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
	text-transform: uppercase;
}
.site-description a,
.site-description {
	color: rgba(204, 204, 153, 0.95) !important;
	font-family: 'Source Sans 3', 'Inter', system-ui, sans-serif;
	font-style: normal;
	font-size: 11px;
	letter-spacing: 2.5px;
	font-weight: 500;
	text-transform: uppercase;
	display: block;
	margin-top: 6px;
}
.header_title.logics_header_title { line-height: 1; }
@media (max-width: 767px) {
	.site-title { font-size: 16px !important; letter-spacing: 0; }
	.site-description { font-size: 9px !important; letter-spacing: 1.2px; margin-top: 4px; }
}
@media (max-width: 420px) {
	.site-title { font-size: 14px !important; }
	.site-description { font-size: 8px !important; letter-spacing: 1px; }
}

/* === MENU NAV — białe linki na granat. Override theme dynamic CSS przez wyższą specificity (#main-nav). === */
#main-nav .navbar-inverse .navbar-nav > li > a,
#main-nav.navbar-inverse .navbar-nav > li > a,
#main-nav .navbar-inverse .navbar-nav > li.current-menu-item > a,
#main-nav.navbar-inverse .navbar-nav > li.current-menu-item > a,
.home #main-nav .nav > li.current_page_item > a,
.home #main-nav.navbar-inverse .nav > li.current_page_item > a {
	color: #ffffff !important;
	font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif;
	font-weight: 500;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	padding: 12px 16px;
	transition: color 0.2s ease;
	background: transparent !important;
}
#main-nav .navbar-inverse .navbar-nav > li > a:hover,
#main-nav.navbar-inverse .navbar-nav > li > a:hover,
#main-nav .navbar-inverse .navbar-nav > li > a:focus,
#main-nav.navbar-inverse .navbar-nav > li > a:focus {
	color: #cccc99 !important;
	background: transparent !important;
}

/* Spójny underline pod KAŻDYM menu item (tłumimy motywowy border/decoration) +
 * wzmocnione podkreślenie pod aktywnym. Rozwiązuje brak underline pod REFERENCJE
 * i podwójne linie pod innymi pozycjami. */
.navbar-inverse .navbar-nav > li > a,
#main-nav.navbar-inverse .navbar-nav > li > a {
	position: relative;
	text-decoration: none !important;
	border-bottom: none !important;
}
.navbar-inverse .navbar-nav > li > a:before,
#main-nav.navbar-inverse .navbar-nav > li > a:before,
ul.nav > li > a:before,
.nav > li > a:before,
ul.nav > li.current_page_item > a:before,
ul.nav > li.current_page_item.current > a:before,
ul.nav > li.current_page_item.menu-item-home > a:before,
ul.nav > li.menu-item-home > a:before,
.nav > li.current-menu-item > a:before,
.nav > li.current-menu-parent > a:before,
.nav > li.current-menu-ancestor > a:before,
li.current > a:before {
	content: none !important;
	display: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}
.navbar-inverse .navbar-nav > li > a:after,
#main-nav.navbar-inverse .navbar-nav > li > a:after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 4px;
	height: 1px;
	background: rgba(204, 204, 153, 0.45);
	border-radius: 1px;
	transition: height 0.2s ease, background 0.2s ease;
}
.navbar-inverse .navbar-nav > li > a:hover:after,
#main-nav.navbar-inverse .navbar-nav > li > a:hover:after {
	background: #cccc99;
}
.navbar-inverse .navbar-nav > li.current-menu-item > a:after,
.navbar-inverse .navbar-nav > li.current_page_item > a:after,
.navbar-inverse .navbar-nav > li.current-menu-parent > a:after,
.navbar-inverse .navbar-nav > li.current-menu-ancestor > a:after,
#main-nav.navbar-inverse .navbar-nav > li.current-menu-item > a:after,
#main-nav.navbar-inverse .navbar-nav > li.current_page_item > a:after,
#main-nav.navbar-inverse .navbar-nav > li.current-menu-parent > a:after,
#main-nav.navbar-inverse .navbar-nav > li.current-menu-ancestor > a:after {
	height: 2px;
	background: #cccc99;
}

/* Sub-menu (dropdown) — granat zgodny z paletą strony (M1.15), białe litery uppercase, gold hover.
 * Plus "bridge gap" (M1.5): invisible padding-top żeby kursor mógł przejechać z parent menu
 * item do submenu bez utraty :hover. */
.navbar-inverse .navbar-nav ul.sub-menu {
	background: rgba(8, 33, 58, 0.96) !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(204, 204, 153, 0.18);
	border-radius: 4px;
	margin-top: 0 !important;
	padding-top: 14px !important;
	padding-bottom: 6px !important;
	min-width: 220px;
	backdrop-filter: blur(6px);
	background-clip: padding-box;
}
/* Parent menu item z submenu — utrzymuj :hover gdy mysz jest między <a> a submenu */
.navbar-inverse .navbar-nav > li.menu-item-has-children:hover > ul.sub-menu,
.navbar-inverse .navbar-nav > li.dropdown:hover > ul.sub-menu,
.navbar-inverse .navbar-nav > li:hover > ul.sub-menu {
	display: block !important;
}
/* Niewidoczny "bridge" pod parent <a> — rozszerza hit-area parent gdy kursor zjeżdża */
@media (min-width: 992px) {
	.navbar-inverse .navbar-nav > li.menu-item-has-children,
	.navbar-inverse .navbar-nav > li.dropdown {
		position: relative;
	}
	.navbar-inverse .navbar-nav > li.menu-item-has-children > a,
	.navbar-inverse .navbar-nav > li.dropdown > a {
		padding-bottom: 18px !important;  /* większy padding-bottom = większe hit-area = mniej szans na utratę :hover */
	}
}
/* M1.15 v2 — mocniejsza specificity z #main-nav żeby przebić motywowe defaults i current-state. */
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a,
#main-nav.navbar-inverse .navbar-nav ul.sub-menu li a,
.navbar-inverse .navbar-nav ul.sub-menu li a,
.navbar-inverse .navbar-nav ul.sub-menu li.current-menu-item > a,
.navbar-inverse .navbar-nav ul.sub-menu li.current_page_item > a {
	color: #ffffff !important;
	font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
	font-weight: 500 !important;
	letter-spacing: 1.1px !important;
	text-transform: uppercase !important;
	text-shadow: none !important;
	font-size: 13px !important;
	padding: 11px 22px !important;
	border-left: 2px solid transparent !important;
	transition: all 0.18s ease;
	background: transparent !important;
	background-color: transparent !important;
	display: block !important;
}
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a:hover,
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a:focus,
#main-nav.navbar-inverse .navbar-nav ul.sub-menu li a:hover,
.navbar-inverse .navbar-nav ul.sub-menu li:hover > a,
.navbar-inverse .navbar-nav ul.sub-menu li.current-menu-item > a,
.navbar-inverse .navbar-nav ul.sub-menu li.current_page_item > a {
	color: #cccc99 !important;
	background: rgba(204, 204, 153, 0.10) !important;
	background-color: rgba(204, 204, 153, 0.10) !important;
	border-left-color: #cccc99 !important;
}
/* Wyłącz motywowe :before / :after / underline dla sub-menu items całkowicie */
.navbar-inverse .navbar-nav ul.sub-menu li a:before,
.navbar-inverse .navbar-nav ul.sub-menu li a:after,
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a:before,
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a:after {
	display: none !important;
	content: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Mobile menu toggle ikona — wymusza widoczność i białe paski */
@media (max-width: 991px) {
	.navbar-inverse .navbar-toggle {
		display: block !important;
		float: none !important;
		position: relative;
		z-index: 30;
		border: 1.5px solid #cccc99 !important;
		border-radius: 6px;
		padding: 8px 10px;
		margin: 0 0 0 12px;
		background: rgba(8, 33, 58, 0.65) !important;
		flex: 0 0 auto;
		order: 2;
	}
	.navbar-inverse .navbar-toggle .icon-bar {
		background-color: #ffffff !important;
		height: 2px;
		width: 22px;
	}
	.navbar-inverse .navbar-toggle:hover,
	.navbar-inverse .navbar-toggle:focus {
		background: rgba(204, 204, 153, 0.25) !important;
		border-color: #cccc99 !important;
	}
	/* navbar-header — flex aby logo i hamburger były obok siebie */
	.navbar-inverse .navbar-header {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.navbar-inverse .navbar-header .header_title {
		flex: 1 1 auto;
		min-width: 0;
	}
	/* Wysuwane menu mobile — czytelne */
	.navbar-inverse .navbar-collapse.in,
	.navbar-inverse .navbar-collapse.collapsing {
		background: rgba(8, 33, 58, 0.96) !important;
		border-top: 1px solid rgba(204, 204, 153, 0.2);
		margin-top: 12px;
		padding: 8px 0;
	}
	.navbar-inverse .navbar-collapse.in .nav.navbar-nav > li > a {
		padding: 12px 18px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}
}

/* === TELEFON W NAGŁÓWKU — Wariant C: solid kremowy CTA "ZADZWOŃ 573 195 721" === */
.header-phone.header-phone-cta {
	background: #cccc99 !important;
	color: #08213a !important;
	border: none;
	padding: 10px 22px 10px 18px;
	border-radius: 999px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: all 0.25s ease;
	z-index: 20;
	box-shadow: 0 4px 14px rgba(0,0,0,0.18);
	font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif;
	white-space: nowrap;
	flex: 0 0 auto;
	margin-left: 16px;
	align-self: center;
	text-shadow: none;
}
.header-phone.header-phone-cta:hover,
.header-phone.header-phone-cta:focus {
	background: #ffffff !important;
	color: #08213a !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.header-phone.header-phone-cta .header-phone-icon {
	font-size: 20px;
	line-height: 1;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(8,33,58,0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.header-phone.header-phone-cta .header-phone-text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
.header-phone.header-phone-cta .header-phone-label {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	opacity: 0.75;
}
.header-phone.header-phone-cta .header-phone-number {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 1.1;
	margin-top: 2px;
}
@media (max-width: 991px) { .header-phone.header-phone-cta { display: none; } }

/* === FLOATING PHONE (mobile) — przyklejony przycisk === */
.floating-phone {
	position: fixed;
	bottom: 22px;
	right: 22px;
	width: 56px;
	height: 56px;
	background: #cccc99;
	color: #08213a !important;
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
	z-index: 1000;
	animation: floating-phone-pulse 2.5s infinite;
}
.floating-phone:hover {
	background: #ffffff;
	color: #08213a !important;
}
@keyframes floating-phone-pulse {
	0%, 100% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(204, 204, 153, 0.55); }
	50%      { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), 0 0 0 14px rgba(204, 204, 153, 0); }
}
@media (max-width: 991px) { .floating-phone { display: flex; } }

/* === FOOTER SEPARATOR (M1.9 z audytu A1) — sekcja 3-col zlewała się z mapą nad nią === */
#footer .footer-widget-wrap,
.footer-widget-wrap {
	border-top: 1px solid rgba(204, 204, 153, 0.22);
	padding-top: 36px;
	margin-top: 24px;
}

/* === FOOTER WIDGET TITLES — fix po zamianie H1 na H3 === */
#footer .footer-widget h3,
#footer .footer-widget h3.widget-title,
#footer .footer-widget h3.footer-widget-title {
	color: #ffffff !important;
	font-family: 'Playfair Display', serif;
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.4px;
	margin: 0 0 22px 0;
	padding-bottom: 14px;
	position: relative;
	text-transform: none;
}
#footer .footer-widget h3:before,
#footer .footer-widget h3.widget-title:before,
#footer .footer-widget h3.footer-widget-title:before {
	content: none;
}
#footer .footer-widget h3:after,
#footer .footer-widget h3.widget-title:after,
#footer .footer-widget h3.footer-widget-title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36px;
	height: 2px;
	background: #cccc99;
}

/* Footer linki + tekst — spójna paleta */
#footer .footer-widget ul li a,
#footer .footer-widget p,
#footer .footer-widget a {
	color: #d9d4c0 !important;
	font-size: 14px;
	line-height: 1.7;
	transition: color 0.2s ease;
}
#footer .footer-widget ul li a:hover,
#footer .footer-widget a:hover {
	color: #cccc99 !important;
}
#footer .footer-widget ul {
	list-style: none;
	padding-left: 0;
}
#footer .footer-widget ul li {
	padding: 4px 0;
}

/* === FOUNDER CARD — profil Teresy po sekcji "Kancelaria" === */
.founder-section {
	background: #08213a;
	padding: 0 0 80px 0;
}
.founder-card {
	display: flex;
	align-items: center;
	gap: 36px;
	max-width: 820px;
	margin: 0 auto;
	padding: 36px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(204, 204, 153, 0.18);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
}
.founder-photo {
	flex: 0 0 160px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #cccc99;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
.founder-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.founder-body { flex: 1 1 auto; text-align: center; }
.founder-eyebrow {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: #cccc99;
	margin-bottom: 8px;
}
.founder-name {
	font-family: 'Playfair Display', serif;
	font-size: 30px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 6px 0;
	line-height: 1.15;
}
.founder-title {
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 2px;
}
.founder-subtitle {
	color: rgba(204, 204, 153, 0.85);
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 22px;
}
.founder-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.founder-btn-primary {
	background: #cccc99;
	color: #08213a !important;
	padding: 11px 22px;
	border-radius: 999px;
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all 0.2s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.founder-btn-primary:hover {
	background: #ffffff;
	color: #08213a !important;
	transform: translateY(-1px);
}
.founder-btn-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(204, 204, 153, 0.55);
	color: #cccc99 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	text-decoration: none !important;
	transition: all 0.2s ease;
}
.founder-btn-icon:hover {
	background: #cccc99;
	color: #08213a !important;
	border-color: #cccc99;
}
@media (max-width: 767px) {
	.founder-card {
		flex-direction: column;
		text-align: center;
		gap: 20px;
		padding: 28px 22px;
	}
	.founder-photo { width: 130px; height: 130px; flex-basis: 130px; }
	.founder-name { font-size: 24px; }
	.founder-actions { justify-content: center; }
}

/* === MAP FACADE — lazy iframe, klikalny placeholder === */
.map-facade {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
	background: linear-gradient(135deg, #08213a 0%, #0a2a4a 60%, #0c3258 100%);
	cursor: pointer;
	transition: background 0.3s ease;
	overflow: hidden;
	color: #ffffff;
	text-align: center;
}
.map-facade:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(204,204,153,0.08) 1px, transparent 1px);
	background-size: 24px 24px;
	opacity: 0.6;
	pointer-events: none;
}
.map-facade:hover,
.map-facade:focus-visible {
	background: linear-gradient(135deg, #0a2a4a 0%, #0c3258 60%, #0e3a68 100%);
	outline: none;
}
.map-facade-overlay {
	position: relative;
	z-index: 1;
	padding: 24px;
	max-width: 520px;
}
.map-facade-pin {
	font-size: 56px;
	line-height: 1;
	margin-bottom: 14px;
	filter: drop-shadow(0 6px 14px rgba(0,0,0,0.4));
}
.map-facade-text strong {
	display: block;
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #ffffff;
	letter-spacing: 0.2px;
}
.map-facade-text span {
	display: inline-block;
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 12px;
	color: rgba(204, 204, 153, 0.95);
	text-transform: uppercase;
	letter-spacing: 1.8px;
	padding: 8px 18px;
	border: 1px solid rgba(204, 204, 153, 0.55);
	border-radius: 999px;
	margin-top: 6px;
	transition: all 0.2s ease;
}
.map-facade:hover .map-facade-text span {
	background: #cccc99;
	color: #08213a;
	border-color: #cccc99;
}
.map-facade.map-loaded {
	cursor: default;
	background: #08213a;
	min-height: 400px;
	padding: 0;
}
.map-facade.map-loaded:before { display: none; }
.map-facade.map-loaded iframe {
	width: 100%;
	height: 100%;
	min-height: 400px;
	border: 0;
	display: block;
}
@media (max-width: 767px) {
	.map-facade { min-height: 280px; }
	.map-facade-pin { font-size: 42px; }
	.map-facade-text strong { font-size: 18px; }
	.map-facade-text span { font-size: 11px; padding: 6px 14px; }
}

/* === WPFORMS — dostosowanie do palety motywu === */
.contact-us .wpforms-container,
.contact-us div.wpforms-container-full {
	margin: 0 auto;
	max-width: 760px;
}
.contact-us .wpforms-form .wpforms-field {
	padding: 0 0 16px 0;
}
.contact-us .wpforms-form .wpforms-field-label {
	color: rgba(255,255,255,0.85);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.4px;
	margin-bottom: 6px;
}
.contact-us .wpforms-form .wpforms-field input.wpforms-field-large,
.contact-us .wpforms-form .wpforms-field textarea.wpforms-field-large,
.contact-us .wpforms-form .wpforms-field input[type="text"],
.contact-us .wpforms-form .wpforms-field input[type="email"],
.contact-us .wpforms-form .wpforms-field textarea {
	background: rgba(255,255,255,0.95) !important;
	border: 1px solid rgba(204,204,153,0.35) !important;
	border-radius: 4px !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
	color: #08213a !important;
	font-family: 'Source Sans 3', system-ui, sans-serif !important;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-shadow: none !important;
}
.contact-us .wpforms-form .wpforms-field input:focus,
.contact-us .wpforms-form .wpforms-field textarea:focus {
	border-color: #cccc99 !important;
	box-shadow: 0 0 0 3px rgba(204,204,153,0.18) !important;
	outline: none !important;
}
.contact-us .wpforms-form .wpforms-field-gdpr-checkbox label,
.contact-us .wpforms-form .wpforms-field-checkbox label {
	color: rgba(255,255,255,0.78) !important;
	font-size: 13px !important;
	line-height: 1.55;
	font-weight: 400;
}
.contact-us .wpforms-form .wpforms-submit-container { text-align: center; margin-top: 8px; }
.contact-us .wpforms-form button[type="submit"].wpforms-submit {
	background: #cccc99 !important;
	color: #08213a !important;
	border: none !important;
	padding: 14px 38px !important;
	border-radius: 999px !important;
	font-family: 'Source Sans 3', system-ui, sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
.contact-us .wpforms-form button[type="submit"].wpforms-submit:hover {
	background: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(0,0,0,0.22) !important;
}
.contact-us .wpforms-required-label,
.contact-us .wpforms-form .wpforms-required {
	color: #cccc99 !important;
}

/* === HERO TEXT v3 — Playfair (spójny z motywem) + lining figures (cyfry tej samej wysokości).
 * v2 z Cormorant Garamond miał starokrojowe cyfry — "18" wyglądało jak "ł8". Fix: Playfair + lnum. */
/* Subtitle pod H1 hero — tagline kancelarii (decyzja 2026-06-08, wraca po restyling) */
.intro-subtitle {
	display: block;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(16px, 1.6vw, 22px);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.3px;
	color: #cccc99;
	margin: -8px auto 26px;
	padding: 0 24px;
	line-height: 1.45;
	text-align: center;
	max-width: 720px;
	opacity: 0.95;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
@media (max-width: 767px) {
	.intro-subtitle {
		font-size: clamp(14px, 4vw, 17px);
		margin: -4px auto 20px;
		padding: 0 18px;
	}
}

.intro-text,
h1.intro-text {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(18px, 2.6vw, 36px) !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
	letter-spacing: 1.6px !important;
	color: #ffffff !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
	max-width: 880px;
	margin: 0 auto 32px;
	padding: 0 24px;
	font-variant-numeric: lining-nums !important;
	font-feature-settings: "lnum" 1 !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}
/* Pierwsza linia headlinu — złoty eyebrow effect, większy tracking */
.intro-text:first-line,
h1.intro-text:first-line {
	color: #cccc99 !important;
	letter-spacing: 3px;
	font-weight: 500;
}
/* Złoty divider pod hero text */
.intro-text:after,
h1.intro-text:after {
	content: "";
	display: block;
	width: 64px;
	height: 2px;
	background: rgba(204, 204, 153, 0.7);
	margin: 22px auto 0;
}

@media (max-width: 767px) {
	.intro-text,
	h1.intro-text {
		font-size: 19px !important;
		padding: 0 12px;
		max-width: 100%;
		box-sizing: border-box;
	}
	.big-title-container {
		padding: 50px 4px 30px !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.big-title-container .container { padding: 0 !important; max-width: 100% !important; }
	/* CTA wrap-up */
	.big-title-container .buttons {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 0 24px;
		margin-top: 24px;
	}
	.big-title-container .buttons .btn {
		display: block;
		width: 100%;
		text-align: center;
		padding: 14px 20px !important;
		font-size: 14px !important;
		white-space: nowrap;
	}
	/* Logo — mniejsza wersja */
	.site-title { font-size: 18px !important; line-height: 1.2; }
	.site-description { font-size: 12px !important; }
	#main-nav.navbar-inverse {
		padding-top: 16px;
		padding-bottom: 16px;
		min-height: auto;
	}
}
@media (max-width: 480px) {
	.intro-text { font-size: 17px !important; }
}
@media (max-width: 767px) {
	/* [U43] Mobile fix — mniejszy letter-spacing :first-line żeby intro-text mieścił się */
	.intro-text:first-line,
	h1.intro-text:first-line {
		letter-spacing: 1.5px !important;
	}
}

/* === Cookie banner mobile fix — kompaktowy, nie zasłania CTA === */
@media (max-width: 767px) {
	.pea_cook_wrapper {
		max-height: 38vh;
		overflow-y: auto;
		font-size: 11px !important;
		padding: 12px 14px !important;
		bottom: 0 !important;
	}
	.pea_cook_wrapper p {
		font-size: 11px !important;
		line-height: 1.4;
		margin: 0 !important;
	}
	.pea_cook_wrapper #pea_cook_btn {
		padding: 6px 14px !important;
		font-size: 12px !important;
		margin-left: 6px;
	}
}

/* === PODSTRONY (page template) — oddech wokół treści === */
/* Globalny padding-top żeby treść nie chowała się pod sticky navbar (~110px). M1.6 quick fix z audytu A1. */
.site-content {
	padding-top: 140px;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.site-content { padding-top: 100px; }
}
.site-content .content-left-wrap,
.site-content .content-area,
.site-content .site-main {
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}
.site-content .entry-title {
	font-family: 'Playfair Display', serif;
	font-weight: 600;
	color: #08213a;
	margin-bottom: 24px;
	padding-top: 28px;
	line-height: 1.25;
}
.site-content .entry-content {
	color: #2a2a2a;
	line-height: 1.7;
	font-size: 16px;
	padding-bottom: 100px;
}
/* M1.10 quick fix z A3 — formularz kontaktowy ma własny margin-bottom, żeby button "WYŚLIJ WIADOMOŚĆ" miał oddech */
.contact-us .wpforms-form,
.contact-us .pirate_forms_wrap {
	margin-bottom: 30px;
}
.site-content .entry-content h2,
.site-content .entry-content h3,
.site-content .entry-content h4 {
	font-family: 'Playfair Display', serif;
	color: #08213a;
	margin-top: 32px;
	margin-bottom: 14px;
}
.site-content .entry-content ul,
.site-content .entry-content ol {
	padding-left: 24px;
	margin-bottom: 16px;
}
.site-content .entry-content ul li,
.site-content .entry-content ol li {
	margin-bottom: 6px;
}
.site-content .entry-content a {
	color: #08213a;
	text-decoration: underline;
}
.site-content .entry-content a:hover {
	color: #cccc99;
}
@media (max-width: 767px) {
	.site-content .content-left-wrap,
	.site-content .content-area,
	.site-content .site-main {
		padding-left: 16px;
		padding-right: 16px;
	}
	.site-content .entry-title { padding-top: 18px; font-size: 26px; }
	.site-content .entry-content { font-size: 15px; }
}

/* === PAGE CTA FOOTER — dodawany automatycznie na końcu każdej podstrony === */
.page-cta-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: linear-gradient(135deg, #08213a 0%, #0a2a4a 100%);
	color: #ffffff;
	padding: 32px 36px;
	border-radius: 12px;
	margin: 50px 0 30px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15);
}
.page-cta-text { flex: 1 1 280px; }
.page-cta-text h3 {
	font-family: 'Playfair Display', serif;
	color: #ffffff !important;
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px 0 !important;
}
.page-cta-text p {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 14px;
	margin: 0 !important;
	line-height: 1.5;
}
.page-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex-shrink: 0;
}
.page-cta-btn-primary {
	background: #cccc99 !important;
	color: #08213a !important;
	padding: 12px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.3px;
	text-decoration: none !important;
	transition: all 0.2s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.page-cta-btn-primary:hover {
	background: #ffffff !important;
	color: #08213a !important;
	transform: translateY(-1px);
}
.page-cta-btn-secondary {
	background: transparent;
	color: #ffffff !important;
	border: 1px solid rgba(204, 204, 153, 0.6);
	padding: 11px 22px;
	border-radius: 999px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.3px;
	text-decoration: none !important;
	transition: all 0.2s ease;
}
.page-cta-btn-secondary:hover {
	background: #cccc99;
	color: #08213a !important;
	border-color: #cccc99;
}
@media (max-width: 767px) {
	.page-cta-footer {
		flex-direction: column;
		text-align: center;
		padding: 26px 22px;
	}
	.page-cta-actions { justify-content: center; width: 100%; }
	.page-cta-btn-primary, .page-cta-btn-secondary {
		flex: 1 1 auto;
		text-align: center;
		min-width: 140px;
	}
}

/* Copyright pas pod stopką */
.copyright {
	background: #06182a !important;
}
.copyright p {
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 13px;
	margin: 0;
	padding: 12px 0;
}

/* === [M1.7] STRONA /porady-prawne-online ===
 * Reorganizacja: Hero lead, 3-krokowy proces z ikonami FA4, eleganckie dane bankowe,
 * formularz + FAQ accordion. Paleta: granat #08213a + złoty #cccc99 spójna z home. */

/* Ukryj domyślny entry-title strony (mamy własny hero) — tylko ID 70 */
.page-id-70 .site-content .entry-title { display: none; }
.page-id-70 .site-content .entry-content { padding-top: 0; }

/* Section title — wspólny dla wszystkich sekcji podstrony */
.online-advice-section-title {
	font-family: 'Playfair Display', serif !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	color: #08213a !important;
	text-align: center;
	margin: 0 0 16px 0 !important;
	padding-bottom: 18px;
	position: relative;
}
.online-advice-section-title:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 64px;
	height: 2px;
	background: #cccc99;
}

/* === HERO / LEAD === */
.online-advice-hero {
	max-width: 880px;
	margin: 0 auto 60px;
	text-align: center;
	padding: 20px 24px 0;
}
.online-advice-hero .online-advice-lead {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.6;
	color: #2a2a2a;
	font-weight: 400;
	margin: 0;
	letter-spacing: 0.2px;
}
.online-advice-hero .online-advice-lead:after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: #cccc99;
	margin: 28px auto 0;
}

/* === STEPS — 3 kolumny === */
.online-advice-steps {
	margin: 0 0 70px 0;
}
.online-advice-steps .online-advice-section-title {
	margin-bottom: 40px !important;
}
.online-advice-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.online-advice-step {
	position: relative;
	background: #ffffff;
	border: 1px solid rgba(8, 33, 58, 0.08);
	border-left: 4px solid #08213a;
	border-radius: 8px;
	padding: 36px 28px 28px;
	box-shadow: 0 4px 14px rgba(8, 33, 58, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-left-color 0.25s ease;
	text-align: left;
}
.online-advice-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(8, 33, 58, 0.14);
	border-left-color: #cccc99;
}
.online-advice-step-number {
	position: absolute;
	top: 16px;
	right: 22px;
	/* Rozszerzony font-stack — gdyby Playfair Display nie załadowało się, fallback na popularne serify z gwarantowanymi cyframi arabskimi zamiast generic "serif" który na niektórych OS-ach mapuje na font bez digit-glyphów. */
	font-family: 'Playfair Display', 'Georgia', 'Times New Roman', 'Times', serif;
	font-size: 38px;
	/* 600 zamiast 700 — 600 i 700 są w enqueue (functions.php:336), ale 600 ma szerszą pewność renderowania i ten sam efekt wizualny dla numerków watermark-like. */
	font-weight: 600;
	color: rgba(8, 33, 58, 0.08);
	line-height: 1;
	letter-spacing: -1px;
	/* Wymuś standardowe cyfry lining (zamiast old-style figures z niektórych serify). */
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1;
}
.online-advice-step-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(204, 204, 153, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	transition: background 0.25s ease;
}
.online-advice-step:hover .online-advice-step-icon {
	background: rgba(204, 204, 153, 0.28);
}
.online-advice-step-icon i {
	font-size: 28px;
	color: #cccc99;
	line-height: 1;
}
.online-advice-step-title {
	font-family: 'Playfair Display', serif !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #08213a !important;
	margin: 0 0 10px 0 !important;
}
.online-advice-step p {
	color: #444;
	font-size: 14.5px;
	line-height: 1.65;
	margin: 0;
}
@media (max-width: 991px) {
	.online-advice-steps-grid { grid-template-columns: 1fr; gap: 18px; }
	.online-advice-step { padding: 28px 24px 24px; }
}

/* === DANE BANKOWE — granat box ze złotym akcentem === */
.online-advice-bank-info {
	max-width: 760px;
	margin: 0 auto 70px;
}
.online-advice-bank-inner {
	display: flex;
	align-items: center;
	gap: 28px;
	background: linear-gradient(135deg, #08213a 0%, #0a2a4a 100%);
	border: 1px solid rgba(204, 204, 153, 0.35);
	border-radius: 12px;
	padding: 32px 36px;
	box-shadow: 0 10px 28px rgba(8, 33, 58, 0.18);
	position: relative;
	overflow: hidden;
}
.online-advice-bank-inner:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #cccc99;
}
.online-advice-bank-icon {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(204, 204, 153, 0.15);
	border: 1px solid rgba(204, 204, 153, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
}
.online-advice-bank-icon i {
	font-size: 26px;
	color: #cccc99;
	line-height: 1;
}
.online-advice-bank-content { flex: 1 1 auto; }
.online-advice-bank-label {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #cccc99;
	margin-bottom: 8px;
}
.online-advice-bank-number {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: 1.5px;
	margin-bottom: 12px;
	line-height: 1.2;
	word-spacing: 3px;
}
.online-advice-bank-recipient {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.5;
}
.online-advice-bank-recipient a {
	color: #cccc99 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.online-advice-bank-recipient a:hover {
	color: #ffffff !important;
}
@media (max-width: 767px) {
	.online-advice-bank-inner {
		flex-direction: column;
		text-align: center;
		gap: 18px;
		padding: 28px 22px;
	}
	.online-advice-bank-number { font-size: 18px; letter-spacing: 1px; }
}

/* === FORMULARZ — wrap === */
.online-advice-form-wrap {
	max-width: 820px;
	margin: 0 auto 70px;
	background: #ffffff;
	border: 1px solid rgba(8, 33, 58, 0.08);
	border-radius: 12px;
	padding: 40px 36px 32px;
	box-shadow: 0 6px 20px rgba(8, 33, 58, 0.06);
}
.online-advice-form-wrap .online-advice-section-title {
	margin-bottom: 14px !important;
}
.online-advice-form-lead {
	text-align: center;
	color: #555;
	font-size: 15px;
	max-width: 560px;
	margin: 0 auto 28px;
	line-height: 1.6;
}
/* WPForms restyling wewnątrz wrap (analogicznie do .contact-us z home) */
.online-advice-form-wrap .wpforms-container { margin: 0; }
.online-advice-form-wrap .wpforms-form .wpforms-field { padding: 0 0 14px 0; }
.online-advice-form-wrap .wpforms-form .wpforms-field input.wpforms-field-large,
.online-advice-form-wrap .wpforms-form .wpforms-field textarea.wpforms-field-large,
.online-advice-form-wrap .wpforms-form .wpforms-field input[type="text"],
.online-advice-form-wrap .wpforms-form .wpforms-field input[type="email"],
.online-advice-form-wrap .wpforms-form .wpforms-field textarea {
	background: #fafaf6 !important;
	border: 1px solid rgba(8, 33, 58, 0.18) !important;
	border-radius: 4px !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
	color: #08213a !important;
	font-family: 'Source Sans 3', system-ui, sans-serif !important;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-shadow: none !important;
}
.online-advice-form-wrap .wpforms-form .wpforms-field input:focus,
.online-advice-form-wrap .wpforms-form .wpforms-field textarea:focus {
	border-color: #cccc99 !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(204, 204, 153, 0.22) !important;
	outline: none !important;
}
.online-advice-form-wrap .wpforms-form .wpforms-field-gdpr-checkbox label,
.online-advice-form-wrap .wpforms-form .wpforms-field-checkbox label {
	color: #555 !important;
	font-size: 13px !important;
	line-height: 1.55;
	font-weight: 400;
}
.online-advice-form-wrap .wpforms-form .wpforms-submit-container {
	text-align: center;
	margin-top: 6px;
}
.online-advice-form-wrap .wpforms-form button[type="submit"].wpforms-submit {
	background: #cccc99 !important;
	color: #08213a !important;
	border: none !important;
	padding: 14px 38px !important;
	border-radius: 999px !important;
	font-family: 'Source Sans 3', system-ui, sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(8, 33, 58, 0.18) !important;
}
.online-advice-form-wrap .wpforms-form button[type="submit"].wpforms-submit:hover {
	background: #ffffff !important;
	color: #08213a !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(0,0,0,0.22) !important;
}
.online-advice-form-wrap .wpforms-required-label,
.online-advice-form-wrap .wpforms-form .wpforms-required {
	color: #b8860b !important;
}
@media (max-width: 767px) {
	.online-advice-form-wrap { padding: 28px 20px 22px; }
}

/* === FAQ — CSS-only accordion (details/summary) === */
.online-advice-faq {
	max-width: 820px;
	margin: 0 auto 50px;
}
.online-advice-faq .online-advice-section-title {
	margin-bottom: 32px !important;
}
.online-advice-faq-item {
	background: #ffffff;
	border: 1px solid rgba(8, 33, 58, 0.1);
	border-radius: 8px;
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.online-advice-faq-item:hover {
	border-color: rgba(204, 204, 153, 0.6);
	box-shadow: 0 4px 14px rgba(8, 33, 58, 0.08);
}
.online-advice-faq-item[open] {
	border-color: rgba(204, 204, 153, 0.7);
	box-shadow: 0 6px 18px rgba(8, 33, 58, 0.1);
}
.online-advice-faq-item summary {
	cursor: pointer;
	padding: 20px 56px 20px 24px;
	font-family: 'Playfair Display', serif;
	font-size: 17px;
	font-weight: 600;
	color: #08213a;
	position: relative;
	list-style: none;
	transition: background 0.2s ease;
}
.online-advice-faq-item summary::-webkit-details-marker { display: none; }
.online-advice-faq-item summary::marker { display: none; }
.online-advice-faq-item summary:hover {
	background: rgba(204, 204, 153, 0.06);
}
.online-advice-faq-item summary:focus-visible {
	outline: 2px solid #cccc99;
	outline-offset: 4px;
	border-radius: 4px;
}
.online-advice-faq-item summary:after {
	content: "+";
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(204, 204, 153, 0.18);
	color: #08213a;
	font-size: 22px;
	font-weight: 400;
	line-height: 28px;
	text-align: center;
	transition: all 0.25s ease;
}
.online-advice-faq-item[open] summary:after {
	content: "−";
	background: #cccc99;
	color: #08213a;
	transform: translateY(-50%) rotate(180deg);
}
.online-advice-faq-answer {
	padding: 0 24px 22px 24px;
	color: #444;
	font-size: 15px;
	line-height: 1.7;
	border-top: 1px solid rgba(204, 204, 153, 0.25);
	margin-top: 0;
	padding-top: 18px;
}
.online-advice-faq-answer p {
	margin: 0 0 8px 0;
}
.online-advice-faq-answer p:last-child { margin-bottom: 0; }
.online-advice-faq-answer a {
	color: #08213a;
	text-decoration: underline;
}
.online-advice-faq-answer a:hover {
	color: #cccc99;
}
@media (max-width: 767px) {
	.online-advice-faq-item summary {
		font-size: 15px;
		padding: 16px 50px 16px 18px;
	}
	.online-advice-faq-item summary:after {
		right: 14px;
		width: 26px;
		height: 26px;
		line-height: 24px;
		font-size: 20px;
	}
	.online-advice-faq-answer {
		padding: 14px 18px 18px 18px;
		font-size: 14px;
	}
	.online-advice-section-title { font-size: 24px !important; }
}

/* === [M1.8] MAP AUTO-LOAD — fade-in iframe po window.load === */
.map-facade.map-loading iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 400px;
	border: 0;
	display: block;
	opacity: 0;
	transition: opacity 0.6s ease;
	z-index: 0;
}
.map-facade.map-loaded iframe { opacity: 1; }
.map-facade .map-facade-overlay { transition: opacity 0.4s ease; }
.map-facade.map-loaded .map-facade-overlay {
	opacity: 0;
	pointer-events: none;
}

/* === [M1.11+M3] STRONA /kancelaria — założycielka + specjalizacje === */
/* Scope wszystkich klas do .page-id-57, żeby nie wpływały na inne strony */

/* Wąska kolumna body text (~760px) dla lepszej czytelności (R2 P3) */
.page-id-57 .entry-content > p {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

/* H1/H2 tytuł strony — elegancka hierarchia */
.page-id-57 .entry-content > h2:first-of-type {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 34px;
	color: #08213a;
	text-align: center;
	margin: 0 0 28px 0;
	line-height: 1.2;
	position: relative;
	padding-bottom: 18px;
}
.page-id-57 .entry-content > h2:first-of-type:after {
	content: "";
	display: block;
	width: 70px;
	height: 3px;
	background: #cccc99;
	margin: 18px auto 0;
	border-radius: 2px;
}
.page-id-57 .entry-content img.aligncenter {
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(8, 33, 58, 0.18);
	margin-bottom: 36px !important;
}

/* Lead paragraph — większy font + gold left accent */
.page-id-57 .kancelaria-lead {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 19px;
	line-height: 1.7;
	color: #08213a;
	background: #fafaf3;
	border-left: 4px solid #cccc99;
	padding: 26px 30px;
	margin: 0 0 50px 0;
	border-radius: 0 6px 6px 0;
	box-shadow: 0 2px 8px rgba(8, 33, 58, 0.06);
}
.page-id-57 .kancelaria-lead b,
.page-id-57 .kancelaria-lead strong {
	color: #08213a;
	font-weight: 700;
}

/* Specjalizacje — sekcja z tytułem */
.page-id-57 .kancelaria-specs-title {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 26px;
	color: #08213a;
	text-align: center;
	margin: 60px 0 36px 0;
	position: relative;
	padding-bottom: 14px;
}
.page-id-57 .kancelaria-specs-title:after {
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	background: #cccc99;
	margin: 14px auto 0;
	border-radius: 2px;
}

/* 3-col grid specjalizacji */
.page-id-57 .kancelaria-specs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0 0 60px 0;
}
.page-id-57 .kancelaria-spec-card {
	background: #ffffff;
	border: 1px solid rgba(8, 33, 58, 0.08);
	border-top: 3px solid #cccc99;
	border-radius: 8px;
	padding: 30px 24px;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 2px 8px rgba(8, 33, 58, 0.05);
}
.page-id-57 .kancelaria-spec-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(8, 33, 58, 0.12);
}
.page-id-57 .kancelaria-spec-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #08213a;
	color: #cccc99;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
	font-size: 26px;
	transition: background 0.25s ease, color 0.25s ease;
}
.page-id-57 .kancelaria-spec-card:hover .kancelaria-spec-icon {
	background: #cccc99;
	color: #08213a;
}
.page-id-57 .kancelaria-spec-card .fa {
	line-height: 1;
}
.page-id-57 .kancelaria-spec-card h4 {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 19px;
	color: #08213a;
	margin: 0 0 12px 0;
	line-height: 1.3;
}
.page-id-57 .kancelaria-spec-card p {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.65;
	color: #4a5563;
	margin: 0;
}
.page-id-57 .kancelaria-spec-card a {
	color: #08213a;
	text-decoration: underline;
	text-decoration-color: rgba(204, 204, 153, 0.7);
	text-underline-offset: 3px;
}
.page-id-57 .kancelaria-spec-card a:hover {
	color: #cccc99;
}

/* Body paragraphs — elegancka typografia */
.page-id-57 .entry-content > p {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: #2a3744;
	margin: 0 0 22px 0;
}

/* Pull quote — italic + gold left border + duży cudzysłów */
.page-id-57 .founder-pull-quote {
	position: relative;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: #08213a;
	background: transparent;
	border: none;
	border-left: 4px solid #cccc99;
	margin: 40px 0 40px 30px;
	padding: 12px 0 12px 36px;
	max-width: 720px;
}
.page-id-57 .founder-pull-quote:before {
	content: "\201C";
	position: absolute;
	left: -8px;
	top: -28px;
	font-family: 'Playfair Display', serif;
	font-size: 90px;
	line-height: 1;
	color: #cccc99;
	opacity: 0.55;
	pointer-events: none;
}

/* Founder section override — wygaszone tło, padding 60px, scope tylko /kancelaria */
.page-id-57 .founder-section {
	background: transparent;
	padding: 30px 0 50px 0;
	margin: 30px 0;
}
.page-id-57 .founder-section .container {
	width: 100%;
	padding: 0;
}
.page-id-57 .founder-card {
	background: linear-gradient(135deg, #08213a 0%, #0d2e4f 100%);
	max-width: 100%;
}

/* su-note polish na /kancelaria */
.page-id-57 .su-note {
	border: 1px solid rgba(204, 204, 153, 0.5) !important;
	background: #fafaf3 !important;
	border-radius: 8px !important;
	padding: 22px 26px !important;
	margin: 30px 0 !important;
	box-shadow: 0 2px 8px rgba(8, 33, 58, 0.06) !important;
}
.page-id-57 .su-note p {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #08213a;
	margin: 0;
}

/* Podpis */
.page-id-57 .entry-content > p[style*="text-align: right"] {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 16px;
	color: #08213a;
	margin-top: 24px;
}
.page-id-57 .entry-content > p[style*="text-align: right"] a {
	color: #08213a;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid #cccc99;
}
.page-id-57 .entry-content > p[style*="text-align: right"] a:hover {
	color: #cccc99;
}

/* Mobile — responsywność */
@media (max-width: 991px) {
	.page-id-57 .kancelaria-specs {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.page-id-57 .entry-content > h2:first-of-type { font-size: 26px; }
	.page-id-57 .kancelaria-lead {
		font-size: 16.5px;
		padding: 20px 22px;
		margin-bottom: 36px;
	}
	.page-id-57 .kancelaria-specs {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-bottom: 40px;
	}
	.page-id-57 .kancelaria-specs-title {
		font-size: 22px;
		margin: 40px 0 24px 0;
	}
	.page-id-57 .founder-pull-quote {
		font-size: 18px;
		margin: 30px 0;
		padding-left: 24px;
	}
	.page-id-57 .founder-pull-quote:before {
		font-size: 64px;
		top: -18px;
	}
}

/* === [M1.13 + M1.10] Sekcja #contact — 2-col layout + dane kontaktowe === */
.contact-us .page-contact-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
	margin-top: 24px;
}
.contact-us .contact-form-col {
	flex: 1 1 60%;
	min-width: 280px;
}
.contact-us .contact-info-col {
	flex: 1 1 35%;
	min-width: 240px;
	padding: 28px;
	background: #08213a;
	color: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}
.contact-us .contact-info-col h3 {
	color: #cccc99;
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	margin: 0 0 18px;
	border-bottom: 1px solid rgba(204, 204, 153, 0.25);
	padding-bottom: 10px;
}
.contact-us .contact-info-col p {
	color: #d9d4c0;
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.55;
}
.contact-us .contact-info-col p i.fa {
	color: #cccc99;
	margin-right: 10px;
	width: 18px;
	text-align: center;
}
.contact-us .contact-info-col a {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s ease;
}
.contact-us .contact-info-col a:hover,
.contact-us .contact-info-col a:focus {
	color: #cccc99;
	text-decoration: underline;
}
.contact-us .contact-info-col .contact-info-note {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(204, 204, 153, 0.25);
	font-style: italic;
	color: #cccc99;
	font-size: 14px;
}
@media (max-width: 991px) {
	.contact-us .page-contact-layout {
		flex-direction: column;
		gap: 28px;
	}
	.contact-us .contact-form-col,
	.contact-us .contact-info-col {
		flex: 1 1 100%;
	}
}

/* === [M1.12b] TRUSTINDEX (Google Reviews) — dopasowanie do palety granat/cccc99 === */
/* Selektory wykryte w renderze: .ti-widget, .ti-widget-container, .ti-reviews-container,
   .ti-review-item, .ti-inner, .ti-review-header, .ti-profile-img, .ti-profile-details,
   .ti-name, .ti-date, .ti-stars, .ti-star (.f wypełniona, .e pusta, .h pół), .ti-review-content,
   .ti-read-more, .ti-controls .ti-next/.ti-prev, .ti-verified-by-row (branding — zostaje, license Free). */

/* Kontener widgetu — przezroczyste tło, dopasowane do granatowej sekcji */
.ti-widget,
.ti-widget.ti-goog,
.ti-widget.ti-goog .ti-widget-container {
	background: transparent !important;
	color: #ffffff !important;
}

/* M1.12b v2: białe karty (Trustindex default) + granatowy tekst dla czytelności
 * (poprzednia próba dark glass nie wygrywała ze specificity pluginu, screenshot pokazał
 * białe karty z białym tekstem = niewidoczne). Białe karty na granat sekcji = czysty kontrast. */
.ti-widget.ti-goog .ti-review-item .ti-inner {
	background: #ffffff !important;
	border: 1px solid rgba(8, 33, 58, 0.08) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;
	padding: 22px 22px 18px !important;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.ti-widget.ti-goog .ti-review-item .ti-inner:hover {
	border-color: rgba(204, 204, 153, 0.7) !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25) !important;
	transform: translateY(-2px);
}

/* Nazwa reviewera — granat na białej karcie */
.ti-widget.ti-goog .ti-widget-container .ti-name,
.ti-widget.ti-goog .ti-widget-container .ti-name a {
	color: #08213a !important;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
	font-weight: 700 !important;
}

/* Data recenzji — szary 60% */
.ti-widget.ti-goog .ti-widget-container .ti-date {
	color: rgba(8, 33, 58, 0.55) !important;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
}

/* Gwiazdki — Trustindex 13.x używa <trustindex-image data-imgurl="star/f.svg">
 * (SVG), poprzedni CSS shape z `background: #cccc99` robił z każdej gwiazdki
 * żółty kwadrat zasłaniający SVG → wygląd "★ w kwadraciku". Pozwalamy SVG
 * wyświetlić się natywnie (Google: pomarańczowo-złote gwiazdki). */
.ti-widget.ti-goog .ti-star,
.ti-widget.ti-goog trustindex-image.ti-star,
.ti-widget.ti-goog .ti-stars .ti-star,
.ti-widget.ti-goog .ti-star:not(.e):not(.h),
.ti-widget.ti-goog .ti-star.h,
.ti-widget.ti-goog .ti-star.e {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Treść recenzji — ciemny granat-szary, czytelne */
.ti-widget.ti-goog .ti-review-content,
.ti-widget.ti-goog .ti-review-text-container {
	color: #2a3744 !important;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* "Czytaj więcej" / Read more — akcent kremowo-złoty */
.ti-widget.ti-goog .ti-read-more span {
	color: #cccc99 !important;
	opacity: 1 !important;
	font-weight: 600 !important;
}
.ti-widget.ti-goog .ti-read-more span:hover {
	color: #e6e6b3 !important;
	text-decoration: underline !important;
}

/* Strzałki karuzeli — granat z akcentem cccc99 */
.ti-widget.ti-goog .ti-controls .ti-next,
.ti-widget.ti-goog .ti-controls .ti-prev {
	background-color: rgba(8, 33, 58, 0.85) !important;
	outline-color: rgba(204, 204, 153, 0.4) !important;
	transition: background-color 200ms ease-out, outline-color 200ms ease-out !important;
}
.ti-widget.ti-goog .ti-controls .ti-next:before,
.ti-widget.ti-goog .ti-controls .ti-prev:before {
	border-color: #cccc99 !important;
}
.ti-widget.ti-goog .ti-controls .ti-next:hover,
.ti-widget.ti-goog .ti-controls .ti-next:focus,
.ti-widget.ti-goog .ti-controls .ti-prev:hover,
.ti-widget.ti-goog .ti-controls .ti-prev:focus {
	background-color: #cccc99 !important;
	outline-color: #cccc99 !important;
}
.ti-widget.ti-goog .ti-controls .ti-next:hover:before,
.ti-widget.ti-goog .ti-controls .ti-next:focus:before,
.ti-widget.ti-goog .ti-controls .ti-prev:hover:before,
.ti-widget.ti-goog .ti-controls .ti-prev:focus:before {
	border-color: #08213a !important;
}

/* Branding "Zweryfikowane przez Trustindex" — ZOSTAJE (license Free), przyciemnione */
.ti-widget.ti-goog .ti-verified-by-row {
	opacity: 0.35 !important;
	font-size: 11px !important;
	transition: opacity 0.3s ease;
}
.ti-widget.ti-goog .ti-verified-by-row:hover {
	opacity: 0.7 !important;
}
.ti-widget.ti-goog .ti-verified-by-row > .ti-inner {
	background-color: rgba(8, 33, 58, 0.5) !important;
	border: 1px solid rgba(204, 204, 153, 0.25) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 11px !important;
	box-shadow: none !important;
}
.ti-widget.ti-goog .ti-verified-by-row .ti-info-icon {
	background-color: rgba(255, 255, 255, 0.85) !important;
}
.ti-widget.ti-goog .ti-verified-by-row .ti-disclaimer {
	color: #08213a !important;
}

/* Tooltipy (np. ikona platformy Google) — dopasuj backdrop */
.ti-widget.ti-goog .ti-tooltip {
	background-color: rgba(8, 33, 58, 0.95) !important;
	color: #ffffff !important;
	border: 1px solid rgba(204, 204, 153, 0.3) !important;
}

/* === [M1.12c] HOME — Google Reviews compact section === */
.google-reviews-section { background: #08213a; padding: 70px 0 60px; }
.gr-section-header { text-align: center; margin-bottom: 36px; }
.gr-eyebrow { color: #cccc99; font-size: 12px; letter-spacing: 2.4px; text-transform: uppercase; font-family: 'Source Sans 3', sans-serif; font-weight: 600; display: block; margin-bottom: 8px; }
.gr-section-title { color: #fff; font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 500; margin: 0 0 18px; }
.gr-summary { display: inline-flex; gap: 14px; align-items: center; flex-wrap: wrap; justify-content: center; }
.gr-stars { color: #cccc99; font-size: 18px; letter-spacing: 2px; }
.gr-rating-number { color: #fff; font-size: 18px; font-weight: 600; }
.gr-rating-count a { color: #cccc99; text-decoration: none; font-size: 14px; font-weight: 500; letter-spacing: 0.5px; }
.gr-rating-count a:hover { color: #fff; text-decoration: underline; }
.gr-widget-wrap { max-width: 1200px; margin: 0 auto; }
@media (max-width: 767px) {
	.google-reviews-section { padding: 50px 0; }
	.gr-section-title { font-size: 26px; }
}

/* === [M1.12d] STRONA /referencje — hybryda GR + case studies === */

/* Wrapper strony — ogranicza szerokość treści wewnątrz konstrukcji theme'u */
.page-id-200 .referencje-page { color: #08213a; }

/* Domyślne style entry-content tematu bywają wąskie — pozwól pełnej szerokości dla GR section */
.page-id-200 .entry-content > .referencje-page { max-width: none; }

/* ---------- Sekcja Google Reviews (góra) ---------- */
.referencje-gr-section {
	background: #08213a;
	background-image: linear-gradient(180deg, #08213a 0%, #0a2949 100%);
	padding: 70px 0 60px;
	margin: 0 0 0;
	border-radius: 6px;
}
.referencje-gr-section .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.referencje-gr-header { text-align: center; margin-bottom: 36px; }
.referencje-eyebrow {
	display: block;
	color: #cccc99;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.referencje-gr-title {
	color: #fff !important;
	font-family: 'Playfair Display', serif;
	font-size: 32px;
	font-weight: 500;
	margin: 0 0 18px;
	line-height: 1.2;
}
.referencje-gr-title:before,
.referencje-gr-title:after { display: none !important; }
.referencje-gr-summary {
	display: inline-flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}
.referencje-gr-stars { color: #cccc99; font-size: 18px; letter-spacing: 2px; }
.referencje-gr-rating-number { color: #fff; font-size: 18px; font-weight: 600; }
.referencje-gr-rating-count a {
	color: #cccc99 !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.5px;
}
.referencje-gr-rating-count a:hover { color: #fff !important; text-decoration: underline; }
.referencje-gr-widget-wrap { max-width: 1200px; margin: 0 auto; }

/* ---------- Divider z napisem ---------- */
.referencje-divider {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 60px auto 40px;
	max-width: 1200px;
	padding: 0 24px;
}
.referencje-divider:before,
.referencje-divider:after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(204, 204, 153, 0.45);
}
.referencje-divider span {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	color: #08213a;
	letter-spacing: 0.5px;
	white-space: nowrap;
}

/* ---------- Sekcja case studies ---------- */
.referencje-cases-section { max-width: 1200px; margin: 0 auto 20px; padding: 0 24px; }
.referencje-cases-intro {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 40px;
}
.referencje-cases-intro p {
	font-family: 'Source Sans 3', sans-serif;
	color: rgba(8, 33, 58, 0.75);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
.referencje-cases-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.referencje-case-card {
	position: relative;
	background: #f6f5f0;
	border: 1px solid rgba(8, 33, 58, 0.08);
	border-left: 3px solid #cccc99;
	border-radius: 4px;
	padding: 28px 30px 24px;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	display: flex;
	flex-direction: column;
}
.referencje-case-card:hover {
	box-shadow: 0 8px 24px rgba(8, 33, 58, 0.08);
	transform: translateY(-2px);
}
.referencje-case-card:before {
	content: "\201C"; /* lewy podwójny cudzysłów */
	position: absolute;
	top: 6px;
	right: 18px;
	font-family: 'Playfair Display', serif;
	font-size: 64px;
	line-height: 1;
	color: rgba(204, 204, 153, 0.45);
	pointer-events: none;
}

.referencje-case-header { margin-bottom: 14px; }
.referencje-case-eyebrow {
	display: block;
	color: #848460;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.referencje-case-title {
	font-family: 'Playfair Display', serif;
	color: #08213a !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
	padding: 0;
}
.referencje-case-title:before,
.referencje-case-title:after { display: none !important; }

.referencje-case-body {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15.5px;
	line-height: 1.65;
	color: #2a3a4f;
	font-style: normal;
	quotes: none;
}
.referencje-case-body p { margin: 0 0 10px; }
.referencje-case-body p:last-child { margin-bottom: 0; }
.referencje-case-body:before,
.referencje-case-body:after { content: none; }

.referencje-case-footer {
	margin-top: auto;
	text-align: right;
	padding-top: 12px;
	border-top: 1px dashed rgba(8, 33, 58, 0.1);
}
.referencje-case-author {
	font-family: 'Source Sans 3', sans-serif;
	font-style: italic;
	font-size: 14px;
	color: rgba(8, 33, 58, 0.6);
	letter-spacing: 0.3px;
}

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.referencje-cases-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 767px) {
	.referencje-gr-section { padding: 50px 0 44px; border-radius: 0; }
	.referencje-gr-title { font-size: 26px; }
	.referencje-divider { margin: 44px auto 30px; gap: 16px; }
	.referencje-divider span { font-size: 18px; white-space: normal; text-align: center; }
	.referencje-case-card { padding: 24px 22px 20px; }
	.referencje-case-card:before { font-size: 50px; top: 4px; right: 14px; }
	.referencje-case-title { font-size: 18px; }
	.referencje-case-body { font-size: 15px; }
}

/* === [M1.14] HOME — Credentials / Trust badges === */
.credentials-section { background: #f6f5f0; padding: 70px 0 60px; }
.credentials-header { text-align: center; margin-bottom: 40px; }
.credentials-eyebrow { color: #cccc99; font-size: 12px; letter-spacing: 2.4px; text-transform: uppercase; font-family: 'Source Sans 3', sans-serif; font-weight: 600; display: block; margin-bottom: 8px; }
.credentials-title { color: #08213a; font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 500; margin: 0; }
.credentials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 980px; margin: 0 auto; }
.credentials-card { background: #fff; border: 1px solid rgba(8,33,58,0.08); border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,0.04); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.credentials-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.08); border-color: rgba(204,204,153,0.4); }
.credentials-card-link { display: flex; align-items: center; gap: 20px; padding: 24px; text-decoration: none !important; color: inherit; }
.credentials-card-link:hover, .credentials-card-link:focus { text-decoration: none !important; color: inherit; }
.credentials-logo { width: 80px; height: 80px; object-fit: contain; flex-shrink: 0; }
.credentials-logo-fallback { width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: #08213a; color: #cccc99; font-weight: 700; font-family: 'Playfair Display', serif; border-radius: 6px; font-size: 20px; letter-spacing: 1px; }
.credentials-logo-google { width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: #fff; border: 2px solid #cccc99; border-radius: 50%; }
.credentials-logo-google .fa { color: #4285F4; font-size: 38px; }
.credentials-card-body { flex: 1; min-width: 0; }
.credentials-card-title { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; color: #08213a; margin: 0 0 6px; line-height: 1.3; }
.credentials-card-desc { color: #555; font-size: 13.5px; line-height: 1.5; margin: 0 0 10px; }
.credentials-card-cta { color: #cccc99; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
@media (max-width: 767px) {
	.credentials-section { padding: 50px 0 40px; }
	.credentials-title { font-size: 24px; }
	.credentials-grid { grid-template-columns: 1fr; gap: 18px; }
	.credentials-card-link { flex-direction: column; text-align: center; padding: 22px 18px; }
}

/* === [M1.9] FOOTER — copyright bar redesign ===
 * Opcja C: copyright wyrzucony z 4-kolumnowego bottom rowa do osobnego pasa pod spodem.
 * 3 boxy (adres, e-mail, telefon) tworzą symetryczny 3-col grid z ikonami nad tekstem,
 * copyright dostaje własny pełnoszerokościowy pas oddzielony cienką złotą linią. */

/* Bottom row — 3 boxy danych firmy, równe kolumny, ikony na górze */
#footer .footer-box-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: start;
	padding: 36px 0 30px;
}
/* nadpisujemy bootstrapowe col-md-* (z PHP) tak, by grid działał czysto */
#footer .footer-box-wrap > .footer-box {
	float: none;
	width: auto;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
}
#footer .footer-box-wrap .footer-box .icon-top {
	margin: 0 0 4px;
	font-size: 28px;
	color: #cccc99;
}
#footer .footer-box-wrap .footer-box .icon-top img {
	max-height: 32px;
	width: auto;
	opacity: 0.95;
}
#footer .footer-box-wrap .footer-box .logics-footer-address,
#footer .footer-box-wrap .footer-box .logics-footer-email,
#footer .footer-box-wrap .footer-box .logics-footer-phone {
	color: rgba(255,255,255,0.82);
	font-size: 14px;
	line-height: 1.55;
}
#footer .footer-box-wrap .footer-box a {
	color: rgba(255,255,255,0.82);
	transition: color 0.2s ease;
}
#footer .footer-box-wrap .footer-box a:hover {
	color: #cccc99;
	text-decoration: none;
}

/* Copyright bar — osobny pas, cienka złota kreska od góry */
#footer .footer-copyright-bar {
	border-top: 1px solid rgba(204, 204, 153, 0.18);
	padding: 22px 0 6px;
	text-align: center;
}
#footer .footer-copyright-bar .copyright-content {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.55;
}
#footer .footer-copyright-bar .copyright-content #logics-copyright {
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.55;
	background: transparent;
}
#footer .footer-copyright-bar .copyright-content strong {
	color: rgba(255, 255, 255, 0.85);
	font-weight: 500;
}
/* socials w pasie copyright, jeśli kiedyś wrócą */
#footer .footer-copyright-bar ul.social {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	display: flex;
	gap: 14px;
	justify-content: center;
}
#footer .footer-copyright-bar ul.social li a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	transition: color 0.2s ease;
}
#footer .footer-copyright-bar ul.social li a:hover { color: #cccc99; }

/* Mobile — kolumna pionowa, kompaktowy padding */
@media (max-width: 767px) {
	#footer .footer-box-wrap {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 28px 0 22px;
	}
	#footer .footer-copyright-bar { padding: 18px 0 6px; }
	#footer .footer-copyright-bar .copyright-content,
	#footer .footer-copyright-bar .copyright-content #logics-copyright {
		font-size: 12.5px;
	}
}

/* === [M1.6 v2 / F1] STRONA /uslugi-prawne — refactor === */
.page-id-72 .uslugi-prawne-page {
	font-family: "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #1f2937;
}

.page-id-72 .uslugi-prawne-page * {
	box-sizing: border-box;
}

/* ---- HERO ---- */
.page-id-72 .uslugi-hero {
	background: #ffffff;
	padding: 70px 24px 50px;
}
.page-id-72 .uslugi-hero-inner {
	max-width: 1080px;
	margin: 0 auto;
	text-align: center;
}
.page-id-72 .uslugi-eyebrow {
	display: inline-block;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #cccc99;
	margin-bottom: 14px;
}
.page-id-72 .uslugi-section-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(26px, 3vw, 32px);
	font-weight: 500;
	color: #08213a;
	margin: 0 0 22px;
	position: relative;
	padding-bottom: 18px;
	line-height: 1.25;
}
.page-id-72 .uslugi-section-title:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 56px;
	height: 2px;
	background: #cccc99;
}
.page-id-72 .uslugi-lead {
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
	font-size: clamp(17px, 1.6vw, 19px);
	color: #4a5563;
	line-height: 1.7;
	max-width: 980px;
	margin: 0 auto;
}

/* ---- GRID SECTION ---- */
.page-id-72 .uslugi-grid-section {
	background: #fafaf3;
	padding: 70px 24px;
}
.page-id-72 .uslugi-grid {
	max-width: 1340px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}
@media (max-width: 767px) {
	.page-id-72 .uslugi-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.page-id-72 .uslugi-hero { padding: 50px 20px 36px; }
	.page-id-72 .uslugi-grid-section { padding: 50px 20px; }
}

/* ---- CARD ---- */
.page-id-72 .usluga-card {
	background: #ffffff;
	border: 1px solid rgba(8, 33, 58, 0.08);
	border-left: 3px solid transparent;
	border-radius: 8px;
	padding: 32px 28px;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-left-color 0.28s ease;
	display: flex;
	flex-direction: column;
}
.page-id-72 .usluga-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(8, 33, 58, 0.10);
	border-left-color: #cccc99;
}
.page-id-72 .usluga-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(8, 33, 58, 0.08);
	margin-bottom: 18px;
	transition: background 0.28s ease, color 0.28s ease;
}
.page-id-72 .usluga-icon-wrap .fa {
	font-size: 24px;
	color: #cccc99;
	transition: color 0.28s ease;
	line-height: 1;
}
.page-id-72 .usluga-card:hover .usluga-icon-wrap {
	background: #08213a;
}
.page-id-72 .usluga-card:hover .usluga-icon-wrap .fa {
	color: #cccc99;
}
.page-id-72 .usluga-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	color: #08213a;
	margin: 0 0 12px;
	line-height: 1.3;
}
.page-id-72 .usluga-list {
	list-style: none;
	padding-left: 0;
	margin: 0 0 18px;
	flex-grow: 1;
}
.page-id-72 .usluga-list li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 8px;
	color: #4a5563;
	font-size: 14.5px;
	line-height: 1.55;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
}
.page-id-72 .usluga-list li:before {
	content: "\2022";
	position: absolute;
	left: 0;
	top: 0;
	color: #cccc99;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.55;
}
.page-id-72 .usluga-list li a {
	color: #4a5563;
	text-decoration: underline;
	text-decoration-color: rgba(204, 204, 153, 0.5);
	text-underline-offset: 2px;
	transition: color 0.2s ease;
}
.page-id-72 .usluga-list li a:hover {
	color: #08213a;
	text-decoration-color: #cccc99;
}
.page-id-72 .usluga-cta {
	display: inline-block;
	margin-top: 18px;
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #cccc99;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}
.page-id-72 .usluga-cta span {
	display: inline-block;
	margin-left: 4px;
	transition: transform 0.2s ease;
}
.page-id-72 .usluga-cta:hover {
	color: #08213a;
	text-decoration: none;
}
.page-id-72 .usluga-cta:hover span {
	transform: translateX(4px);
}

/* ---- WHY US ---- */
.page-id-72 .uslugi-why {
	background: #ffffff;
	padding: 70px 24px;
}
.page-id-72 .uslugi-why-grid {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}
@media (max-width: 767px) {
	.page-id-72 .uslugi-why { padding: 50px 20px; }
	.page-id-72 .uslugi-why-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}
.page-id-72 .uslugi-why-item {
	text-align: center;
	padding: 24px 18px;
}
.page-id-72 .uslugi-why-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.page-id-72 .uslugi-why-icon .fa {
	font-size: 40px;
	color: #cccc99;
	line-height: 1;
}
.page-id-72 .uslugi-why-item h4 {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 17px;
	font-weight: 600;
	color: #08213a;
	margin: 0 0 10px;
	line-height: 1.3;
}
.page-id-72 .uslugi-why-item p {
	font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
	font-size: 14px;
	color: #4a5563;
	line-height: 1.6;
	margin: 0;
}

/* ---- Ukryj stary banner i artefakty su_service jeśli zostaną w cache ---- */
.page-id-72 .entry-content > .entry-title:first-child,
.page-id-72 .entry-content > p:first-child img[src*="kancelaria-1024x347"] {
	display: none;
}
/* === /[M1.6 v2 / F1] === */

/* === [F2 / R1 HIGH fixes] HOME palette overrides — hero CTA, focus, about-us ===
 * Cel: przebić WP custom CSS (theme_mods) wstrzykujący hardcoded #003366 / #cccccc
 * łamiące paletę granat #08213a + gold #cccc99.
 * Specificity: prefiksy body / .home + !important, żeby wygrać z inline theme_mods.
 */

/* --- Hero CTA: primary "UMÓW KONSULTACJĘ" (gold), secondary "ZOBACZ USŁUGI" (outline) --- */
body .big-title-container .btn.red-btn,
body .big-title-container a.red-btn,
body .big-title-container a.btn.red-btn,
.home .big-title-container .btn.red-btn {
	background: #cccc99 !important;
	background-color: #cccc99 !important;
	color: #08213a !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
	transition: all 0.25s ease !important;
}
body .big-title-container .btn.red-btn:hover,
body .big-title-container a.red-btn:hover,
.home .big-title-container .btn.red-btn:hover {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #08213a !important;
	transform: translateY(-1px);
}
body .big-title-container .btn.blue-btn,
body .big-title-container a.blue-btn,
body .big-title-container a.btn.blue-btn,
.home .big-title-container .btn.blue-btn {
	background: transparent !important;
	background-color: transparent !important;
	color: #ffffff !important;
	border: 1.5px solid #cccc99 !important;
	box-shadow: none !important;
	transition: all 0.25s ease !important;
}
body .big-title-container .btn.blue-btn:hover,
body .big-title-container a.blue-btn:hover,
.home .big-title-container .btn.blue-btn:hover {
	background: #cccc99 !important;
	background-color: #cccc99 !important;
	color: #08213a !important;
	border-color: #cccc99 !important;
	transform: translateY(-1px);
}

/* --- Sekcja .focus (Zakres usług) — białe nagłówki, jasne body --- */
body .focus .section-header h2,
body .focus .section-header h6,
.home .focus .section-header h2,
.home .focus .section-header h6 {
	color: #ffffff !important;
}
body .focus .focus-box p,
body .focus .focus-box .focus-box-text,
.home .focus .focus-box p,
.home .focus .focus-box .focus-box-text {
	color: rgba(255, 255, 255, 0.82) !important;
}
body .focus .focus-box h4,
.home .focus .focus-box h4 {
	color: #ffffff !important;
}

/* --- Sekcja .about-us (Kancelaria) — ciepły off-white body + ghost-gold button --- */
body .about-us p,
.home .about-us p {
	color: #d9d4c0 !important;
}
body .about-us .btn-about,
body .about-us a.btn-about,
body section.about-us a.btn-about,
.home .about-us .btn-about {
	background: transparent !important;
	background-color: transparent !important;
	color: #ffffff !important;
	border: 1.5px solid #cccc99 !important;
	padding: 12px 28px !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	font-size: 13px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	display: inline-block !important;
	box-shadow: none !important;
}
body .about-us .btn-about:hover,
body .about-us a.btn-about:hover,
.home .about-us .btn-about:hover {
	background: #cccc99 !important;
	background-color: #cccc99 !important;
	color: #08213a !important;
	border-color: #cccc99 !important;
	transform: translateY(-1px);
}

/* === [F2.1] Section headers + button bg override dla contact-us / about-us — bije theme_mods 0,2,1 === */
/* About-us section header — białe nagłówki na granat (theme_mods #cccccc przegrywa) */
body .about-us .section-header h2,
body .about-us .section-header h6,
.home .about-us .section-header h2,
.home .about-us .section-header h6 {
	color: #ffffff !important;
}

/* Contact-us section header — analogicznie */
body .contact-us .section-header h2,
body .contact-us .section-header h6,
body .contact-us .section-header h2,
body .contact-us .section-header h6 {
	color: #ffffff !important;
}

/* Contact-us submit button — primary gold, hover white (zamiast oliwka #848460 / niebieski #003366) */
body .contact-us button[type="submit"],
body .contact-us input[type="submit"],
body .contact-us .pirate-forms-submit-button,
body .contact-us button[type="submit"] {
	background: #cccc99 !important;
	background-color: #cccc99 !important;
	color: #08213a !important;
	border: none !important;
	padding: 14px 38px !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
body .contact-us button[type="submit"]:hover,
body .contact-us input[type="submit"]:hover,
body .contact-us .pirate-forms-submit-button:hover,
body .contact-us button[type="submit"]:hover {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #08213a !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.22) !important;
}

/* Footer company-details / links — ciepły off-white zamiast szarego #cccccc */
body #footer .footer-box.company-details,
body #footer .footer-box.company-details a,
body #footer .footer-box.company-details p,
body #footer .links,
body #footer .links a,
body #footer .links p {
	color: #d9d4c0 !important;
}
body #footer .footer-box.company-details a:hover,
body #footer .links a:hover {
	color: #cccc99 !important;
}

/* Copyright bar — granat dark zamiast neutralnego #333333 */
body .copyright,
body .footer-copyright-bar {
	background: #06182a !important;
	background-color: #06182a !important;
}

/* Fix dead code z F2: focus-box ma <h5> nie <h4> */
body .focus .focus-box h5,
.home .focus .focus-box h5 {
	color: #ffffff !important;
}
/* === /[F2.1] === */
/* === /[F2 / R1 HIGH fixes] === */

/* === [F3] HERO TRUST BADGES — Orły Prawa + Google === */
.hero-trust-badges {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 36px;
    flex-wrap: wrap;
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 10px 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(204, 204, 153, 0.35);
    border-radius: 999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.25s ease;
}
.hero-badge:hover {
    background: rgba(204, 204, 153, 0.2);
    border-color: rgba(204, 204, 153, 0.7);
    transform: translateY(-2px);
}
.hero-badge img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    flex-shrink: 0;
}
.hero-badge-fallback {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border-radius: 50%;
    background: #cccc99;
    color: #08213a;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}
.hero-badge-fallback strong {
    font-size: 11px;
    letter-spacing: 0.5px;
}
.hero-badge-fallback small {
    font-size: 8px;
    letter-spacing: 1px;
    margin-top: 1px;
}
.hero-badge-icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-badge-icon .fa-google {
    color: #4285F4;
    font-size: 20px;
}
.hero-badge-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    text-align: left;
}
.hero-badge-label {
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    font-family: 'Source Sans 3', sans-serif;
}
.hero-badge-stars {
    color: #cccc99;
    letter-spacing: 1px;
    margin-right: 4px;
}
.hero-badge-source {
    font-size: 10.5px;
    color: rgba(204, 204, 153, 0.85);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 2px;
}
@media (max-width: 767px) {
    .hero-trust-badges {
        flex-direction: column;
        gap: 12px;
        margin-top: 28px;
    }
    .hero-badge {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }
}
/* === /[F3] === */

/* === [H1] MOBILE FIXES — 360-767px === */

/* Hamburger menu zawsze widoczny na ≤991px (większa specificity niż motyw) */
@media (max-width: 991px) {
    .navbar-inverse .navbar-toggle { display: block !important; }
    .navbar-inverse .navbar-collapse.collapse:not(.in) {
        display: none !important;
    }
    .navbar-inverse .navbar-collapse.collapse.in {
        display: block !important;
    }
    #main-nav.navbar-inverse {
        min-height: 64px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}

/* Hero text — zezwól na łamanie + clamp */
@media (max-width: 767px) {
    .intro-text,
    h1.intro-text {
        font-size: clamp(15px, 4.4vw, 22px) !important;
        letter-spacing: 0.5px !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        padding: 0 16px !important;
    }
    .intro-text:first-line {
        letter-spacing: 1px !important;
    }
}

/* Counters — stack column na mobile */
@media (max-width: 767px) {
    .numbers-row {
        flex-direction: column !important;
        gap: 28px !important;
    }
    .numbers-item {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}

/* Logo title — clamp */
.site-title,
.site-title a {
    font-size: clamp(13px, 4vw, 28px) !important;
}
.site-description,
.site-description a {
    letter-spacing: 1.5px !important;
    font-size: clamp(8px, 2.4vw, 11px) !important;
}

/* Body overflow guard — TYLKO mobile (≤991px). Na desktop overflow-x: hidden klipował
 * `.fadein-slider` (position: fixed) co wyłączało hero background image. */
@media (max-width: 991px) {
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }
}

/* Container padding na mobile */
@media (max-width: 767px) {
    .container,
    #footer .container,
    .big-title-container,
    .numbers-section .container,
    .gr-widget-wrap,
    .referencje-cases-section,
    .uslugi-grid-section .container,
    .online-advice-steps {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
    }
}

/* Contact-us kolumny — fix overflow */
.page-contact-layout .contact-form-col,
.page-contact-layout .contact-info-col {
    min-width: 0 !important;
}

/* === /[H1] MOBILE FIXES === */

/* === [H1] COOKIE BANNER — kompakt + nie zasłania CTA === */
.pea_cook_wrapper {
    max-height: 80px !important;
    padding: 10px 16px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}
.pea_cook_wrapper p {
    font-size: 12px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.pea_cook_wrapper #pea_cook_btn {
    padding: 6px 14px !important;
    font-size: 12px !important;
}
@media (max-width: 767px) {
    .pea_cook_wrapper {
        max-height: 100px !important;
        font-size: 11px !important;
    }
}

/* [U28] Wzmocnienie kontrastu przycisku "Akceptuj" w cookie bannerze.
 * Plugin EU Cookie Law domyślnie ustawia button.pea_cook_btn na szary
 * (#e3e3e3 z #333 textem) — na granat tle banner-a praktycznie niewidoczny.
 * Override: gold (#cccc99) bg + granat (#08213a) text + bold + lekki shadow
 * + outline focus dla a11y. Mobile również podbity. */
html body .pea_cook_wrapper button#pea_cook_btn,
html body .pea_cook_wrapper button.pea_cook_btn {
    background: #cccc99 !important;
    background-color: #cccc99 !important;
    color: #08213a !important;
    border: 1px solid #cccc99 !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
}
html body .pea_cook_wrapper button#pea_cook_btn:hover,
html body .pea_cook_wrapper button.pea_cook_btn:hover {
    background: #d9d9a8 !important;
    background-color: #d9d9a8 !important;
    color: #08213a !important;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.32) !important;
    transform: translateY(-1px) !important;
}
html body .pea_cook_wrapper button#pea_cook_btn:active,
html body .pea_cook_wrapper button.pea_cook_btn:active {
    background: #bcbc8a !important;
    background-color: #bcbc8a !important;
    color: #08213a !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22) !important;
    transform: translateY(0) !important;
}
html body .pea_cook_wrapper button#pea_cook_btn:focus-visible,
html body .pea_cook_wrapper button.pea_cook_btn:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
}
/* === /[H1] COOKIE BANNER === */


/* ==========================================================================
   [H2] FIX-OUTSTANDING-BUGS — naprawa P0/P1 które przetrwały wave H1
   Audit R3 @ 1440px + 375px (headless Chrome).
   ========================================================================== */

/* --- BUG A: Hamburger menu na mobile (≤991px) -------------------------------
   Diagnoza: <button class="navbar-toggle"> JEST w HTML, ale (1) miało za niską
   specificity vs. Bootstrap-3 reguła `@media(min-width:768){.navbar-toggle{display:none}}`
   tylko nad 768, więc na 375 powinno działać — JEDNAK theme bootstrap.min.js
   to okrojony build (Modal/Popover/Transition only, BRAK Collapse plugin) →
   kliknięcie nic nie robiło. JS handler przeniesiony do header.php (vanilla,
   bez jQuery). Tu — mocniejsze wizualne CSS żeby przycisk był ZAWSZE widoczny
   i miał kontrast (granat na granatowym tle nie działa). */
@media (max-width: 991px) {
    html body #main-nav.navbar-inverse .navbar-toggle,
    html body .navbar-inverse .navbar-toggle {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        float: right !important;
        position: relative !important;
        z-index: 10 !important;
        margin-top: 14px !important;
        margin-right: 0 !important;
        padding: 10px 12px !important;
        background-color: #08213a !important;
        background-image: none !important;
        border: 2px solid #cccc99 !important;
        border-radius: 6px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
        cursor: pointer !important;
    }
    html body #main-nav.navbar-inverse .navbar-toggle:hover,
    html body #main-nav.navbar-inverse .navbar-toggle:focus,
    html body .navbar-inverse .navbar-toggle:hover,
    html body .navbar-inverse .navbar-toggle:focus {
        background-color: #cccc99 !important;
        border-color: #cccc99 !important;
        outline: none !important;
    }
    html body #main-nav.navbar-inverse .navbar-toggle .icon-bar,
    html body .navbar-inverse .navbar-toggle .icon-bar {
        display: block !important;
        width: 24px !important;
        height: 3px !important;
        margin: 4px 0 !important;
        background-color: #cccc99 !important;
        border-radius: 2px !important;
        transition: background-color 0.2s ease !important;
    }
    html body #main-nav.navbar-inverse .navbar-toggle:hover .icon-bar,
    html body #main-nav.navbar-inverse .navbar-toggle:focus .icon-bar,
    html body .navbar-inverse .navbar-toggle:hover .icon-bar,
    html body .navbar-inverse .navbar-toggle:focus .icon-bar {
        background-color: #08213a !important;
    }
    /* Hidden state override (Bootstrap collapse) — H1 already had it; powtarzam z wyższą specificity */
    html body #main-nav .navbar-collapse.collapse:not(.in) {
        display: none !important;
    }
    html body #main-nav .navbar-collapse.collapse.in {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        background: rgba(8, 33, 58, 0.97) !important;
        padding: 16px !important;
        margin-top: 12px !important;
        border-radius: 6px !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
    }
    /* navbar-header musi zostawić miejsce na toggle po prawej */
    html body #main-nav.navbar-inverse .navbar-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        float: none !important;
    }
    html body #main-nav.navbar-inverse .navbar-header .navbar-brand,
    html body #main-nav.navbar-inverse .navbar-header .header_title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    /* #main-nav ma `overflow:hidden` w style.css:6104-6106 (max-width:767) co potrafi
       schować otwarte menu wpadające pod baseline → wymuszamy visible */
    html body #main-nav {
        overflow: visible !important;
    }
}

/* --- BUG B: Hero text overflow na mobile 375px (home + kancelaria) ----------
   "RADCA PRAWNY W WARSZAWIE" się ucinało. Przyczyna: motyw style-mobile.css
   ma `.intro-text { font-size: 41px; line-height: 49px }` (max-width:767)
   + brak białego znaku w "WARSZAWIE" (jedno słowo) blokuje wrap.
   Fix: mniejszy clamp, agresywny break-word/overflow-wrap, hyphens. */
@media (max-width: 767px) {
    .intro-text,
    h1.intro-text,
    .home h1.intro-text,
    .big-title-container h1.intro-text {
        font-size: clamp(13px, 4vw, 18px) !important;
        line-height: 1.35 !important;
        letter-spacing: 0.3px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        hyphens: auto !important;
        -webkit-hyphens: auto !important;
        max-width: calc(100vw - 32px) !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }
    .intro-text:first-line,
    h1.intro-text:first-line {
        letter-spacing: 0.5px !important;
    }
    /* Także dla .entry-title (np. /kancelaria H1: "Kancelaria Radcy Prawnego Teresa Senderowska") */
    .entry-title,
    .site-content .entry-title,
    .page .entry-title {
        font-size: clamp(20px, 5.4vw, 28px) !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        hyphens: auto !important;
        -webkit-hyphens: auto !important;
        max-width: 100% !important;
        padding: 18px 16px 0 !important;
        box-sizing: border-box !important;
    }
}

/* --- BUG C: Cookie banner zasłania CTA na desktop --------------------------
   .page-cta-footer + sekcja .contact-us są tuż nad sticky bottom bannerem.
   Strategia: extra margin-bottom na te bloki + z-index banner (zostawić wyżej,
   żeby user widział accept), żeby treść nigdy nie kończyła się pod nim. */
.pea_cook_wrapper {
    z-index: 9999 !important;
}
.page-cta-footer,
.front-page .contact-us,
body.home .contact-us,
.page-template-template-fullwidth .contact-us {
    margin-bottom: 100px !important;
}
@media (max-width: 767px) {
    .page-cta-footer,
    .front-page .contact-us,
    body.home .contact-us,
    .page-template-template-fullwidth .contact-us {
        margin-bottom: 130px !important;
    }
}

/* --- BUG D: FA ikony usług na /uslugi-prawne — visual weight up ------------ */
.page-id-72 .usluga-icon-wrap {
    width: 64px !important;
    height: 64px !important;
    background: #08213a !important;
    box-shadow: 0 4px 12px rgba(8, 33, 58, 0.18) !important;
    margin-bottom: 22px !important;
    transition: all 0.25s ease !important;
}
.page-id-72 .usluga-icon-wrap .fa {
    font-size: 28px !important;
    color: #cccc99 !important;
    line-height: 1 !important;
}
.page-id-72 .usluga-card:hover .usluga-icon-wrap {
    background: #cccc99 !important;
    transform: scale(1.04) !important;
}
.page-id-72 .usluga-card:hover .usluga-icon-wrap .fa {
    color: #08213a !important;
}

/* --- BONUS E: Home mobile counters — większe liczby, kontrast etykiet ----- */
@media (max-width: 767px) {
    .numbers-figure {
        font-size: clamp(36px, 9vw, 56px) !important;
        line-height: 1 !important;
    }
    .numbers-label {
        font-size: 12px !important;
        letter-spacing: 1.5px !important;
    }
}

/* === /[H2] FIX-OUTSTANDING-BUGS === */


/* ==========================================================================
   [H3] MOBILE NUCLEAR — finalny push do ≥9.1 na mobile.
   Diagnoza po R4:
     - Hamburger button widoczny w DOM, ale R4 (375px) raportuje "tylko logo".
       Hipoteza: nasze H2 `display:block` przegrywa z motyw `style.css:1597`
       (`.navbar-toggle { border:0; background-color:#fff; margin-top:23px }`)
       + `.navbar-toggle.collapsed { background-color:#808080 !important }`
       → button BYŁ widoczny ale w kolorze granat-na-granacie + offset 23px
       margin-top mogło wepchnąć go pod baseline navbar. Reset all visual
       props z absurdalnie wysoką specificity + box-model lock.
     - Cookie banner: 130px za mało gdy banner ma 2-liniowy text + button
       (~150-180px). Bump do 200px mobile + JS-controlled body class do
       cofnięcia gdy banner ukryty/accepted.
     - Home CTA + rating widget: gap niejednolity na mobile.
     - Porady: subtle alternate backgrounds dla rytmu wall-of-text.
   ========================================================================== */

/* === [H3] HAMBURGER NUCLEAR OVERRIDE === */
@media (max-width: 991px) {
    html body .navbar-inverse .navbar-toggle,
    html body #main-nav .navbar-toggle,
    html body .navbar.navbar-inverse .navbar-toggle,
    html body header .navbar-toggle,
    html body button.navbar-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 1010 !important;
        background: #08213a !important;
        background-color: #08213a !important;
        background-image: none !important;
        border: 2px solid #cccc99 !important;
        border-radius: 6px !important;
        padding: 10px 12px !important;
        margin: 8px 0 !important;
        flex: 0 0 auto !important;
        order: 99 !important;
        float: right !important;
        width: 48px !important;
        height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
        cursor: pointer !important;
    }
    html body .navbar-inverse .navbar-toggle .icon-bar,
    html body button.navbar-toggle .icon-bar {
        display: block !important;
        background: #cccc99 !important;
        background-color: #cccc99 !important;
        width: 22px !important;
        height: 2px !important;
        margin: 4px auto !important;
        border-radius: 1px !important;
    }
    html body .navbar-inverse .navbar-toggle:hover,
    html body .navbar-inverse .navbar-toggle:focus,
    html body button.navbar-toggle:hover,
    html body button.navbar-toggle:focus {
        background: #cccc99 !important;
        background-color: #cccc99 !important;
        border-color: #cccc99 !important;
        outline: none !important;
    }
    html body .navbar-inverse .navbar-toggle:hover .icon-bar,
    html body .navbar-inverse .navbar-toggle:focus .icon-bar {
        background: #08213a !important;
        background-color: #08213a !important;
    }
    /* Override theme `.navbar-toggle.collapsed { background-color:#808080 !important }` */
    html body .navbar-inverse .navbar-toggle.collapsed,
    html body button.navbar-toggle.collapsed {
        background: #08213a !important;
        background-color: #08213a !important;
    }
}

/* === [H3] BUG C — COOKIE BANNER MARGIN GUARD (z body class sync) ===
   H2 dało 130px mobile / 100px desktop — za mało na 2-line banner (~150-180px).
   Bump do 200px mobile / 130px desktop. JS w header.php przełącza body class
   `cookie-banner-visible`; gdy nie ma — margin spada do 60px (luźny zapas). */
.page-cta-footer,
.front-page .contact-us,
body.home .contact-us,
.page-template-template-fullwidth .contact-us,
.contact-us {
    margin-bottom: 130px !important;
}
@media (max-width: 767px) {
    .page-cta-footer,
    .front-page .contact-us,
    body.home .contact-us,
    .page-template-template-fullwidth .contact-us,
    .contact-us {
        margin-bottom: 200px !important;
    }
}
body:not(.cookie-banner-visible) .page-cta-footer,
body:not(.cookie-banner-visible) .front-page .contact-us,
body:not(.cookie-banner-visible) .contact-us {
    margin-bottom: 60px !important;
}

/* === [H3] BUG P1 — HOME mobile CTA + rating widget spacing === */
@media (max-width: 767px) {
    .big-title-container .buttons {
        gap: 14px !important;
        margin-bottom: 24px !important;
    }
    .hero-trust-badges {
        margin-top: 18px !important;
        gap: 12px !important;
    }
}

/* === [H3] BUG P1 — PORADY mobile rythm (alternate subtle bg) === */
@media (max-width: 767px) {
    .page-id-70 .online-advice-steps {
        background: #fafaf6 !important;
        padding: 36px 16px !important;
        margin: 0 -16px !important;
    }
    .page-id-70 .online-advice-bank-info {
        margin: 24px 0 !important;
    }
    .page-id-70 .online-advice-faq {
        background: #fafaf6 !important;
        padding: 32px 16px !important;
        margin: 24px -16px 0 !important;
    }
}

/* === /[H3] MOBILE NUCLEAR === */

/* ==========================================================================
   [H4] HAMBURGER FIX FINAL + LEAD WRAP + COUNTERS POLISH
   --------------------------------------------------------------------------
   Diagnoza po R5 screenshotach:
   - H3 łączył `display: inline-flex` + `float: right` + `order: 99`.
     `float: right` wymaga block-level, `inline-flex` robi z buttona flex container
     (a flex item ignoruje `float`); efektem był button o niedeterministycznych
     wymiarach / pozycji — w praktyce niewidoczny w prawym górnym rogu.
   - Plus theme `style.css:1597` ustawia `margin-top: 23px` co przy `inline-flex`
     łatwo wypycha button poza viewport gdy navbar-header collapse'uje.
   Fix: zamieniamy całą podejście na PROSTĄ pozycję absolutną wewnątrz
   `.navbar-header` (które robimy `position: relative`). Bez flex, bez float.
   ========================================================================== */

/* === [H4] HAMBURGER ABSOLUTE POSITION — prosty fix bez konfliktów flex/float === */
@media (max-width: 991px) {
    /* navbar-header musi być relative dla absolute child + rezerwa miejsca na button.
       H2 ustawił `display: flex` na `#main-nav.navbar-inverse .navbar-header` (spec 1,2,1)
       — zostawiamy ten flex (button jest position:absolute więc wyjęty z flex layoutu),
       ale dorzucamy position:relative + padding-right z wyższą specificity. */
    html body #main-nav.navbar.navbar-inverse .navbar-header,
    html body #main-nav.navbar-inverse .navbar-header,
    html body #main-nav .navbar-header.responsive-logo {
        position: relative !important;
        padding-right: 64px !important; /* miejsce na 48px button + 16px gap */
        min-height: 60px !important;
    }

    /* Hamburger button — MINIMAL: transparent bg, NO border, 3 paski gold wycentrowane
       (override przez [U52] na końcu pliku — tu zostawiamy tylko pozycjonowanie absolute) */
    html body #main-nav.navbar.navbar-inverse .navbar-toggle,
    html body #main-nav.navbar.navbar-inverse .navbar-toggle.collapsed,
    html body #main-nav.navbar-inverse .navbar-toggle,
    html body #main-nav .navbar-toggle,
    html body .navbar-inverse .navbar-toggle,
    html body button.navbar-toggle {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 44px !important;
        height: 44px !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border: none !important;
        border-radius: 0 !important;
        z-index: 1050 !important;
        cursor: pointer !important;
        float: none !important;
        order: unset !important;
        flex: none !important;
        box-shadow: none !important;
        outline: none;
        -webkit-tap-highlight-color: transparent;
    }

    /* 3 paski hamburger — gold, 24x2, idealnie wycentrowane przez flex parent */
    html body .navbar-inverse .navbar-toggle .icon-bar,
    html body button.navbar-toggle .icon-bar {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        background: #cccc99 !important;
        background-color: #cccc99 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        transition: transform 0.25s ease, opacity 0.2s ease, background 0.2s ease !important;
    }
    html body .navbar-inverse .navbar-toggle .icon-bar:first-of-type,
    html body button.navbar-toggle .icon-bar:first-of-type {
        margin-top: 0 !important;
    }
    html body .navbar-inverse .navbar-toggle .icon-bar:last-of-type,
    html body button.navbar-toggle .icon-bar:last-of-type {
        margin-bottom: 0 !important;
    }

    /* sr-only musi pozostać schowane (bo by zwiększyło wysokość buttona) */
    html body .navbar-inverse .navbar-toggle .sr-only,
    html body button.navbar-toggle .sr-only {
        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;
        white-space: nowrap !important;
        border: 0 !important;
    }

    /* Hover/focus — gold tło, granat paski */
    html body .navbar-inverse .navbar-toggle:hover,
    html body .navbar-inverse .navbar-toggle:focus,
    html body button.navbar-toggle:hover,
    html body button.navbar-toggle:focus {
        background: #cccc99 !important;
        background-color: #cccc99 !important;
        border-color: #cccc99 !important;
        outline: none !important;
    }
    html body .navbar-inverse .navbar-toggle:hover .icon-bar,
    html body .navbar-inverse .navbar-toggle:focus .icon-bar,
    html body button.navbar-toggle:hover .icon-bar,
    html body button.navbar-toggle:focus .icon-bar {
        background: #08213a !important;
        background-color: #08213a !important;
    }

    /* Logo / site-title — żeby nie wjeżdżały pod button */
    html body #main-nav .navbar-header .site-title,
    html body #main-nav .navbar-header .site-description,
    html body #main-nav .navbar-header > a,
    html body .navbar-header.responsive-logo > a {
        max-width: calc(100% - 64px) !important;
        box-sizing: border-box !important;
    }

    /* navbar-collapse na mobile — full width drawer pod headerem, nie krzyżuje button */
    html body .navbar-inverse .navbar-collapse,
    html body #main-nav .navbar-collapse.bs-navbar-collapse {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: rgba(8, 33, 58, 0.98) !important;
        z-index: 1040 !important;
        max-height: 80vh !important;
        overflow-y: auto !important;
    }
}

/* === [H4] BUG 2 — .kancelaria-lead wrap na mobile 375px === */
@media (max-width: 767px) {
    .page-id-57 .kancelaria-lead,
    .page-id-57 .kancelaria-lead p,
    .page-id-57 .entry-content > p {
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        hyphens: auto !important;
        -webkit-hyphens: auto !important;
        max-width: 100% !important;
        padding: 0 8px !important;
        box-sizing: border-box !important;
    }
}

/* === [H4] BUG 3 — Counters labels większe na mobile === */
@media (max-width: 767px) {
    .numbers-figure {
        font-size: clamp(44px, 11vw, 62px) !important;
    }
    .numbers-label {
        font-size: 13px !important;
        letter-spacing: 1.8px !important;
        margin-top: 8px !important;
    }
    .numbers-item {
        padding: 14px 8px !important;
    }
}

/* === /[H4] HAMBURGER FIX FINAL === */

/* === [U1] MAP — iframe direct (zamiast facade) === */
.logics-map-wrap {
    width: 100%;
    background: #08213a;
    overflow: hidden;
}
.logics-map-wrap iframe.logics_google_map {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
    filter: saturate(1.1);
}
@media (max-width: 767px) {
    .logics-map-wrap iframe.logics_google_map { height: 280px; }
}

/* === [U1] FOOTER WIDGET AREA POLISH === */

/* Sekcje 3-col mają większy oddech */
#footer .footer-widget-wrap > .container {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
#footer .footer-widget {
    padding: 0 18px !important;
    position: relative;
}
/* Separator pionowy gold między kolumnami (na desktop) */
@media (min-width: 768px) {
    #footer .footer-widget + .footer-widget:before {
        content: "";
        position: absolute;
        left: 0;
        top: 8%;
        bottom: 8%;
        width: 1px;
        background: rgba(204, 204, 153, 0.15);
    }
}

/* Tytuły sekcji — lepszy tracking + większy underline */
#footer .footer-widget h3,
#footer .footer-widget h3.widget-title {
    font-size: 14px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
    padding-bottom: 14px !important;
}
#footer .footer-widget h3:after {
    width: 32px !important;
    height: 1.5px !important;
    background: #cccc99 !important;
}

/* Lista linków — gap większy + lepsze pozycjonowanie */
#footer .footer-widget ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}
#footer .footer-widget ul li {
    padding: 0 !important;
    margin-bottom: 12px !important;
}
#footer .footer-widget ul li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #d9d4c0 !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    transition: all 0.22s ease !important;
    position: relative;
    padding-left: 0 !important;
    text-decoration: none !important;
}
#footer .footer-widget ul li a:before {
    content: "›";
    color: #cccc99;
    font-size: 18px;
    line-height: 1;
    transition: transform 0.22s ease, color 0.22s ease;
    display: inline-block;
}
#footer .footer-widget ul li a:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}
#footer .footer-widget ul li a:hover:before {
    color: #ffffff;
    transform: translateX(2px);
}

/* Paragrafy w widget (np. email/phone) — analogicznie */
#footer .footer-widget p {
    color: #d9d4c0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 8px !important;
}
#footer .footer-widget p a {
    color: #cccc99 !important;
}
#footer .footer-widget p a:hover {
    color: #ffffff !important;
}

@media (max-width: 767px) {
    #footer .footer-widget {
        padding: 16px !important;
        margin-bottom: 24px !important;
    }
    #footer .footer-widget h3 {
        font-size: 13px !important;
    }
}

/* === [U1] FOOTER BOTTOM ROW POLISH === */
/* Ukryj PNG ikony — zastąpione przez FA4 :before */
#footer .footer-box-wrap .footer-box .icon-top img {
    display: none !important;
}
#footer .footer-box-wrap .footer-box .icon-top {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50%;
    background: rgba(204, 204, 153, 0.1);
    border: 1px solid rgba(204, 204, 153, 0.25);
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px !important;
    font-size: 22px !important;
    color: #cccc99 !important;
    line-height: 1 !important;
    font-family: 'FontAwesome' !important;
    transition: all 0.25s ease;
}
#footer .footer-box-wrap .footer-box:hover .icon-top {
    background: #cccc99;
    border-color: #cccc99;
    color: #08213a !important;
    transform: translateY(-2px);
}

/* Konkretne ikony per box (pierwsza = adres, druga = email, trzecia = phone) */
#footer .footer-box-wrap .footer-box:nth-child(1) .icon-top:before { content: "\f041"; }  /* fa-map-marker */
#footer .footer-box-wrap .footer-box:nth-child(2) .icon-top:before { content: "\f0e0"; }  /* fa-envelope */
#footer .footer-box-wrap .footer-box:nth-child(3) .icon-top:before { content: "\f095"; }  /* fa-phone */

/* === [U2] FIX 3 problemy — chevrony, gold kółka solid, mapa bg bleed === */

/* FIX 1 — Footer widget linki w <p align="center"><a>...</a></p> (Custom HTML widget).
 * Mój U1 selector celował w <ul><li> — nie pasował. Targetujemy .textwidget a bezpośrednio. */
#footer .footer-widget .textwidget {
    text-align: left !important;
}
#footer .footer-widget .textwidget p,
#footer .footer-widget .textwidget p[align],
#footer .footer-widget .textwidget p[align="center"] {
    text-align: left !important;
    margin: 0 0 4px 0 !important;
    line-height: 1 !important;
}
#footer .footer-widget .textwidget br {
    display: block;
    content: "";
    margin-bottom: 10px;
}
#footer .footer-widget .textwidget a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #d9d4c0 !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    padding: 6px 0 !important;
    transition: all 0.22s ease !important;
    text-decoration: none !important;
    position: relative;
}
#footer .footer-widget .textwidget a:before {
    content: "›" !important;
    display: inline-block !important;
    color: #cccc99 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    transition: transform 0.22s ease, color 0.22s ease;
}
#footer .footer-widget .textwidget a:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}
#footer .footer-widget .textwidget a:hover:before {
    color: #ffffff !important;
}

/* FIX 2 — Bottom row kółka: SOLID gold (#cccc99), ikona granat. Mój U1 dał 10% gold (ciemne). */
#footer .footer-box-wrap .footer-box .icon-top {
    background: #cccc99 !important;
    background-color: #cccc99 !important;
    border: 1px solid #cccc99 !important;
    color: #08213a !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}
#footer .footer-box-wrap .footer-box:hover .icon-top {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #08213a !important;
    transform: translateY(-3px);
}

/* FIX 3 — Mapa background bleed: hero bg image prześwituje wokół iframe.
 * Rozwiązanie v2: osobny <section> wrapper z solid granat tłem (clip-path nie zadziałał
 * bo parent .logics_full_site_wrap miał własny stacking context). Plus z-index NISKI
 * żeby mapa NIE przykrywała sticky navbar. */
.logics-map-section {
    background: #08213a !important;
    background-color: #08213a !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 0 !important;
    position: relative;
    z-index: 1;
    display: block;
}
.logics-map-wrap {
    background: #08213a !important;
    background-color: #08213a !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 1280px;
    margin: 0 auto !important;
    box-shadow: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
}
.logics-map-wrap iframe.logics_google_map {
    display: block !important;
    width: 100% !important;
    height: 450px !important;
    border: 0 !important;
    position: relative;
    z-index: 2;
}
@media (max-width: 767px) {
    .logics-map-wrap iframe.logics_google_map { height: 280px !important; }
}
/* === /[U2] === */

/* === [U3] Hero slider bg prześwituje przez luki sekcji.
 * Motyw renderuje <div class="fadein-slider"> jako fixed/absolute za całą stroną,
 * z `.slide-item` zawierającym `background-image: url(lawBG-10.png)`. Slider jest
 * pełnoekranowy, tylko hero ma overlay. Reszta strony renderuje się nad sliderem
 * przez `.logics_full_site` — daję mu solid granat żeby zakryć slider od dołu hero. */

/* CAŁY content overlay ma solid granat — zakrywa slider obok hero */
html body .logics_full_site_wrap > .logics_full_site,
html body .logics_full_site,
html body .logics-mobile-bg-helper-content {
    background-color: #08213a !important;
    position: relative;
    z-index: 2;
}
/* Hero sam zachowuje przezroczystość żeby slider był widoczny TYLKO za nim */
html body .home-header-wrap,
html body .header-content-wrap,
html body .big-title-container {
    background-color: transparent !important;
}
/* Slider zostaje widoczny tylko w obszarze hero (jak zawsze był) — body dostaje fallback granat */
html body {
    background-color: #08213a !important;
}
/* Mapa: pełna szerokość prosto, bez calc/margin trick które wymagają specific parent geometry */
.logics-map-section {
    background: #08213a !important;
    background-color: #08213a !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative;
    z-index: 1;
}
.logics-map-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #08213a !important;
}
/* === /[U3] === */

/* === [U4] Wariant B — mapa wewnątrz sekcji contact_us (pełna szerokość pod 2-col).
 * Section7 (osobna mapa) wyłączone w theme_mods. Tu styling dla map embeddedded. */
.contact-us .contact-map-fullwidth {
    display: block !important;
    width: 100% !important;
    margin: 40px 0 0 !important;
    padding: 0 !important;
    background: #08213a !important;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
    border-radius: 0;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.contact-us .contact-map-fullwidth iframe.logics_google_map {
    display: block !important;
    width: 100% !important;
    height: 380px !important;
    border: 0 !important;
}
@media (max-width: 767px) {
    .contact-us .contact-map-fullwidth iframe.logics_google_map { height: 260px !important; }
    .contact-us .contact-map-fullwidth { margin-top: 28px !important; }
}
/* === /[U4] === */

/* === [U5] Footer kompakt — bottom row wyłączone w PHP, tightup widget area === */
#footer .footer-widget-wrap {
    padding: 38px 0 28px !important;
    margin-top: 0 !important;
    border-top: 1px solid rgba(204, 204, 153, 0.18) !important;
}
#footer .footer-widget-wrap > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#footer .footer-widget {
    padding: 0 18px !important;
}
#footer .footer-widget h3,
#footer .footer-widget h3.widget-title,
#footer .footer-widget h3.footer-widget-title {
    font-size: 13px !important;
    letter-spacing: 2px !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
}
#footer .footer-widget h3:after {
    width: 28px !important;
    height: 1.5px !important;
}
#footer .footer-widget .textwidget a {
    font-size: 14px !important;
    padding: 4px 0 !important;
}
#footer .footer-widget .textwidget a:before {
    font-size: 18px !important;
}
#footer .footer-widget .textwidget br {
    margin-bottom: 6px !important;
}
.footer-copyright-bar {
    padding: 14px 0 !important;
    border-top: 1px solid rgba(204, 204, 153, 0.12) !important;
}
.footer-copyright-bar .copyright-content p {
    font-size: 12.5px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
@media (max-width: 767px) {
    #footer .footer-widget-wrap { padding: 28px 16px 18px !important; }
    #footer .footer-widget { padding: 14px 0 !important; margin-bottom: 0 !important; }
    .footer-copyright-bar { padding: 12px 0 !important; }
}
/* === /[U5] === */

/* === [U6 v2] Klasyczny 4-col footer (3 widget areas + Kancelaria) — FLEXBOX, nie grid.
 * Grid przegrywał z Bootstrap col-md-3 floatami; flexbox z flex: 1 1 0 wygrywa pewnie. */
#footer .footer-widget-wrap > .container,
html body #footer .footer-widget-wrap > .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 32px !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 12px 24px !important;
    box-sizing: border-box !important;
}
html body #footer .footer-widget-wrap > .container > .footer-widget,
html body #footer .footer-widget-wrap > .container > aside.footer-widget {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}
/* Pionowy gold separator pomiędzy kolumnami */
@media (min-width: 992px) {
    html body #footer .footer-widget-wrap > .container > .footer-widget + .footer-widget {
        position: relative;
        padding-left: 14px !important;
    }
    html body #footer .footer-widget-wrap > .container > .footer-widget + .footer-widget:before {
        content: "";
        position: absolute;
        left: -16px;
        top: 6%;
        bottom: 6%;
        width: 1px;
        background: rgba(204, 204, 153, 0.15);
    }
}
/* 4-ta kolumna "Kancelaria" — dane kontaktowe z FA ikonami inline */
#footer .footer-widget-kancelaria .footer-widget-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    position: relative;
}
#footer .footer-widget-kancelaria .footer-widget-title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 1.5px;
    background: #cccc99;
}
#footer .footer-widget-kancelaria .footer-kancelaria-content p {
    color: #d9d4c0 !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}
#footer .footer-widget-kancelaria .footer-kancelaria-content p .fa {
    color: #cccc99 !important;
    width: 16px;
    margin-right: 8px;
    display: inline-block;
    text-align: center;
}
#footer .footer-widget-kancelaria .footer-kancelaria-name {
    margin-bottom: 14px !important;
}
#footer .footer-widget-kancelaria .footer-kancelaria-name strong {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px;
}
#footer .footer-widget-kancelaria .footer-kancelaria-zip {
    margin-left: 24px;
    display: inline-block;
}
#footer .footer-widget-kancelaria .footer-kancelaria-content a {
    color: #d9d4c0 !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(204, 204, 153, 0.3);
    transition: all 0.22s ease;
}
#footer .footer-widget-kancelaria .footer-kancelaria-content a:hover {
    color: #cccc99 !important;
    border-bottom-color: #cccc99;
}

/* Tablet 2x2 (flex-wrap) */
@media (max-width: 991px) {
    html body #footer .footer-widget-wrap > .container {
        flex-wrap: wrap !important;
        gap: 24px !important;
    }
    html body #footer .footer-widget-wrap > .container > .footer-widget {
        flex: 1 1 calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
    }
    html body #footer .footer-widget-wrap > .container > .footer-widget + .footer-widget:before {
        display: none !important;
    }
}
/* Mobile stack 1-col */
@media (max-width: 567px) {
    html body #footer .footer-widget-wrap > .container {
        flex-direction: column !important;
        gap: 20px !important;
    }
    html body #footer .footer-widget-wrap > .container > .footer-widget {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
/* === /[U6 v2] === */

/* === [U7 v5] Hero slider wraca — usuwamy klipowanie i fallback bg na hero wrapper.
 * Motyw .logics_full_site_wrap { overflow: hidden } klipował fixed slider — override visible.
 * Plus body bg transparent (motyw default), inaczej zakrywało slider w nowych Chrome.
 * Plus fallback: hero wrapper dostaje background-image bezpośrednio (gdyby JS slider padł). */
html body {
    background-color: #08213a;  /* bez !important, niech motyw decyduje */
}
html body .logics_full_site_wrap {
    overflow: visible !important;
}
html body .logics_full_site {
    background: transparent !important;
}
/* Hero wrapper dostaje background-image bezpośrednio (fallback gdyby JS slider padł) */
html body .home-header-wrap {
    background-image: url('/wp-content/uploads/lawBG-10.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #08213a !important;
    min-height: 100vh;
    position: relative;
}
/* DARK OVERLAY na hero image — żeby tekst był czytelny */
html body .home-header-wrap:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(8, 33, 58, 0.78) 0%,
        rgba(8, 33, 58, 0.62) 40%,
        rgba(8, 33, 58, 0.55) 100%
    );
    z-index: 1;
    pointer-events: none;
}
/* Hero content NAD overlay */
html body .home-header-wrap > * {
    position: relative;
    z-index: 2;
}
/* Plus DARK overlay na .fadein-slider gdyby ten był aktywny (slider widoczny ZA hero wrapper) */
html body .fadein-slider:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(8, 33, 58, 0.78) 0%,
        rgba(8, 33, 58, 0.62) 40%,
        rgba(8, 33, 58, 0.55) 100%
    );
    z-index: 1;
    pointer-events: none;
}
/* === /[U7 v5] === */

/* === [U10] Trustindex tooltip fix — tooltip "20 lutego 2026..." zasłaniał imię reviewera.
 * Pozycjonujemy tooltip POD datą + mniejszy padding, plus zwiększamy z-index. */
.ti-widget.ti-goog .ti-tooltip {
    bottom: auto !important;
    top: 100% !important;
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    z-index: 100 !important;
    font-size: 11px !important;
    padding: 6px 10px !important;
    white-space: nowrap;
}
.ti-widget.ti-goog .ti-tooltip:before,
.ti-widget.ti-goog .ti-tooltip:after {
    bottom: auto !important;
    top: -6px !important;
    border-top-color: transparent !important;
    border-bottom-color: rgba(8, 33, 58, 0.95) !important;
}
/* === /[U10] === */
/* Mapa: zero margin-top żeby przyklejała się do 2-col z dane kontaktowe (bez luki) */
.contact-us .contact-map-fullwidth {
    margin: 0 !important;
    margin-top: 32px !important;
}
/* === /[U7] === */

/* === [U8] WARIANT C — Boutique elegancki footer ===
 * 2-col main (brand + filozofia | kontakt + ikony) → poziomy pasek "Przydatne linki"
 * → copyright bar legal. Wzór: GESSEL + Baker McKenzie inline. */

/* Ukryj wszystkie pozostałości starego footera w razie cache */
#footer .footer-widget-wrap,
#footer .footer-box-wrap,
#footer .footer-copyright-bar {
    display: none !important;
}

/* MAIN 2-col */
#footer .footer-c-main {
    background: #08213a !important;
    padding: 64px 0 48px !important;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
}
#footer .footer-c-main-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 80px !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
}
#footer .footer-c-brand { flex: 1 1 60% !important; min-width: 0; }
#footer .footer-c-contact { flex: 1 1 40% !important; min-width: 0; }

/* Brand */
#footer .footer-c-eyebrow {
    color: #cccc99 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 2.6px !important;
    text-transform: uppercase !important;
    display: block;
    margin-bottom: 8px;
}
#footer .footer-c-brand-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
}
#footer .footer-c-philosophy {
    color: #d9d4c0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    max-width: 540px;
}

/* Kontakt */
#footer .footer-c-contact-title {
    color: #ffffff !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2.6px !important;
    text-transform: uppercase !important;
    margin: 0 0 18px !important;
    padding-bottom: 10px !important;
    position: relative;
}
#footer .footer-c-contact-title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 1.5px;
    background: #cccc99;
}
#footer .footer-c-contact-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 22px !important;
}
#footer .footer-c-contact-list li {
    color: #d9d4c0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
#footer .footer-c-contact-list li .fa {
    color: #cccc99 !important;
    font-size: 14px !important;
    width: 16px;
    text-align: center;
    margin-top: 4px;
    flex-shrink: 0;
}
#footer .footer-c-zip-indent { display: inline-block; }
#footer .footer-c-contact-list a {
    color: #ffffff !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(204, 204, 153, 0.35);
    transition: all 0.22s ease;
}
#footer .footer-c-contact-list a:hover {
    color: #cccc99 !important;
    border-bottom-color: #cccc99;
}

/* Socials (LinkedIn + Mapa) */
#footer .footer-c-socials {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}
#footer .footer-c-social {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(204, 204, 153, 0.5);
    border-radius: 50%;
    color: #cccc99 !important;
    text-decoration: none !important;
    transition: all 0.22s ease;
}
#footer .footer-c-social .fa {
    color: #cccc99 !important;
    font-size: 15px;
    transition: color 0.22s ease;
}
#footer .footer-c-social:hover {
    background: #cccc99;
    border-color: #cccc99;
}
#footer .footer-c-social:hover .fa {
    color: #08213a !important;
}

/* PRZYDATNE LINKI BAR — poziomy pasek z gold liniami nad/pod */
#footer .footer-c-links-bar {
    background: #08213a !important;
    padding: 28px 0 !important;
    position: relative;
}
#footer .footer-c-links-bar:before,
#footer .footer-c-links-bar:after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(204, 204, 153, 0.35) 20%, rgba(204, 204, 153, 0.35) 80%, transparent);
    margin: 0 auto;
    max-width: 1280px;
}
#footer .footer-c-links-bar:before { margin-bottom: 22px; }
#footer .footer-c-links-bar:after { margin-top: 22px; }

#footer .footer-c-links-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 18px 12px !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    justify-content: center !important;
}
#footer .footer-c-links-label {
    color: #cccc99 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2.4px !important;
    text-transform: uppercase !important;
    margin-right: 14px;
}
#footer .footer-c-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 0;
    align-items: center;
}
#footer .footer-c-links li {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
}
#footer .footer-c-links li + li:before {
    content: "·";
    color: rgba(204, 204, 153, 0.5);
    margin: 0 14px;
    font-weight: 700;
}
#footer .footer-c-links li a {
    color: #d9d4c0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    padding-bottom: 1px;
    transition: all 0.22s ease;
}
#footer .footer-c-links li a:hover {
    color: #cccc99 !important;
    border-bottom-color: #cccc99;
}

/* LEGAL BAR — copyright + polityka */
#footer .footer-c-legal-bar {
    background: #06182a !important;
    padding: 18px 0 !important;
}
#footer .footer-c-legal-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}
#footer .footer-c-copyright {
    color: rgba(255, 255, 255, 0.55) !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12.5px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
#footer .footer-c-legal-links {
    margin: 0 !important;
    line-height: 1.4 !important;
}
#footer .footer-c-legal-links a {
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12.5px !important;
    text-decoration: none !important;
    transition: color 0.22s ease;
}
#footer .footer-c-legal-links a:hover { color: #cccc99 !important; }
#footer .footer-c-sep {
    color: rgba(204, 204, 153, 0.4);
    margin: 0 8px;
}

/* MOBILE — stack 2-col → 1-col, legal bar wrap */
@media (max-width: 767px) {
    #footer .footer-c-main { padding: 44px 0 32px !important; }
    #footer .footer-c-main-inner {
        flex-direction: column !important;
        gap: 36px !important;
        padding: 0 20px !important;
    }
    #footer .footer-c-brand-title { font-size: 22px !important; }
    #footer .footer-c-philosophy { font-size: 14.5px !important; }
    #footer .footer-c-links-bar { padding: 22px 0 !important; }
    #footer .footer-c-links-inner { padding: 0 16px !important; flex-direction: column !important; gap: 14px !important; }
    #footer .footer-c-links-label { margin-right: 0; margin-bottom: 4px; }
    #footer .footer-c-links { justify-content: center; gap: 10px 0; }
    #footer .footer-c-links li + li:before { margin: 0 10px; }
    #footer .footer-c-legal-inner {
        flex-direction: column !important;
        gap: 6px !important;
        text-align: center;
        padding: 0 16px !important;
    }
    #footer .footer-c-copyright, #footer .footer-c-legal-links { text-align: center !important; }
}
/* === /[U8] === */

/* Adres / email / phone teksty — większe + premium */
#footer .footer-box-wrap .footer-box .logics-footer-address,
#footer .footer-box-wrap .footer-box .logics-footer-email,
#footer .footer-box-wrap .footer-box .logics-footer-phone {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}
#footer .footer-box-wrap .footer-box a {
    color: #ffffff !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(204, 204, 153, 0.3);
    transition: all 0.22s ease;
}
#footer .footer-box-wrap .footer-box a:hover {
    color: #cccc99 !important;
    border-bottom-color: #cccc99;
}
#footer .footer-box-wrap {
    padding: 50px 0 36px !important;
    gap: 36px !important;
}
/* === /[U1] === */


/* ==========================================================================
   [V2 / M1.6 v3] STRONA /uslugi-prawne — premium refactor
   --------------------------------------------------------------------------
   Wariant A "Premium law firm hero":
     - Pełnowymiarowy granatowy hero z gold CTA (zamiast białego intra).
     - Stats bar (4 kolumny) między hero a praktykami.
     - 3-col grid + "wider card" dla Prawa administracyjnego (eliminacja sieroty).
     - Sekcja "Jak współpracujemy" (granat, 3 kroki — wzorzec online-advice-step).
     - Premium "Dlaczego warto" z dużymi gold ikonami.

   Spójność z home/kancelaria:
     - paleta: granat #08213a, gold #cccc99, off-white #d9d4c0/#fafaf3.
     - typografia: Playfair Display (H), Source Sans 3 (body).
     - eyebrow uppercase tracking 2.4px.
     - title :after divider gold 56x2.
     - karty: white + 1px rgba(8,33,58,0.08) + border-left gold hover + translateY(-4px).
     - CTA primary pill gold→white hover, secondary outline gold.

   Wszystko scope'owane do .page-id-72 — sekcja [M1.6 v2 / F1] (linie 2250-2493)
   zostaje jako fallback; nowe selektory mają wyższą specificity dzięki
   dodatkowemu klasie modyfikatorowi (--premium / --hero / --3col / --wide).
   ========================================================================== */

/* ---- 1) HERO PREMIUM (granat full-bleed) -------------------------------- */
.page-id-72 .uslugi-hero.uslugi-hero--premium {
    position: relative;
    background: linear-gradient(135deg, #08213a 0%, #0a2a4a 55%, #08213a 100%);
    padding: clamp(70px, 9vw, 110px) 24px clamp(60px, 8vw, 90px);
    overflow: hidden;
    isolation: isolate;
}
.page-id-72 .uslugi-hero.uslugi-hero--premium .uslugi-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 20%, rgba(204, 204, 153, 0.10) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 80%, rgba(204, 204, 153, 0.06) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}
.page-id-72 .uslugi-hero.uslugi-hero--premium .uslugi-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}
.page-id-72 .uslugi-hero.uslugi-hero--premium .uslugi-eyebrow {
    color: #cccc99;
    font-size: 12px;
    letter-spacing: 2.4px;
    margin-bottom: 18px;
}
.page-id-72 .uslugi-section-title.uslugi-section-title--hero {
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(34px, 4.6vw, 52px);
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 26px;
    padding-bottom: 22px;
    letter-spacing: 0.2px;
}
.page-id-72 .uslugi-section-title.uslugi-section-title--hero:after {
    background: #cccc99;
    width: 64px;
    height: 2px;
}
.page-id-72 .uslugi-hero.uslugi-hero--premium .uslugi-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    color: #d9d4c0;
    font-size: clamp(17px, 1.5vw, 19px);
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 32px;
    font-weight: 400;
}
.page-id-72 .uslugi-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    margin-top: 8px;
}
.page-id-72 .uslugi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 999px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.22s ease;
    border: 1.5px solid transparent;
    line-height: 1.2;
}
.page-id-72 .uslugi-btn--primary {
    background: #cccc99;
    color: #08213a;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}
.page-id-72 .uslugi-btn--primary:hover,
.page-id-72 .uslugi-btn--primary:focus {
    background: #ffffff;
    color: #08213a;
    transform: translateY(-1px);
    text-decoration: none;
}
.page-id-72 .uslugi-btn--secondary {
    background: transparent;
    color: #ffffff;
    border-color: rgba(204, 204, 153, 0.6);
}
.page-id-72 .uslugi-btn--secondary:hover,
.page-id-72 .uslugi-btn--secondary:focus {
    background: #cccc99;
    color: #08213a;
    border-color: #cccc99;
    text-decoration: none;
}

/* ---- 2) STATS BAR ------------------------------------------------------- */
.page-id-72 .uslugi-stats-bar {
    background: #06182a;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
    border-bottom: 1px solid rgba(204, 204, 153, 0.18);
    padding: 38px 24px;
}
.page-id-72 .uslugi-stats-inner {
    max-width: 1340px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}
.page-id-72 .uslugi-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
    border-left: 1px solid rgba(204, 204, 153, 0.18);
}
.page-id-72 .uslugi-stat:first-child {
    border-left: none;
}
.page-id-72 .uslugi-stat-figure {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(28px, 3.4vw, 40px);
    font-weight: 600;
    color: #cccc99;
    line-height: 1;
    letter-spacing: 0.5px;
    font-variant-numeric: lining-nums;
    font-feature-settings: "lnum" 1;
}
.page-id-72 .uslugi-stat-label {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(217, 212, 192, 0.75);
    margin-top: 6px;
}
@media (max-width: 767px) {
    .page-id-72 .uslugi-stats-bar { padding: 28px 18px; }
    .page-id-72 .uslugi-stats-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
    .page-id-72 .uslugi-stat { border-left: none; }
    .page-id-72 .uslugi-stat:nth-child(2n) {
        border-left: 1px solid rgba(204, 204, 153, 0.18);
    }
}

/* ---- 3) GRID SECTION — header + 3-col layout ---------------------------- */
.page-id-72 .uslugi-grid-section.uslugi-grid-section--premium {
    background: #fafaf3;
    padding: clamp(60px, 7vw, 90px) 24px;
}
.page-id-72 .uslugi-grid-header {
    max-width: 1080px;
    margin: 0 auto 48px;
    text-align: center;
}
.page-id-72 .uslugi-grid-header .uslugi-eyebrow--dark {
    color: #cccc99;
    margin-bottom: 14px;
    display: inline-block;
}
.page-id-72 .uslugi-grid.uslugi-grid--3col {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}
@media (max-width: 991px) {
    .page-id-72 .uslugi-grid.uslugi-grid--3col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}
@media (max-width: 600px) {
    .page-id-72 .uslugi-grid.uslugi-grid--3col {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .page-id-72 .uslugi-grid-section.uslugi-grid-section--premium { padding: 50px 18px; }
    .page-id-72 .uslugi-grid-header { margin-bottom: 32px; }
}

/* ---- 4) CARD — premium polish ------------------------------------------ */
.page-id-72 .uslugi-grid--3col .usluga-card {
    background: #ffffff;
    border: 1px solid rgba(8, 33, 58, 0.08);
    border-left: 3px solid transparent;
    border-radius: 10px;
    padding: 30px 26px 26px;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-left-color 0.28s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(8, 33, 58, 0.04);
}
.page-id-72 .uslugi-grid--3col .usluga-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(8, 33, 58, 0.12);
    border-left-color: #cccc99;
}
.page-id-72 .uslugi-grid--3col .usluga-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 21px;
    font-weight: 600;
    color: #08213a;
    margin: 0 0 14px;
    line-height: 1.3;
    letter-spacing: 0.1px;
}
.page-id-72 .uslugi-grid--3col .usluga-list {
    margin: 0 0 20px;
    flex-grow: 1;
}
.page-id-72 .uslugi-grid--3col .usluga-list li {
    color: #4a5563;
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 9px;
}
.page-id-72 .uslugi-grid--3col .usluga-cta.usluga-cta--phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(8, 33, 58, 0.06);
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #08213a;
    text-decoration: none;
    transition: color 0.2s ease;
}
.page-id-72 .uslugi-grid--3col .usluga-cta.usluga-cta--phone span {
    color: #cccc99;
    transition: transform 0.2s ease;
}
.page-id-72 .uslugi-grid--3col .usluga-cta.usluga-cta--phone:hover {
    color: #cccc99;
}
.page-id-72 .uslugi-grid--3col .usluga-cta.usluga-cta--phone:hover span {
    transform: translateX(4px);
}

/* ---- 5) WIDER CARD — Prawo administracyjne (full row) ------------------- */
.page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    align-items: start;
    padding: 36px 36px 30px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf1 100%);
}
.page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide .usluga-icon-wrap {
    margin-bottom: 0;
    align-self: start;
}
.page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide .usluga-card-wide-body {
    display: flex;
    flex-direction: column;
}
.page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide .usluga-list--wide {
    columns: 2;
    column-gap: 32px;
    margin-bottom: 22px;
}
.page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide .usluga-list--wide li {
    break-inside: avoid;
}
@media (max-width: 991px) {
    .page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 30px 26px 26px;
    }
    .page-id-72 .uslugi-grid--3col .usluga-card.usluga-card--wide .usluga-list--wide {
        columns: 1;
    }
}

/* ---- 6) PROCESS — granat 3 kroki --------------------------------------- */
.page-id-72 .uslugi-process {
    background: linear-gradient(135deg, #08213a 0%, #0a2a4a 100%);
    padding: clamp(60px, 7vw, 90px) 24px;
    position: relative;
    overflow: hidden;
}
.page-id-72 .uslugi-process:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 80% 20%, rgba(204, 204, 153, 0.08) 0%, transparent 55%);
    pointer-events: none;
}
.page-id-72 .uslugi-process-inner {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
}
.page-id-72 .uslugi-process-header {
    text-align: center;
    margin-bottom: 48px;
}
.page-id-72 .uslugi-process-header .uslugi-eyebrow {
    color: #cccc99;
    margin-bottom: 14px;
    display: inline-block;
}
.page-id-72 .uslugi-section-title.uslugi-section-title--light {
    color: #ffffff;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 500;
    margin: 0 0 0;
    padding-bottom: 18px;
}
.page-id-72 .uslugi-section-title.uslugi-section-title--light:after {
    background: #cccc99;
}
.page-id-72 .uslugi-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .page-id-72 .uslugi-process-grid { grid-template-columns: 1fr; gap: 18px; }
}
.page-id-72 .uslugi-process-step {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(204, 204, 153, 0.20);
    border-radius: 10px;
    padding: 34px 28px 28px;
    transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease;
    text-align: left;
}
.page-id-72 .uslugi-process-step:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(204, 204, 153, 0.45);
}
.page-id-72 .uslugi-process-number {
    position: absolute;
    top: 16px;
    right: 22px;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 600;
    color: rgba(204, 204, 153, 0.18);
    line-height: 1;
    letter-spacing: -1px;
    font-variant-numeric: lining-nums;
    font-feature-settings: "lnum" 1;
}
.page-id-72 .uslugi-process-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(204, 204, 153, 0.14);
    margin-bottom: 18px;
    transition: background 0.28s ease;
}
.page-id-72 .uslugi-process-step:hover .uslugi-process-icon {
    background: rgba(204, 204, 153, 0.28);
}
.page-id-72 .uslugi-process-icon i {
    font-size: 26px;
    color: #cccc99;
    line-height: 1;
}
.page-id-72 .uslugi-process-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 10px;
    line-height: 1.3;
}
.page-id-72 .uslugi-process-step p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #d9d4c0;
    margin: 0;
}

/* ---- 7) WHY US PREMIUM (kremowe + duże gold ikony) ---------------------- */
.page-id-72 .uslugi-why.uslugi-why--premium {
    background: #fafaf3;
    padding: clamp(60px, 7vw, 90px) 24px;
}
.page-id-72 .uslugi-why-header {
    max-width: 1080px;
    margin: 0 auto 48px;
    text-align: center;
}
.page-id-72 .uslugi-why-header .uslugi-eyebrow--dark {
    color: #cccc99;
    margin-bottom: 14px;
    display: inline-block;
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-grid {
    max-width: 1340px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}
@media (max-width: 767px) {
    .page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-item {
    text-align: center;
    padding: 16px 8px;
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-icon .fa {
    font-size: 58px;
    color: #cccc99;
    line-height: 1;
    text-shadow: 0 2px 6px rgba(8, 33, 58, 0.08);
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-item h4 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: #08213a;
    margin: 0 0 12px;
    line-height: 1.3;
}
.page-id-72 .uslugi-why.uslugi-why--premium .uslugi-why-item p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 14.5px;
    color: #4a5563;
    line-height: 1.65;
    margin: 0;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

/* ---- 8) Override BUG D ikony — w wider card mniejszy margin -------------- */
.page-id-72 .usluga-card.usluga-card--wide .usluga-icon-wrap {
    margin-bottom: 0 !important;
}

/* ---- 9) Hero spacing reset gdy entry-content padding-top globalny ------- */
.page-id-72 .site-content .entry-content { padding-top: 0; }
.page-id-72 .site-content .entry-title { display: none; }

/* === /[V2 / M1.6 v3] === */

/* ================================================================== *
 * === [V3] STRONA /uslugi-prawne — editorial wide redesign ========== *
 * ================================================================== *
 * Pełnoekranowy hero z subtle gold glow, stats bar, 7 sekcji
 * obszarów praktyki naprzemiennie granat/kremowa, wielkie numery
 * watermark, duże ikony w okrągłych ringach, gold dividers.
 * Stylistyka spójna z home (Playfair, Source Sans 3, #08213a/#cccc99).
 * ------------------------------------------------------------------ */

/* Override dla V3 — wyłącza style V2 jeśli kolidują */
.page-id-72 .uslugi-prawne-page--v3 {
    background: #08213a;
    color: #d9d4c0;
    margin: 0;
    padding: 0;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
}
.page-id-72 .uslugi-prawne-page--v3 * { box-sizing: border-box; }

/* ---- 0) WSPÓŁDZIELONE: eyebrow, divider, button ------------------- */
.page-id-72 .uslugi-prawne-page--v3 .uslugi-eyebrow {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 18px;
}
.page-id-72 .uslugi-prawne-page--v3 .uslugi-eyebrow--dark {
    color: #6b6b48;
}

/* ---- 1) HERO PEŁNOEKRANOWY (~80vh) ------------------------------- */
.page-id-72 .uslugi-hero--editorial {
    position: relative;
    min-height: clamp(560px, 80vh, 820px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #08213a;
    overflow: hidden;
    padding: 80px 24px;
    text-align: center;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/lawBG-8.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #08213a;
    z-index: 0;
}
/* Dark overlay nad zdjęciem — identyczna formuła jak home hero (czytelność tekstu) */
.page-id-72 .uslugi-hero--editorial .uslugi-hero-bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(8, 33, 58, 0.78) 0%,
        rgba(8, 33, 58, 0.62) 40%,
        rgba(8, 33, 58, 0.55) 100%
    );
    z-index: 1;
    pointer-events: none;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 720px;
    height: 720px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(204, 204, 153, 0.12) 0%, transparent 65%);
    z-index: 1;
    pointer-events: none;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(8, 33, 58, 0.45), rgba(8, 33, 58, 0.20));
    z-index: 2;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(40px, 6.4vw, 72px);
    font-weight: 500;
    line-height: 1.08;
    color: #ffffff;
    letter-spacing: -0.5px;
    margin: 0 0 28px 0;
    max-width: 980px;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-divider {
    display: block;
    width: 80px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 32px;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.6;
    color: #d9d4c0;
    font-weight: 400;
    max-width: 940px;
    margin: 0 0 40px 0;
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.page-id-72 .uslugi-hero--editorial .uslugi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 36px;
    border-radius: 999px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    transition: all 0.22s ease;
    border: 1.5px solid transparent;
    line-height: 1.2;
}
.page-id-72 .uslugi-hero--editorial .uslugi-btn--primary {
    background: #cccc99;
    color: #08213a;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
.page-id-72 .uslugi-hero--editorial .uslugi-btn--primary:hover {
    background: #ffffff;
    color: #08213a;
    transform: translateY(-1px);
    text-decoration: none;
}
.page-id-72 .uslugi-hero--editorial .uslugi-btn--secondary {
    background: transparent;
    color: #ffffff;
    border-color: rgba(204, 204, 153, 0.55);
}
.page-id-72 .uslugi-hero--editorial .uslugi-btn--secondary:hover {
    background: #cccc99;
    color: #08213a;
    border-color: #cccc99;
    text-decoration: none;
}

/* ---- 2) STATS BAR V3 --------------------------------------------- */
.page-id-72 .uslugi-stats-bar--v3 {
    background: #06182a;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
    border-bottom: 1px solid rgba(204, 204, 153, 0.18);
    padding: 44px 24px;
}
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stats-inner {
    max-width: 1680px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
}
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border-left: 1px solid rgba(204, 204, 153, 0.18);
}
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stat:first-child {
    border-left: none;
}
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stat-figure {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 600;
    color: #cccc99;
    line-height: 1;
    letter-spacing: 0.4px;
}
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stat-label {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(217, 212, 192, 0.78);
}

/* ---- 3) SEKCJE OBSZARÓW PRAKTYKI ---------------------------------- */
.page-id-72 .usluga-section {
    position: relative;
    width: 100%;
    padding: 96px 24px;
    overflow: hidden;
}
.page-id-72 .usluga-section--dark {
    background: #08213a;
    color: #d9d4c0;
}
.page-id-72 .usluga-section--light {
    background: #fafaf3;
    color: #2a2a2a;
}

/* Watermark numer 01-07 (decorative bg) */
.page-id-72 .usluga-section-watermark {
    position: absolute;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(160px, 22vw, 280px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -8px;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}
.page-id-72 .usluga-section--dark .usluga-section-watermark {
    color: rgba(204, 204, 153, 0.07);
    top: 20px;
    right: 4%;
}
.page-id-72 .usluga-section--light .usluga-section-watermark {
    color: rgba(8, 33, 58, 0.06);
    top: 20px;
    left: 4%;
}

/* Inner grid */
/* === [U15] Full-width breakout na /uslugi-prawne ===
 * Strona renderuje się wewnątrz Bootstrap container.col-md-X (motyw default) =
 * ogranicza do ~870-996px. Trick: 100vw + negative margins rozprzestrzeniają content
 * na pełną szerokość viewport niezależnie od parent constraints. */
.page-id-72 .uslugi-prawne-page,
.page-id-72 .uslugi-prawne-page--v3 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 0 !important;
}
/* Plus reset paddingów z motywu na content-left-wrap dla tej strony */
.page-id-72 .site-content .content-left-wrap,
.page-id-72 .site-content .content-area,
.page-id-72 .site-content .site-main,
.page-id-72 .site-content .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Single-col layout — tekst zajmuje 100% szerokości sekcji bez max-width limit.
 * Visual (ikona ring) staje się decorative pozycjonowana absolute top-right. */
.page-id-72 .usluga-section-inner {
    position: relative;
    z-index: 1;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    min-height: auto;
    padding: 0 max(64px, 6vw);
    box-sizing: border-box;
}
.page-id-72 .usluga-section-text {
    max-width: none !important;
    width: 100%;
}
/* Visual ikona — absolute decorative w corner, NIE zabiera szerokości tekstowi */
.page-id-72 .usluga-section-visual {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    opacity: 0.95;
    z-index: 0;
    pointer-events: none;
}
.page-id-72 .usluga-section-inner--text-right .usluga-section-visual {
    right: auto;
    left: 0;
}
/* Tekst ma padding-right żeby wymijać visual ikona */
.page-id-72 .usluga-section-inner:has(.usluga-section-visual) .usluga-section-text {
    padding-right: 200px;
}
.page-id-72 .usluga-section-inner--text-right:has(.usluga-section-visual) .usluga-section-text {
    padding-right: 0;
    padding-left: 200px;
}
.page-id-72 .usluga-section-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.3px;
    margin: 0 0 20px 0;
}
.page-id-72 .usluga-section--dark .usluga-section-title { color: #ffffff; }
.page-id-72 .usluga-section--light .usluga-section-title { color: #08213a; }

.page-id-72 .usluga-section-divider {
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 0 24px 0;
}

.page-id-72 .usluga-section-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.65;
    font-weight: 400;
    margin: 0 0 28px 0;
}
.page-id-72 .usluga-section--dark .usluga-section-lead { color: #d9d4c0; }
.page-id-72 .usluga-section--light .usluga-section-lead { color: #3a3a3a; }

/* Bullet list */
.page-id-72 .usluga-section-list {
    list-style: none;
    margin: 0 0 36px 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.page-id-72 .usluga-section-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15.5px;
    line-height: 1.55;
    font-weight: 400;
}
.page-id-72 .usluga-section-list li .fa {
    flex-shrink: 0;
    color: #cccc99;
    font-size: 14px;
    margin-top: 5px;
}
.page-id-72 .usluga-section--dark .usluga-section-list li { color: #e8e3cf; }
.page-id-72 .usluga-section--light .usluga-section-list li { color: #2a2a2a; }
.page-id-72 .usluga-section-list li a {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(204, 204, 153, 0.5);
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}
.page-id-72 .usluga-section-list li a:hover {
    color: #cccc99;
    text-decoration-color: #cccc99;
}

/* CTA */
.page-id-72 .usluga-section-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    text-decoration: none;
    padding-bottom: 6px;
    border-bottom: 1.5px solid #cccc99;
    transition: all 0.22s ease;
}
.page-id-72 .usluga-section-cta:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
    text-decoration: none;
    gap: 14px;
}
.page-id-72 .usluga-section--light .usluga-section-cta {
    color: #08213a;
    border-bottom-color: #cccc99;
}
.page-id-72 .usluga-section--light .usluga-section-cta:hover {
    color: #cccc99;
    border-bottom-color: #cccc99;
}
.page-id-72 .usluga-section-cta span { display: inline-block; transition: transform 0.22s ease; }
.page-id-72 .usluga-section-cta:hover span { transform: translateX(4px); }

/* Visual — duża ikona w okrągłym ringu */
.page-id-72 .usluga-section-visual {
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-id-72 .usluga-section-icon-ring {
    width: clamp(220px, 26vw, 320px);
    height: clamp(220px, 26vw, 320px);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.page-id-72 .usluga-section--dark .usluga-section-icon-ring {
    background: radial-gradient(circle, rgba(204, 204, 153, 0.10) 0%, rgba(204, 204, 153, 0.02) 70%, transparent 100%);
    border: 1px solid rgba(204, 204, 153, 0.22);
}
.page-id-72 .usluga-section--light .usluga-section-icon-ring {
    background: radial-gradient(circle, rgba(8, 33, 58, 0.06) 0%, rgba(8, 33, 58, 0.01) 70%, transparent 100%);
    border: 1px solid rgba(8, 33, 58, 0.10);
}
.page-id-72 .usluga-section-icon-ring:after {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 50%;
    border: 1px dashed rgba(204, 204, 153, 0.18);
}
.page-id-72 .usluga-section--light .usluga-section-icon-ring:after {
    border-color: rgba(8, 33, 58, 0.12);
}
.page-id-72 .usluga-section-icon-ring .fa {
    font-size: clamp(80px, 9vw, 140px);
    color: #cccc99;
    line-height: 1;
}
.page-id-72 .usluga-section--light .usluga-section-icon-ring .fa {
    color: #cccc99;
    text-shadow: 0 4px 18px rgba(8, 33, 58, 0.08);
}

/* ---- 4) PROCES "Jak współpracujemy" V3 --------------------------- */
.page-id-72 .uslugi-process--v3 {
    background: #fafaf3;
    padding: 96px 24px;
    position: relative;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-inner {
    max-width: 1680px;
    margin: 0 auto;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-header {
    text-align: center;
    margin-bottom: 64px;
}
.page-id-72 .uslugi-section-title-v3 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 3.8vw, 48px);
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 24px 0;
}
.page-id-72 .uslugi-section-title-v3--dark { color: #08213a; }
.page-id-72 .uslugi-section-title-v3--light { color: #ffffff; }
.page-id-72 .uslugi-section-divider--center {
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-step {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(8, 33, 58, 0.08);
    border-radius: 4px;
    padding: 48px 36px 40px;
    text-align: center;
    transition: all 0.28s ease;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-step:hover {
    transform: translateY(-4px);
    border-color: rgba(204, 204, 153, 0.4);
    box-shadow: 0 18px 38px rgba(8, 33, 58, 0.10);
}
.page-id-72 .uslugi-process--v3 .uslugi-process-number {
    position: absolute;
    top: 14px;
    right: 22px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 64px;
    font-weight: 600;
    color: rgba(204, 204, 153, 0.32);
    line-height: 1;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: rgba(204, 204, 153, 0.14);
    border: 1px solid rgba(204, 204, 153, 0.4);
    margin: 0 auto 26px;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-icon .fa {
    font-size: 30px;
    color: #cccc99;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    color: #08213a;
    margin: 0 0 14px 0;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-step p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #4a4a4a;
    margin: 0;
}

/* ---- 5) DLACZEGO WARTO V3 ---------------------------------------- */
.page-id-72 .uslugi-why--v3 {
    background: #08213a;
    padding: 96px 24px;
    position: relative;
}
.page-id-72 .uslugi-why--v3:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(204, 204, 153, 0.06) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 70%, rgba(204, 204, 153, 0.04) 0%, transparent 60%);
    pointer-events: none;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-inner {
    position: relative;
    max-width: 1680px;
    margin: 0 auto;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-header {
    text-align: center;
    margin-bottom: 64px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item {
    text-align: center;
    padding: 0 12px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin: 0 auto 28px;
    color: #cccc99;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-icon .fa {
    font-size: 72px;
    color: #cccc99;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item h4 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 14px 0;
    line-height: 1.25;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #d9d4c0;
    margin: 0 auto;
    max-width: 320px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item p a {
    color: #cccc99;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item p a:hover { color: #ffffff; }

/* ---- 6) RESPONSIVE ----------------------------------------------- */
@media (max-width: 1199px) {
    .page-id-72 .usluga-section { padding: 80px 24px; }
    .page-id-72 .usluga-section-inner { gap: 56px; }
}

@media (max-width: 991px) {
    .page-id-72 .uslugi-hero--editorial { min-height: clamp(480px, 70vh, 700px); padding: 64px 20px; }
    .page-id-72 .uslugi-stats-bar--v3 { padding: 36px 18px; }
    .page-id-72 .uslugi-stats-bar--v3 .uslugi-stats-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
    }
    .page-id-72 .uslugi-stats-bar--v3 .uslugi-stat { border-left: none; }
    .page-id-72 .uslugi-stats-bar--v3 .uslugi-stat:nth-child(2n) { border-left: 1px solid rgba(204, 204, 153, 0.18); }

    /* Sekcje obszarów — stack pionowy, tekst nad ikoną */
    .page-id-72 .usluga-section { padding: 64px 22px; }
    .page-id-72 .usluga-section-inner,
    .page-id-72 .usluga-section-inner--text-right {
        grid-template-columns: 1fr;
        gap: 40px;
        min-height: 0;
    }
    .page-id-72 .usluga-section-inner--text-right .usluga-section-text,
    .page-id-72 .usluga-section-inner--text-right .usluga-section-visual {
        grid-column: 1;
        grid-row: auto;
    }
    .page-id-72 .usluga-section-text { max-width: 100%; }
    .page-id-72 .usluga-section-watermark {
        font-size: clamp(120px, 28vw, 200px);
        top: 10px;
    }
    .page-id-72 .usluga-section-icon-ring {
        width: 200px;
        height: 200px;
    }
    .page-id-72 .usluga-section-icon-ring .fa { font-size: 88px; }

    .page-id-72 .uslugi-process--v3 { padding: 64px 22px; }
    .page-id-72 .uslugi-process--v3 .uslugi-process-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .page-id-72 .uslugi-why--v3 { padding: 64px 22px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }
}

@media (max-width: 767px) {
    .page-id-72 .uslugi-hero--editorial { padding: 56px 18px; min-height: 0; }
    .page-id-72 .uslugi-hero--editorial .uslugi-hero-title { font-size: 36px; margin-bottom: 22px; }
    .page-id-72 .uslugi-hero--editorial .uslugi-hero-divider { margin-bottom: 24px; }
    .page-id-72 .uslugi-hero--editorial .uslugi-hero-lead { font-size: 16px; margin-bottom: 30px; }
    .page-id-72 .uslugi-hero--editorial .uslugi-btn {
        width: 100%; max-width: 320px; padding: 14px 24px;
    }

    .page-id-72 .uslugi-stats-bar--v3 .uslugi-stat-figure { font-size: 26px; }
    .page-id-72 .uslugi-stats-bar--v3 .uslugi-stat-label { font-size: 10px; letter-spacing: 1.4px; }

    .page-id-72 .usluga-section { padding: 56px 18px; }
    .page-id-72 .usluga-section-title { font-size: 28px; }
    .page-id-72 .usluga-section-lead { font-size: 15px; }
    .page-id-72 .usluga-section-list li { font-size: 14.5px; }
    .page-id-72 .usluga-section-icon-ring { width: 160px; height: 160px; }
    .page-id-72 .usluga-section-icon-ring .fa { font-size: 64px; }
    .page-id-72 .usluga-section-watermark { font-size: 110px; opacity: 0.7; }

    .page-id-72 .uslugi-section-title-v3 { font-size: 28px; }
    .page-id-72 .uslugi-process--v3 .uslugi-process-step { padding: 38px 24px 32px; }
    .page-id-72 .uslugi-process--v3 .uslugi-process-number { font-size: 48px; top: 10px; right: 18px; }

    .page-id-72 .uslugi-why--v3 .uslugi-why-icon { width: 80px; height: 80px; margin-bottom: 22px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-icon .fa { font-size: 58px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-item h4 { font-size: 21px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-item p { font-size: 15px; }
}

/* === /[V3] STRONA /uslugi-prawne — editorial wide redesign === */


/* ==========================================================================
   [U12] Typografia consistency fix — spójność fontów per sekcja
   --------------------------------------------------------------------------
   Problem zgłoszony: w Footer Wariant C linijka "ul. Opaczewska 30" i
   "05-090 Raszyn" (druga w <span.footer-c-zip-indent>) wyglądają inaczej —
   user widział to jako różnicę kroju czcionki LUB różnicę wyrównania.

   Diagnoza (audyt 2026-06-06):
     - .footer-c-contact-list li ma display:flex; align-items:flex-start;
       <br> wewnątrz flex containera NIE łamie linii — staje się "duchem"
       a <span.footer-c-zip-indent> staje się kolejnym flex-itemem obok
       "ul. Opaczewska 30". Stąd dwa fragmenty na tej samej linii,
       z różnym wyrównaniem do .fa ikony pin'a.
     - Font-family na <span> NIE jest jawnie ustawiony — dziedziczy z <li>
       (Source Sans 3) DOPÓKI żadna inna reguła go nie przebije. Ale
       z uwagi na różne baseline/positioning w flex (icon ma margin-top:4px)
       te dwa fragmenty NIE mają identycznego baseline'u — wizualnie
       wygląda na drift.
     - Tematycznie też audyt innych sekcji: numbers.php / process.php nie
       mają jawnego font-family — dziedziczą z body (Roboto z theme style.css)
       a nie z Source Sans 3 jak chcemy. Po drodze h4 process-step-title
       wpada na 'Lora', serif (style.css:196) co tworzy WIZUALNY drift między
       liczbami (sans) a tytułami (serif fallback).

   Strategia fix:
     1. Footer C contact list — wymusić font-family Source Sans 3 na WSZYSTKICH
        descendantach + zamienić display:flex li na block z proper icon offset
        (icon absolute / inline-block z margin) tak aby <br> działało
        i indent zip był pod adresem.
     2. Numbers, Process, Founder, Focus — wymusić font-family rodzin
        per sekcja (sans body + Playfair tytuły) dla pewności (większa
        specificity bije theme defaults).
     3. Wszystkie eyebrowy / small uppercase — Source Sans 3.

   Klasy scope'owane do home sekcji (.home / #liczby / #proces / .about-us
   / .founder-section / .focus / .gr-/.ti- / .contact-us) plus #footer.
   ========================================================================== */

/* ---- 1) FOOTER WARIANT C — kontakt block jednolity font + proper indent ---- */

/* Reset display:flex na <li> w contact list (powodował zżeranie <br>).
   Wracamy do bloku z relative positioning, ikona absolute lewo. */
#footer .footer-c-contact-list li {
    display: block !important;
    position: relative !important;
    padding-left: 26px !important;
    gap: 0 !important;
}
#footer .footer-c-contact-list li .fa {
    position: absolute !important;
    left: 0 !important;
    top: 5px !important;
    margin-top: 0 !important;
    width: 16px !important;
    text-align: center !important;
}

/* Cały blok kontaktu — jedna rodzina (Source Sans 3) na wszystkim oprócz ikon FA. */
#footer .footer-c-contact-list,
#footer .footer-c-contact-list li,
#footer .footer-c-contact-list li > *:not(.fa),
#footer .footer-c-contact-list a,
#footer .footer-c-contact-list span,
#footer .footer-c-zip-indent {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* Druga linia adresu — wyrównana pod "ul." z pierwszej linii (zero dodatkowego marginu,
   bo padding-left:26px na <li> już daje równy lewy slup). Display block żeby <br>
   pewnie łamało nawet gdy parent miałby gdzieś flex. */
#footer .footer-c-contact-list li .footer-c-zip-indent {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Linki w kontakt liście — ten sam font co reszta li (bez italic, bez serif). */
#footer .footer-c-contact-list li a,
#footer .footer-c-contact-list li a:hover,
#footer .footer-c-contact-list li a:visited {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* Cała kolumna kontakt (tytuł + lista + socials) — sans-serif spójnie. */
#footer .footer-c-contact,
#footer .footer-c-contact-title,
#footer .footer-c-contact * {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
/* Wyjątek: ikony FontAwesome muszą zostać z własną rodziną. */
#footer .footer-c-contact .fa,
#footer .footer-c-contact-list .fa,
#footer .footer-c-social .fa {
    font-family: 'FontAwesome' !important;
}

/* Kolumna brand — eyebrow (Source Sans 3) + Playfair tytuł + Source Sans 3 filozofia.
   Wymuszamy żeby <p>/<span> wewnątrz brand nie podchwyciły jakiegoś inherita. */
#footer .footer-c-brand .footer-c-eyebrow,
#footer .footer-c-brand .footer-c-philosophy {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
#footer .footer-c-brand .footer-c-brand-title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}

/* Pasek linków i legal bar — wszystko Source Sans 3. */
#footer .footer-c-links-label,
#footer .footer-c-links,
#footer .footer-c-links li,
#footer .footer-c-links li a,
#footer .footer-c-copyright,
#footer .footer-c-legal-links,
#footer .footer-c-legal-links a,
#footer .footer-c-sep {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}


/* ---- 2) NUMBERS section — jednolicie sans na figurach i labelach -------- */
.numbers-section,
.numbers-section .numbers-row,
.numbers-section .numbers-item,
.numbers-section .numbers-figure,
.numbers-section .numbers-figure-text,
.numbers-section .numbers-label {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}


/* ---- 3) PROCESS section — numerki + tytuły + opisy, spójna hierarchia --- */
/* Strategia: numery jako sans-display (Source Sans 3 600/700), tytuły Playfair,
   opisy Source Sans 3 regular. To bije theme h4 = 'Lora', serif (style.css). */
.process-section,
.process-section .container,
.process-section .process-row,
.process-section .process-step {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
.process-section .process-step-number {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 700 !important;
}
.process-section .process-step-title,
.process-section h4.process-step-title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
}
.process-section .process-step-desc,
.process-section p.process-step-desc {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}
/* Section header w process: h2 Playfair, h6 Source Sans 3 (eyebrow style). */
.process-section .section-header h2 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
}
.process-section .section-header h6 {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}


/* ---- 4) FOUNDER card — wszystkie linie body w jednej rodzinie ----------- */
.founder-section,
.founder-card,
.founder-body,
.founder-body * {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
/* Wyjątek: .founder-name to Playfair (już ustawione w 509, dla pewności override). */
.founder-section .founder-name,
.founder-card .founder-name {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}
/* Ikony FA pod founder-actions */
.founder-section .fa,
.founder-card .fa {
    font-family: 'FontAwesome' !important;
}


/* ---- 5) FOCUS (Zakres usług) — section-header + boxy spójnie -----------
   UWAGA: na tym site body NIE ma klasy .home (front-page sterowane przez
   front-page.php zamiast WP Reading Settings → static front page), więc
   selektory scope'ujemy przez body (zamiast .home). */
body .focus,
body .focus .focus-box,
body .focus .focus-box p,
body .focus .focus-box .focus-box-text {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
body .focus .section-header h2,
body .focus .focus-box h4 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
}
body .focus .section-header h6 {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-style: normal !important;
}


/* ---- 6) ABOUT US (Kancelaria) — body sans, h2 Playfair, h6 sans -------- */
body .about-us p,
body .about-us .about-us-text,
body .about-us a.btn-about,
body .about-us .btn-about {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
body .about-us .section-header h2 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
}
body .about-us .section-header h6 {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-style: normal !important;
}


/* ---- 7) CONTACT-US — formularz + dane kontaktowe spójnie --------------- */
body .contact-us .section-header h2 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
}
body .contact-us .section-header h6 {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
    font-style: normal !important;
}
/* contact-info-col — cała kolumna jednolicie sans, tytuł Playfair */
body .contact-us .contact-info-col,
body .contact-us .contact-info-col p,
body .contact-us .contact-info-col a,
body .contact-us .contact-info-col .contact-info-note {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
body .contact-us .contact-info-col h3 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}


/* ---- 8) GOOGLE REVIEWS (Opinie Google) header spójnie ------------------ */
.gr-eyebrow,
.gr-rating-number,
.gr-rating-count,
.gr-rating-count a,
.gr-summary {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif !important;
}
.gr-section-title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}


/* === /[U12] === */


/* ================================================================== *
 * === [V4] /uslugi-prawne — minimal editorial uproszczenie =========== *
 * ================================================================== *
 * Krytyka V3: zbyt toporne — gigantyczne watermarki 280px, ringi
 * 320px z dashed border, ikony 140px, paddings 96px, 7x zebra granat/
 * kremowa wyglądało jak tutorial 2018, nie jak DZP/WKB boutique.
 *
 * V4 stosuje editorial minimalism premium law firm:
 *  - Watermark numery usunięte (zostaje eyebrow "Obszar 01 / 07")
 *  - Ringi 120px subtle, ikona 36-40px (dyskretny akcent, nie centrum)
 *  - Dashed border wewnętrzny usunięty
 *  - Padding sekcji 96px → 72px (mniej oddechu pustego)
 *  - Grid 1.15/0.85 → 1.4/0.6 — tekst dominuje, ikona to akcent
 *  - "Jak współpracujemy" numery 64px → 36px, ikony 78px → 48px
 *  - "Dlaczego warto" ikony 72px → 34px
 *  - Min-height sekcji 440px → auto (nie wymuszamy pustki)
 *
 * Typografia jest gwiazdą. Ikona i numer są sygnałem, nie dekoracją.
 * Stylistyka spójna z home (Playfair + Source Sans 3, #08213a / #cccc99).
 * ------------------------------------------------------------------ */

/* ---- 1) Sekcje obszarów praktyki — uproszczenie ------------------- */

/* Mniej padding-vertical (96 → 72) — sekcji jest 7, sumarycznie redukcja
   ~336px wysokości na desktopie, mniej "ścian" pustego tła. */
.page-id-72 .usluga-section {
    padding: 72px 24px;
}

/* Watermark numerek — usuwamy całkowicie. Eyebrow "Obszar 01 / 07"
   pełni rolę numeracji w sposób editorial, nie dekoracyjny. */
.page-id-72 .usluga-section-watermark {
    display: none !important;
}

/* Grid — tekst dominuje (1.4 / 0.6 zamiast 1.15 / 0.85), bo wizual to
   tylko akcent. Mniej gap (80 → 64). Min-height auto (V3 miało 440px
   wymuszone, co tworzyło dziwne puste przestrzenie). */
.page-id-72 .usluga-section-inner,
.page-id-72 .usluga-section-inner--text-right {
    grid-template-columns: 1.4fr 0.6fr;
    gap: 64px;
    min-height: 0;
    align-items: center;
}
.page-id-72 .usluga-section-inner--text-right {
    grid-template-columns: 0.6fr 1.4fr;
}

/* Tekst — szersze max-width (640 → 700), żeby lead i lista miały więcej
   miejsca skoro wizual zajmuje mniej. */
.page-id-72 .usluga-section-text { max-width: none !important; }

/* Visual — ring SUBTLE. 220-320 → 120px, ikona 80-140 → 40px.
   Z minimum decorative — bez dashed inner border, bez radial gradient
   tła, tylko cieniutka obwódka okrągła. */
.page-id-72 .usluga-section-icon-ring {
    width: 120px;
    height: 120px;
}
.page-id-72 .usluga-section--dark .usluga-section-icon-ring {
    background: transparent;
    border: 1px solid rgba(204, 204, 153, 0.28);
}
.page-id-72 .usluga-section--light .usluga-section-icon-ring {
    background: transparent;
    border: 1px solid rgba(8, 33, 58, 0.14);
}
/* Usuwamy dashed inner ring — to było "ozdoba ozdoby". */
.page-id-72 .usluga-section-icon-ring:after {
    content: none !important;
}
.page-id-72 .usluga-section-icon-ring .fa {
    font-size: 40px;
    color: #cccc99;
}
.page-id-72 .usluga-section--light .usluga-section-icon-ring .fa {
    color: #cccc99;
    text-shadow: none;
}

/* ---- 2) "Jak współpracujemy" — czyściej, bez sceny -------------- */

/* Mniej padding sekcji (96 → 72). */
.page-id-72 .uslugi-process--v3 { padding: 72px 24px; }
.page-id-72 .uslugi-process--v3 .uslugi-process-header { margin-bottom: 48px; }

/* Card padding (48/36 → 36/28), mniej masywne. Bez box-shadow przy hover
   tak głębokiego — subtelniej. */
.page-id-72 .uslugi-process--v3 .uslugi-process-step {
    padding: 36px 28px 32px;
    border-radius: 2px;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-step:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(8, 33, 58, 0.07);
}

/* Numer w corner — 64 → 36, mniejsza waga wizualna. */
.page-id-72 .uslugi-process--v3 .uslugi-process-number {
    top: 12px;
    right: 18px;
    font-size: 36px;
    color: rgba(204, 204, 153, 0.45);
    letter-spacing: -1px;
}

/* Ikona ring 78 → 48, ikona 30 → 18. Drobny akcent gold. */
.page-id-72 .uslugi-process--v3 .uslugi-process-icon {
    width: 48px;
    height: 48px;
    background: transparent;
    border: 1px solid rgba(204, 204, 153, 0.45);
    margin: 0 auto 22px;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-icon .fa {
    font-size: 18px;
}

/* Tytuł kroku trochę mniejszy (26 → 22). */
.page-id-72 .uslugi-process--v3 .uslugi-process-title {
    font-size: 22px;
    margin-bottom: 12px;
}
.page-id-72 .uslugi-process--v3 .uslugi-process-step p { font-size: 15px; }

/* ---- 3) "Dlaczego warto" — ikony dyskretne ---------------------- */

.page-id-72 .uslugi-why--v3 { padding: 72px 24px; }
.page-id-72 .uslugi-why--v3 .uslugi-why-header { margin-bottom: 48px; }
.page-id-72 .uslugi-why--v3 .uslugi-why-grid { gap: 48px; }

/* Ikona 72px → 34px, kontener 96 → 48, bez ramki — czysty akcent gold. */
.page-id-72 .uslugi-why--v3 .uslugi-why-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 22px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-icon .fa {
    font-size: 34px;
}

/* Tytuł 24 → 21, lead 16 → 15. */
.page-id-72 .uslugi-why--v3 .uslugi-why-item h4 {
    font-size: 21px;
    margin-bottom: 12px;
}
.page-id-72 .uslugi-why--v3 .uslugi-why-item p { font-size: 15px; }

/* ---- 4) Stats bar — drobniejsza presence ------------------------ */
.page-id-72 .uslugi-stats-bar--v3 { padding: 36px 24px; }
.page-id-72 .uslugi-stats-bar--v3 .uslugi-stat-figure {
    font-size: clamp(26px, 2.8vw, 36px);
}

/* ---- 5) Hero — drobne wyciszenie ------------------------------- */
/* Hero zostaje, ale lekko skracamy min-height z 80vh do 72vh, redukujemy
   glow circle z 720 do 560 (mniej "scena teatralna"). */
.page-id-72 .uslugi-hero--editorial {
    min-height: clamp(520px, 72vh, 740px);
}
.page-id-72 .uslugi-hero--editorial .uslugi-hero-glow {
    width: 560px;
    height: 560px;
}

/* ---- 6) Responsive overrides — V4 spójność ---------------------- */
@media (max-width: 991px) {
    .page-id-72 .usluga-section { padding: 56px 22px; }
    .page-id-72 .usluga-section-inner,
    .page-id-72 .usluga-section-inner--text-right {
        gap: 32px;
    }
    .page-id-72 .usluga-section-icon-ring {
        width: 96px;
        height: 96px;
    }
    .page-id-72 .usluga-section-icon-ring .fa { font-size: 34px; }
    .page-id-72 .uslugi-process--v3 { padding: 56px 22px; }
    .page-id-72 .uslugi-why--v3 { padding: 56px 22px; }
}

@media (max-width: 767px) {
    .page-id-72 .usluga-section { padding: 48px 18px; }
    .page-id-72 .usluga-section-title { font-size: 26px; }
    .page-id-72 .usluga-section-icon-ring { width: 84px; height: 84px; }
    .page-id-72 .usluga-section-icon-ring .fa { font-size: 30px; }
    .page-id-72 .uslugi-process--v3 .uslugi-process-step { padding: 32px 22px 28px; }
    .page-id-72 .uslugi-process--v3 .uslugi-process-number { font-size: 28px; top: 10px; right: 14px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-icon { width: 42px; height: 42px; margin-bottom: 18px; }
    .page-id-72 .uslugi-why--v3 .uslugi-why-icon .fa { font-size: 28px; }
}

/* === /[V4] === */


/* ==========================================================================
 * [U14] WYRÓWNANIE TEKSTU HOME — alignment consistency
 * --------------------------------------------------------------------------
 * Audyt UX home: 8 sekcji (hero, numbers, process, kancelaria, founder,
 * focus, opinie Google, footer). Cele:
 *   1) Hero — buttony + badge w jednej osi pionowej, równe wysokości CTA.
 *   2) Numbers — 4 liczby na wspólnym baseline (już są dzięki flex-end,
 *      ale numbers-figure-text "Warszawa" miał inny rozmiar → fix baseline).
 *   3) Process — 3 kroki równej wysokości (stretch + flex column).
 *   4) Kancelaria/about-us — paragraf wycentrowany (max-width dla czytelności).
 *   5) Founder card — wycentrowana pod sekcją Kancelaria (już OK, kosmetyka).
 *   6) Focus boxes (6 boxów 3×2) — równe wysokości tła (stretch + flex column).
 *   7) Opinie Google — header centered + Trustindex centered container.
 *   8) Footer Wariant C — 4 elementy wycentrowane (już OK, kosmetyka).
 *
 * Specificity: `html body` żeby przebić [F2], [V3], [U12] i theme_mods.
 * Mobile: dedykowane @media (max-width: 767px) na końcu.
 * ========================================================================== */

/* --- 1) HERO — równe CTA buttony + jednolity rytm pionowy --------------- */
html body .home-header-wrap .big-title-container {
    text-align: center !important;
}
html body .big-title-container .buttons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 32px !important;
    flex-wrap: wrap;
}
/* Equal-width CTA — eliminacja 210px vs 176px różnicy szerokości */
html body .big-title-container .buttons .custom-button {
    box-sizing: border-box !important;
    min-width: 220px !important;
    padding: 14px 28px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* Badge row pod CTA — równa szerokość obu badges, jednolite top */
html body .hero-trust-badges {
    margin-top: 28px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    flex-wrap: wrap;
}
html body .hero-trust-badges .hero-badge {
    min-width: 220px !important;
    box-sizing: border-box;
}

/* --- 2) NUMBERS — baseline alignment + spójny spacing ------------------- */
html body .numbers-section .numbers-row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-end !important;
    justify-content: center;
}
html body .numbers-section .numbers-item {
    text-align: center !important;
    padding: 20px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
}
/* Wszystkie figury (włącznie z "Warszawa" text-figure) na wspólnym dolnym baseline */
html body .numbers-section .numbers-figure {
    min-height: 52px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    line-height: 1 !important;
}
html body .numbers-section .numbers-label {
    margin-top: 12px !important;
    text-align: center !important;
}

/* --- 3) PROCESS — 3 kroki równej wysokości ----------------------------- */
html body .process-section .process-row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch !important;
}
html body .process-section .process-step {
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
}
html body .process-section .process-step-number,
html body .process-section .process-step-title {
    text-align: center !important;
}
/* Tytuły kroków na jednej linii — min-height (2 linijki rezerwa) */
html body .process-section .process-step-title {
    min-height: 32px;
}
/* Opisy na dnie boxa — równomierny rozkład pionowy */
html body .process-section .process-step-desc {
    margin-top: auto !important;
    padding-top: 6px;
}
html body .process-section .section-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

/* --- 4) KANCELARIA (about-us) — centrowany paragraf z max-width -------- */
html body section.about-us .section-header {
    text-align: center !important;
}
html body section.about-us .row {
    text-align: center !important;
}
html body section.about-us .column {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}
html body section.about-us .logics_about_us_center p,
html body section.about-us p {
    text-align: center !important;
    max-width: 980px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- 5) FOUNDER CARD — wycentrowanie pod about-us, spójny offset ------- */
html body .founder-section {
    text-align: center !important;
}
html body .founder-card {
    margin-left: auto !important;
    margin-right: auto !important;
}
html body .founder-actions {
    justify-content: center !important;
}
/* Founder eyebrow + name + buttony zachowują równy lewy margin (text-align center na body) */
html body .founder-body {
    text-align: center !important;
}

/* --- 6) FOCUS BOXES — 6 boxów, równe wysokości tła + alignment --------- */
html body section.focus .container > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: center;
    /* override .focus .row { text-align: center } pozostaje */
}
html body section.focus .container > .row .focus-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    /* Bootstrap inline-block z motywu → flex column, ale kolumny grid działają nadal */
    float: none !important;
    vertical-align: top;
    margin-bottom: 30px !important;
}
/* Ikona + tytuł + opis pionowo zsynchronizowane.
   Service icon centered, h5 (tytuł) na tej samej linii w row dzięki min-height. */
html body section.focus .focus-box .service-icon {
    margin: 0 auto 20px !important;
}
html body section.focus .focus-box h5 {
    min-height: 22px;
    margin-bottom: 18px !important;
    text-align: center !important;
}
/* Paragraf zajmuje resztę przestrzeni - bottom wyrównany z innymi boxami */
html body section.focus .focus-box p {
    margin: 0 !important;
    text-align: center !important;
    flex: 1 1 auto;
}

/* --- 7) OPINIE GOOGLE — header + Trustindex widget centered ------------ */
html body .google-reviews-section {
    text-align: center !important;
}
html body .google-reviews-section .gr-section-header {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
html body .google-reviews-section .gr-summary {
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    flex-wrap: wrap;
}
html body .google-reviews-section .gr-widget-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1340px;
}

/* --- 8) FOOTER Wariant C — 4 elementy na osi środka -------------------- */
html body .footer-c-main,
html body .footer-c-links-bar,
html body .footer-c-legal-bar {
    text-align: center !important;
}
html body .footer-c-main > *,
html body .footer-c-links-bar > *,
html body .footer-c-legal-bar > * {
    margin-left: auto;
    margin-right: auto;
}

/* --- 9) RYTM PIONOWY — synchronizacja paddingów sekcji w content ------- */
/* Stan przed: numbers 60, process 80, focus 100, about-us 100, founder 0+80,
   reviews 70+60, contact 100+0. Cel: spójny 80px na desktop. */
@media (min-width: 992px) {
    html body .numbers-section { padding: 70px 0 !important; }
    html body .process-section { padding: 80px 0 !important; }
    html body section.focus { padding: 80px 0 !important; }
    html body section.about-us { padding: 80px 0 40px !important; }
    html body .founder-section { padding: 0 0 80px !important; }
    html body .google-reviews-section { padding: 70px 0 70px !important; }
}

/* --- 10) MOBILE alignment — guard dla 360-767px ------------------------ */
@media (max-width: 767px) {
    /* Hero buttony zostają column (zostaje pierwotny mobile fix); usuwamy
       min-width żeby nie powodować poziomego scrolla */
    html body .big-title-container .buttons .custom-button {
        min-width: 0 !important;
        width: 100% !important;
    }
    html body .hero-trust-badges {
        flex-direction: column;
        align-items: center !important;
        gap: 12px !important;
    }
    html body .hero-trust-badges .hero-badge {
        min-width: 0 !important;
        width: auto !important;
    }
    /* Numbers — pozostaje 2x2 grid, zmniejszony padding (już w sekcji <style>) */
    html body .numbers-section .numbers-row {
        align-items: flex-end !important;
    }
    /* Process — kroki w kolumnie, separator między nimi pozostaje (z PHP <style>) */
    html body .process-section .process-step-title {
        min-height: 0;
    }
    /* Focus boxy — 1 kolumna, równa szerokość kontenera */
    html body section.focus .container > .row {
        flex-direction: column;
        align-items: stretch !important;
    }
    /* About-us paragraf — pełna szerokość kontenera mobile */
    html body section.about-us .logics_about_us_center p,
    html body section.about-us p {
        max-width: 100%;
        padding: 0 8px;
    }
}

/* === /[U14] WYRÓWNANIE TEKSTU HOME === */

/* === [U16] Kolorystyka /uslugi-prawne — fix low contrast =================
 *
 * PROBLEM (zgłoszony przez user-a):
 *   Tytuł sekcji "Dlaczego klienci wybierają naszą kancelarię" jest
 *   praktycznie niewidoczny — granat na granatowym tle.
 *
 * ROOT CAUSE — wojna specyficzności:
 *   Globalna reguła z restyling.css linia 880 nadpisuje tytuły v3:
 *     .site-content .entry-content h2 { color: #08213a; }        (0,2,1)
 *     .page-id-72 .uslugi-section-title-v3--light { color: #fff; } (0,2,0)
 *   Generic h2 wygrywa → tytuł "Dlaczego klienci..." (na tle #08213a)
 *   dostaje kolor #08213a → kontrast 1:1 → element NIEWIDOCZNY.
 *   Sekcja "Jak współpracujemy" (--dark, tło #fafaf3) wygląda dobrze
 *   tylko PRZYPADKIEM — generic h2 narzuca #08213a, który akurat
 *   pasuje do kremowego tła.
 *
 * FIX:
 *   Podnosimy specyficzność reguł v3 do (0,3,1) tak, by pewnie wygrały
 *   z globalnym .site-content .entry-content h2. Dodatkowo wzmacniamy
 *   tytuły premium i editorial (na wypadek podobnych konfliktów).
 * ======================================================================== */

/* --- 1) Tytuły sekcji v3 — wymuszenie koloru pomimo globalnego h2 ---- */
.page-id-72 .uslugi-prawne-page--v3 h2.uslugi-section-title-v3,
.page-id-72 .uslugi-prawne-page h2.uslugi-section-title-v3 {
    /* baza — Playfair, zachowana */
    color: inherit;
}
.page-id-72 .uslugi-prawne-page--v3 h2.uslugi-section-title-v3--light,
.page-id-72 .uslugi-prawne-page h2.uslugi-section-title-v3--light {
    color: #ffffff;                  /* na tle #08213a → kontrast ~15.6:1 */
}
.page-id-72 .uslugi-prawne-page--v3 h2.uslugi-section-title-v3--dark,
.page-id-72 .uslugi-prawne-page h2.uslugi-section-title-v3--dark {
    color: #08213a;                  /* na tle #fafaf3 → kontrast ~15.0:1 */
}

/* --- 2) Tytuł sekcji why (Playfair) — fallback dla starszych wariantów - */
.page-id-72 .uslugi-why--v3 .uslugi-why-header h2,
.page-id-72 .uslugi-why--v3 .uslugi-why-header .uslugi-section-title-v3 {
    color: #ffffff;
}

/* --- 3) Eyebrow "WARTOŚĆ" — wzmocnienie kontrastu na granacie -------- */
/*  Stary kolor: #cccc99 na #08213a — kontrast ~6.8:1 (OK).
 *  Lekko podbijamy luminancję, by mała wielkość (12px) była czytelna. */
.page-id-72 .uslugi-prawne-page--v3 .uslugi-why--v3 .uslugi-eyebrow {
    color: #d9d4a0;                  /* kontrast ~8.4:1 */
}

/* --- 4) H4 kart why ("18 lat doświadczenia" itd.) — pewność ---------- */
.page-id-72 .uslugi-prawne-page--v3 .uslugi-why--v3 .uslugi-why-item h4 {
    color: #ffffff;                  /* kontrast ~15.6:1 */
}

/* --- 5) Body p kart why — fix dla globalnego entry-content p -------- */
/*  Globalny .entry-content p może narzucać #4a4a4a / kolor body —
 *  zapewniamy, że na granacie pozostaje #d9d4c0. */
.page-id-72 .uslugi-prawne-page--v3 .uslugi-why--v3 .uslugi-why-item p {
    color: #d9d4c0;                  /* kontrast ~10:1 na #08213a */
}
.page-id-72 .uslugi-prawne-page--v3 .uslugi-why--v3 .uslugi-why-item p a {
    color: #e8e0ad;                  /* link gold jaśniejszy, kontrast ~10:1 */
}

/* --- 6) Tytuł H1 hero — defensywne wzmocnienie ---------------------- */
/* Już ma (0,3,0) — ale globalne .entry-content h1 (jeśli istnieje)
 * mogłoby zaszkodzić. Tu zostawiamy biały. */
.page-id-72 .uslugi-prawne-page--v3 .uslugi-hero--editorial h1.uslugi-hero-title {
    color: #ffffff;
}

/* --- 7) Tytuły premium (starszy wariant) — także zabezpieczone ------ */
.page-id-72 .uslugi-prawne-page h2.uslugi-section-title.uslugi-section-title--hero,
.page-id-72 .uslugi-prawne-page h2.uslugi-section-title.uslugi-section-title--light {
    color: #ffffff;
}

/* === /[U16] Kolorystyka /uslugi-prawne — fix low contrast === */

/* === [V5] STRONA /referencje — Wariant B Hero+Filtered Grid =================
 * Inspiracja: Harper James + Stowe Family Law boutique B2C.
 * Spójne z home / /uslugi-prawne (page 72): Playfair Display + Source Sans 3 +
 * Cormorant Garamond (cytaty editorial), eyebrow gold uppercase 2.4px,
 * section title z 56-64×2px gold divider.
 * Cały redesign scope'owany do .page-id-200 .ref-page-wrap żeby NIE wpłynął
 * na pozostałe podstrony i na starszy szablon [M1.12d] poniżej w pliku.
 * =========================================================================== */

/* Full-width breakout — tak jak [U15] na /uslugi-prawne v3 */
.page-id-200 .entry-content > .ref-page-wrap,
.page-id-200 .ref-page-wrap {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    color: #08213a;
    font-family: "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.page-id-200 .ref-page-wrap *,
.page-id-200 .ref-page-wrap *:before,
.page-id-200 .ref-page-wrap *:after { box-sizing: border-box; }

/* Globalny override żeby motyw nie wstawiał cudzysłowów typograficznych
 * na blockquote / cite (research: feels 2015). */
.page-id-200 .ref-page-wrap blockquote:before,
.page-id-200 .ref-page-wrap blockquote:after,
.page-id-200 .ref-page-wrap cite:before,
.page-id-200 .ref-page-wrap cite:after { content: none !important; display: none !important; }

/* Wspólny eyebrow */
.page-id-200 .ref-page-wrap .ref-eyebrow {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 16px;
}
.page-id-200 .ref-page-wrap .ref-eyebrow--dark { color: #8a7c2a; }

/* --- HERO ----------------------------------------------------------------- */
.page-id-200 .ref-page-wrap .ref-hero {
    background-color: #08213a;
    background-image:
        linear-gradient(180deg, rgba(8,33,58,0.78) 0%, rgba(8,33,58,0.65) 50%, rgba(8,33,58,0.88) 100%),
        url('/wp-content/uploads/lawBG-6.png');
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat;
    padding: clamp(72px, 11vw, 140px) 24px clamp(64px, 9vw, 112px);
    text-align: center;
    color: #fafaf3;
    position: relative;
}
.page-id-200 .ref-page-wrap .ref-hero-inner {
    max-width: 880px;
    margin: 0 auto;
}
.page-id-200 .ref-page-wrap .ref-hero .ref-eyebrow { color: #cccc99; }
.page-id-200 .ref-page-wrap .ref-hero-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 32px;
    position: relative;
    padding-bottom: 28px;
}
.page-id-200 .ref-page-wrap .ref-hero-title:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 2px;
    background: #cccc99;
}
.page-id-200 .ref-page-wrap .ref-hero-rating {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 18px;
    margin-bottom: 14px;
}
.page-id-200 .ref-page-wrap .ref-hero-stars {
    color: #cccc99;
    font-size: clamp(40px, 5vw, 56px);
    letter-spacing: 6px;
    line-height: 1;
}
.page-id-200 .ref-page-wrap .ref-hero-rating-number {
    font-family: "Playfair Display", Georgia, serif;
    color: #ffffff;
    font-weight: 500;
    font-size: clamp(36px, 4.5vw, 50px);
    line-height: 1;
}
.page-id-200 .ref-page-wrap .ref-hero-rating-link {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 14px;
    color: #cccc99;
    text-decoration: underline;
    text-underline-offset: 4px;
    letter-spacing: 0.3px;
}
.page-id-200 .ref-page-wrap .ref-hero-rating-link:hover { color: #ffffff; }
.page-id-200 .ref-page-wrap .ref-hero-lead {
    margin: 28px auto 0;
    max-width: 640px;
    color: rgba(250,250,243,0.82);
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.7;
}

/* --- TRUSTINDEX SECTION --------------------------------------------------- */
.page-id-200 .ref-page-wrap .ref-trustindex-section {
    background: #fafaf3;
    padding: clamp(60px, 7vw, 96px) 24px;
}
.page-id-200 .ref-page-wrap .ref-trustindex-inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.page-id-200 .ref-page-wrap .ref-section-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: clamp(28px, 3.2vw, 38px);
    line-height: 1.2;
    color: #08213a;
    margin: 0 0 28px;
    position: relative;
    padding-bottom: 20px;
}
.page-id-200 .ref-page-wrap .ref-section-title:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 2px;
    background: #cccc99;
}
.page-id-200 .ref-page-wrap .ref-trustindex-widget {
    margin: 0 auto;
    max-width: 1200px;
}

/* --- FILTER BAR (sticky) -------------------------------------------------- */
.page-id-200 .ref-page-wrap .ref-filter-bar {
    position: sticky;
    top: 60px;                  /* pod navbarem motywu */
    z-index: 40;
    background: rgba(8, 33, 58, 0.95);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-top: 1px solid rgba(204,204,153,0.18);
    border-bottom: 1px solid rgba(204,204,153,0.18);
}
.page-id-200 .ref-page-wrap .ref-filter-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
.page-id-200 .ref-page-wrap .ref-filter-chip {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 1px solid rgba(204,204,153,0.55);
    border-radius: 999px;
    padding: 8px 18px;
    color: #cccc99;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
    line-height: 1.2;
    white-space: nowrap;
}
.page-id-200 .ref-page-wrap .ref-filter-chip:hover {
    background: rgba(204,204,153,0.18);
    border-color: #cccc99;
    color: #ffffff;
}
.page-id-200 .ref-page-wrap .ref-filter-chip:focus-visible {
    outline: 2px solid #cccc99;
    outline-offset: 2px;
}
.page-id-200 .ref-page-wrap .ref-filter-chip.active {
    background: #cccc99;
    color: #08213a;
    border-color: #cccc99;
}

/* --- GRID SECTION --------------------------------------------------------- */
.page-id-200 .ref-page-wrap .ref-grid-section {
    background: #fafaf3;
    padding: clamp(56px, 7vw, 96px) 24px clamp(64px, 8vw, 112px);
}
.page-id-200 .ref-page-wrap .ref-grid-inner {
    max-width: 1280px;
    margin: 0 auto;
}
.page-id-200 .ref-page-wrap .ref-grid {
    column-count: 2;
    column-gap: 28px;
}

/* Karta (masonry — break-inside: avoid) */
.page-id-200 .ref-page-wrap .ref-card {
    background: #ffffff;
    border: 1px solid rgba(8,33,58,0.06);
    border-left: 3px solid #cccc99;
    border-radius: 4px;
    padding: 30px 28px 24px;
    margin: 0 0 28px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: 0 1px 2px rgba(8,33,58,0.04);
    display: inline-block;          /* dodatkowy zabezpiecznik dla CSS columns */
    width: 100%;
    transition: box-shadow .25s ease, transform .25s ease;
}
.page-id-200 .ref-page-wrap .ref-card:hover {
    box-shadow: 0 6px 18px rgba(8,33,58,0.08);
    transform: translateY(-2px);
}
.page-id-200 .ref-page-wrap .ref-card-tag {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8a7c2a;
    margin-bottom: 16px;
}
.page-id-200 .ref-page-wrap .ref-card-quote {
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: 19px;
    line-height: 1.55;
    color: #08213a;
    margin: 0 0 18px;
    quotes: none;
}
.page-id-200 .ref-page-wrap .ref-card-quote:before,
.page-id-200 .ref-page-wrap .ref-card-quote:after { content: none !important; }
.page-id-200 .ref-page-wrap .ref-card-hairline {
    border: 0;
    border-top: 1px solid rgba(204,204,153,0.65);
    margin: 0 0 12px;
    width: 48px;
}
.page-id-200 .ref-page-wrap .ref-card-author {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #4a5563;
    letter-spacing: 0.2px;
}

/* Featured card (co 4-ta — 1, 5, 9) */
.page-id-200 .ref-page-wrap .ref-card--featured {
    border-left-width: 4px;
    padding: 38px 36px 30px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9f0 100%);
}
.page-id-200 .ref-page-wrap .ref-card--featured .ref-card-quote {
    font-size: 22px;
    line-height: 1.5;
}
.page-id-200 .ref-page-wrap .ref-card--featured .ref-card-tag {
    color: #6f6520;
}

/* Empty state (gdy filtr nie ma trafień) */
.page-id-200 .ref-page-wrap .ref-grid-empty {
    margin: 24px auto 0;
    padding: 28px 24px;
    background: #ffffff;
    border: 1px dashed rgba(8,33,58,0.18);
    border-radius: 4px;
    text-align: center;
    color: #4a5563;
    font-size: 15px;
    line-height: 1.6;
}
.page-id-200 .ref-page-wrap .ref-grid-empty-link {
    appearance: none;
    background: transparent;
    border: 0;
    color: #08213a;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    padding: 0;
    font: inherit;
}

/* --- CTA BOTTOM ----------------------------------------------------------- */
.page-id-200 .ref-page-wrap .ref-cta {
    background:
        radial-gradient(ellipse 50% 80% at 50% 50%, rgba(204,204,153,0.12) 0%, rgba(204,204,153,0) 70%),
        #061a2e;
    padding: clamp(72px, 9vw, 120px) 24px;
    text-align: center;
    color: #fafaf3;
}
.page-id-200 .ref-page-wrap .ref-cta-inner {
    max-width: 760px;
    margin: 0 auto;
}
.page-id-200 .ref-page-wrap .ref-cta .ref-eyebrow { color: #cccc99; }
.page-id-200 .ref-page-wrap .ref-cta-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.2;
    color: #ffffff;
    margin: 0 0 22px;
    position: relative;
    padding-bottom: 22px;
}
.page-id-200 .ref-page-wrap .ref-cta-title:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 2px;
    background: #cccc99;
}
.page-id-200 .ref-page-wrap .ref-cta-lead {
    color: rgba(250,250,243,0.85);
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.7;
    margin: 0 auto 32px;
    max-width: 560px;
}
.page-id-200 .ref-page-wrap .ref-cta-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.page-id-200 .ref-page-wrap .ref-cta-btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 999px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    line-height: 1.2;
    border: 1px solid transparent;
}
.page-id-200 .ref-page-wrap .ref-cta-btn--primary {
    background: #cccc99;
    color: #08213a;
}
.page-id-200 .ref-page-wrap .ref-cta-btn--primary:hover {
    background: #ddd9a8;
    color: #08213a;
    transform: translateY(-1px);
}
.page-id-200 .ref-page-wrap .ref-cta-btn--secondary {
    background: transparent;
    color: #cccc99;
    border-color: rgba(204,204,153,0.6);
}
.page-id-200 .ref-page-wrap .ref-cta-btn--secondary:hover {
    background: rgba(204,204,153,0.12);
    color: #ffffff;
    border-color: #cccc99;
}

/* --- RESPONSYWNOSC -------------------------------------------------------- */
@media (max-width: 991px) {
    .page-id-200 .ref-page-wrap .ref-grid { column-count: 1; }
    .page-id-200 .ref-page-wrap .ref-filter-inner {
        justify-content: flex-start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
        padding: 12px 20px;
    }
    .page-id-200 .ref-page-wrap .ref-filter-chip { flex: 0 0 auto; }
}

@media (max-width: 767px) {
    .page-id-200 .ref-page-wrap .ref-hero {
        min-height: 60vh;
        padding: 80px 20px 60px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .page-id-200 .ref-page-wrap .ref-hero-title { font-size: 36px; padding-bottom: 22px; }
    .page-id-200 .ref-page-wrap .ref-hero-rating { gap: 12px; }
    .page-id-200 .ref-page-wrap .ref-hero-stars { font-size: 32px; letter-spacing: 4px; }
    .page-id-200 .ref-page-wrap .ref-hero-rating-number { font-size: 30px; }

    .page-id-200 .ref-page-wrap .ref-filter-bar {
        position: static;          /* sticky tylko na desktop */
    }
    .page-id-200 .ref-page-wrap .ref-filter-inner { padding: 10px 16px; gap: 8px; }
    .page-id-200 .ref-page-wrap .ref-filter-chip { padding: 7px 14px; font-size: 11px; letter-spacing: 1px; }

    .page-id-200 .ref-page-wrap .ref-card { padding: 24px 22px 20px; margin-bottom: 20px; }
    .page-id-200 .ref-page-wrap .ref-card-quote { font-size: 17px; }
    .page-id-200 .ref-page-wrap .ref-card--featured { padding: 30px 24px 24px; }
    .page-id-200 .ref-page-wrap .ref-card--featured .ref-card-quote { font-size: 19px; }

    .page-id-200 .ref-page-wrap .ref-cta-actions { flex-direction: column; align-items: stretch; }
    .page-id-200 .ref-page-wrap .ref-cta-btn { width: 100%; }
}

/* ==========================================================================
 * [U17] Full-width breakout — /kancelaria (57), /porady-prawne-online (70),
 *       /referencje (200) + home sections kontener overrides.
 * Replikuje wzorzec [U15] (z /uslugi-prawne) — content w .container.col-md-12
 * (max 1170px) na ekranie 1920px daje 924px pustki po bokach. Trick: 100vw +
 * ujemne marginesy negują parent constraints, padding 0 na inner wrappers.
 * ========================================================================== */
.page-id-57 .entry-content,
.page-id-70 .entry-content,
.page-id-200 .entry-content,
.page-id-57 .uslugi-prawne-page,
.page-id-70 .online-advice-page,
.page-id-200 .ref-page-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Reset paddingów motywu na content wrappers dla wszystkich 3 stron */
.page-id-57 .site-content .content-left-wrap,
.page-id-57 .site-content .content-area,
.page-id-57 .site-content .site-main,
.page-id-70 .site-content .content-left-wrap,
.page-id-70 .site-content .content-area,
.page-id-70 .site-content .site-main,
.page-id-200 .site-content .content-left-wrap,
.page-id-200 .site-content .content-area,
.page-id-200 .site-content .site-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Home sections — zachowują semantyczny kontener, ale dopuszczamy więcej
 * szerokości (1680px) plus elastyczny boczny padding clamp żeby na 1920vw
 * nie było 48% pustki. Hero zostawiamy w spokoju (już full-width). */
.home section.focus > .container,
.home section.about-us > .container,
.home section.numbers-section > .container,
.home section.process-section > .container,
.home section.google-reviews-section > .container {
    max-width: 1680px !important;
    width: 100% !important;
    padding-left: clamp(24px, 5vw, 80px) !important;
    padding-right: clamp(24px, 5vw, 80px) !important;
}
.home .founder-card { max-width: 1180px !important; }
.home .gr-widget-wrap { max-width: 1680px !important; }
/* === /[U17] === */

/* ==========================================================================
 * [U18] Responsywność — fixy hardcodów (top 7 z audytu B)
 * Cel: zamienić sztywne px na clamp() lub responsive media query, żeby na
 * tabletach/mobile nie wybijać layoutu.
 * ========================================================================== */

/* (1) Hero glow — był sztywny 720x720 / 560x560, teraz skaluje od 320 do 720 */
.page-id-72 .uslugi-hero--editorial .uslugi-hero-glow {
    width: clamp(320px, 60vw, 720px) !important;
    height: clamp(320px, 60vw, 720px) !important;
}

/* (2) usluga-section-text padding-right: 200px — na tablecie wyzerować,
 * żeby tekst nie wpadał w wąską kolumnę gdy visual i tak chowa się niżej */
@media (max-width: 991px) {
    .page-id-72 .usluga-section-inner:has(.usluga-section-visual) .usluga-section-text,
    .page-id-72 .usluga-section-inner--text-right:has(.usluga-section-visual) .usluga-section-text {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/* (3) Google Map iframe — był 450px desktop / 280px mobile; tablet bez fixu
 * → dorzucamy 360px dla 768-991 */
@media (max-width: 991px) and (min-width: 768px) {
    .logics-map-wrap iframe.logics_google_map,
    .contact-us .contact-map-fullwidth iframe.logics_google_map {
        height: 360px !important;
    }
}

/* (4) usluga-section-inner padding 0 max(64px,6vw) → płynne clamp */
.page-id-72 .usluga-section-inner {
    padding: 0 clamp(18px, 6vw, 96px) !important;
}

/* (5) founder-pull-quote ma asymetryczny margin 40px 0 40px 30px — na mobile
 * lewy 30px wywala blok poza ekran (border-left + padding-left 36px = 66px) */
@media (max-width: 767px) {
    .page-id-57 .founder-pull-quote {
        margin: 24px 0 !important;
    }
}

/* (6) .entry-title hardcoded 30px na desktopie (motyw default ~30-34) —
 * clamp żeby nie rozwalać layoutu na małych ekranach. Override na 911 niżej
 * obsłuży większą skalę gdy potrzeba. Nie używamy !important żeby dało się
 * lokalnie przepisać per-page. */
.site-content .entry-title {
    font-size: clamp(22px, 3.5vw, 30px);
}

/* (7) online-advice-step-number 38px sztywne → clamp dla mobile compactness */
.online-advice-step-number {
    font-size: clamp(28px, 4vw, 38px) !important;
}
/* === /[U18] === */

/* ==========================================================================
 * [U19] Justify fix + typografia consistency
 *
 * (A) /uslugi-prawne — sekcja "Dlaczego klienci wybierają..." środkowa karta
 *     renderuje się z text-align: justify (prawdopodobnie style inline lub
 *     dziedziczenie z entry-content). Daje duże odstępy między słowami
 *     "Tajemnica zawodowa radcy prawnego". Wymuszamy left na wszystkich
 *     wariantach kart why (base / premium / v3).
 *
 * (B) Limit fontów = Playfair Display + Source Sans 3 + Cormorant Garamond
 *     (1 wystąpienie) + FontAwesome. Audit grep -oE wykazał ZERO driftów
 *     do Roboto / Open Sans / Arial / Helvetica / Times — wszystkie 134
 *     deklaracje używają jednej z 3 rodzin (+ system fallbacks). Sekcja
 *     defensywna: gdyby motyw doszedł inline font-family na content,
 *     wymuszamy Source Sans 3 jako body dla 5 stron głównych.
 * ========================================================================== */

/* (A) Justify-fix — uslugi-why we wszystkich wariantach */
.page-id-72 .uslugi-why-item p,
.page-id-72 .uslugi-why-grid p,
.page-id-72 .uslugi-why--premium p,
.page-id-72 .uslugi-why--v3 .uslugi-why-item p,
.page-id-72 .uslugi-prawne-page--v3 .uslugi-why--v3 .uslugi-why-item p {
    text-align: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-spacing: normal !important;
}

/* (B) Defensive — body inherit Source Sans 3 dla 5 audytowanych stron.
 * Targetujemy tylko paragrafy i listy, bez nadpisywania tytułów (Playfair)
 * ani editorialnych cytatów (Cormorant Garamond linia 6567). */
.home .entry-content p,
.home .entry-content li,
.page-id-57 .entry-content p,
.page-id-57 .entry-content li,
.page-id-70 .entry-content p,
.page-id-70 .entry-content li,
.page-id-72 .entry-content p,
.page-id-72 .entry-content li,
.page-id-200 .entry-content p,
.page-id-200 .entry-content li {
    font-family: 'Source Sans 3', 'Inter', system-ui, -apple-system, sans-serif;
}
/* === /[U19] === */

/* === [U20] Footer Wariant C — KONTAKT redesign (left-aligned, inline icon+text,
 * kompaktowy spacing, ujednolicony styl z BRAND). User wskazał że KONTAKT
 * "słabo wygląda" — był wąską kolumną z optycznie wycentrowanymi krótkimi liniami. */

/* Layout: brand 55% + contact 45% z mniejszym gap (52px) — mniej rozjazdu */
#footer .footer-c-main-inner {
    gap: 52px !important;
}
#footer .footer-c-brand { flex: 1 1 55% !important; }
#footer .footer-c-contact { flex: 1 1 45% !important; }

/* KONTAKT title — EYEBROW style (jak BRAND eyebrow "KANCELARIA RADCY PRAWNEGO") + left */
#footer .footer-c-contact-title {
    color: #cccc99 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 2.6px !important;
    text-transform: uppercase !important;
    text-align: left !important;
    margin: 4px 0 18px !important;
    padding: 0 !important;
}
/* Usuwam gold divider pod KONTAKT — eyebrow style nie potrzebuje */
#footer .footer-c-contact-title:after {
    display: none !important;
}

/* Lista kontakt — FLEX ROW z ikona+tekst INLINE (nie block + absolute) */
#footer .footer-c-contact-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    text-align: left !important;
}
#footer .footer-c-contact-list li {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    position: static !important;
    text-align: left !important;
    color: #d9d4c0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
}
#footer .footer-c-contact-list li .fa {
    position: static !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    margin: 2px 0 0 0 !important;
    color: #cccc99 !important;
    font-size: 14px !important;
    text-align: center !important;
}
#footer .footer-c-contact-list li > *:not(.fa) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#footer .footer-c-contact-list li .footer-c-zip-indent {
    display: block !important;
    margin-left: 0 !important;
}
/* Linki tel/email — gold zamiast underline dashed (cleaner) */
#footer .footer-c-contact-list a {
    color: #ffffff !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(204, 204, 153, 0.45) !important;
    transition: all 0.2s ease !important;
}
#footer .footer-c-contact-list a:hover {
    color: #cccc99 !important;
    border-bottom-color: #cccc99 !important;
}

/* Socials (LinkedIn, Mapa) — mniejsze, left-aligned, NIE okręgi tylko subtle */
#footer .footer-c-socials {
    display: flex !important;
    gap: 8px !important;
    margin: 12px 0 0 0 !important;
    justify-content: flex-start !important;
}
#footer .footer-c-social {
    width: 34px !important;
    height: 34px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(204, 204, 153, 0.35) !important;
    background: transparent !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #cccc99 !important;
    transition: all 0.22s ease !important;
}
#footer .footer-c-social:hover {
    background: #cccc99 !important;
    border-color: #cccc99 !important;
    color: #08213a !important;
}
#footer .footer-c-social .fa {
    font-size: 14px !important;
}

@media (max-width: 767px) {
    #footer .footer-c-main-inner {
        flex-direction: column !important;
        gap: 32px !important;
    }
    #footer .footer-c-contact-list li { font-size: 14px !important; }
}
/* === /[U20] === */

/* === [U21] Quick fix /porady-prawne-online hero — tekst niewidoczny (color #08213a
 * z global .entry-content h2 specificity bug, ten sam wzorzec co [U16] /uslugi). */
.page-id-70 .online-advice-hero,
.page-id-70 .online-advice-hero p,
.page-id-70 .online-advice-hero .online-advice-lead,
html body.page-id-70 .online-advice-lead {
    color: #ffffff !important;
    background-color: transparent !important;
}
.page-id-70 .online-advice-hero p,
.page-id-70 .online-advice-hero .online-advice-lead {
    color: #d9d4c0 !important;
}
/* === /[U21] === */

/* === /[V5] STRONA /referencje — Wariant B Hero+Filtered Grid === */

/* === [V6] STRONA /porady-prawne-online — Editorial Boutique ===============
 * Wariant B (analog /uslugi-prawne V3/V4 + /referencje V5).
 * Pełnoekranowy hero z lawBG-10, stats bar, why-grid, process 3 kroki,
 * formularz w karcie kremowej, FAQ accordion granat.
 * Klasy scope'owane do .page-id-70 — nie kolidują z V2 (.online-advice-*).
 * Stara sekcja "Dane bankowe" usunięta z page content; numer konta w FAQ.
 * ========================================================================= */

/* ---- 0) BASE — wyzeruj wrapper motywu i nadpisz V2 ---------------- */
.page-id-70 .porady-online-page--v6 {
    background: #08213a;
    color: #d9d4c0;
    margin: 0;
    padding: 0;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    width: 100% !important;
    max-width: 100% !important;
}
.page-id-70 .porady-online-page--v6 * { box-sizing: border-box; }

/* [V6 hero-fix] Pełna szerokość — zeruj WSZYSTKICH rodziców łańcucha
 * .site-content > .container > .content-left-wrap.col-md-12 > .content-area > .site-main > .entry-content.
 * Bez tego Bootstrap container max-width 1170px + padding 15px + nasz .content-left-wrap padding 24px
 * sumują się do ~80px granat ramki po bokach i 140px pustki u góry pod headerem. */
.page-id-70 #content.site-content,
.page-id-70 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-70 #content.site-content > .container,
.page-id-70 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.page-id-70 .site-content .content-left-wrap,
.page-id-70 .site-content .col-md-12.content-left-wrap,
.page-id-70 .site-content .content-area,
.page-id-70 .site-content .site-main,
.page-id-70 .site-content .entry-content,
.page-id-70 .site-content article.post-70 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}
.page-id-70 .site-content .entry-title { display: none; }
.page-id-70 .site-content .entry-content { padding-top: 0; padding-bottom: 0 !important; }

/* Eyebrow / divider / section title — współdzielone */
.page-id-70 .porady-online-page--v6 .porady-eyebrow {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 18px;
}
.page-id-70 .porady-online-page--v6 .porady-eyebrow--dark { color: #6b6b48; }

.page-id-70 .porady-online-page--v6 .porady-section-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 3.8vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 24px 0;
}
.page-id-70 .porady-online-page--v6 .porady-section-title--dark { color: #08213a; }
.page-id-70 .porady-online-page--v6 .porady-section-title--light { color: #ffffff; }
.page-id-70 .porady-online-page--v6 .porady-section-divider {
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 28px;
}

/* ---- 1) HERO PEŁNOEKRANOWY ~70vh --------------------------------- */
.page-id-70 .porady-hero--editorial {
    position: relative;
    min-height: clamp(520px, 70vh, 760px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #08213a;
    overflow: hidden;
    padding: 80px 24px;
    text-align: center;
}
.page-id-70 .porady-hero--editorial .porady-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/lawBG-3.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #08213a;
    z-index: 0;
}
.page-id-70 .porady-hero--editorial .porady-hero-bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(8, 33, 58, 0.78) 0%,
        rgba(8, 33, 58, 0.62) 40%,
        rgba(8, 33, 58, 0.55) 100%
    );
    z-index: 1;
    pointer-events: none;
}
.page-id-70 .porady-hero--editorial .porady-hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 720px;
    height: 720px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(204, 204, 153, 0.12) 0%, transparent 65%);
    z-index: 1;
    pointer-events: none;
}
.page-id-70 .porady-hero--editorial .porady-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(8, 33, 58, 0.45), rgba(8, 33, 58, 0.20));
    z-index: 2;
}
.page-id-70 .porady-hero--editorial .porady-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-id-70 .porady-hero--editorial .porady-hero-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(40px, 6vw, 64px);
    font-weight: 500;
    line-height: 1.08;
    color: #ffffff;
    letter-spacing: -0.5px;
    margin: 0 0 28px 0;
    max-width: 920px;
}
.page-id-70 .porady-hero--editorial .porady-hero-divider {
    display: block;
    width: 80px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 32px;
}
.page-id-70 .porady-hero--editorial .porady-hero-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(17px, 1.5vw, 19px);
    line-height: 1.6;
    color: #d9d4c0;
    font-weight: 400;
    max-width: 720px;
    margin: 0 0 40px 0;
}
.page-id-70 .porady-hero--editorial .porady-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.page-id-70 .porady-online-page--v6 .porady-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 36px;
    border-radius: 999px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    transition: all 0.22s ease;
    border: 1.5px solid transparent;
    line-height: 1.2;
}
.page-id-70 .porady-online-page--v6 .porady-btn--primary {
    background: #cccc99;
    color: #08213a;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
.page-id-70 .porady-online-page--v6 .porady-btn--primary:hover {
    background: #ffffff;
    color: #08213a;
    transform: translateY(-1px);
    text-decoration: none;
}
.page-id-70 .porady-online-page--v6 .porady-btn--secondary {
    background: transparent;
    color: #ffffff;
    border-color: rgba(204, 204, 153, 0.55);
}
.page-id-70 .porady-online-page--v6 .porady-btn--secondary:hover {
    background: #cccc99;
    color: #08213a;
    border-color: #cccc99;
    text-decoration: none;
}

/* ---- 2) STATS BAR V6 --------------------------------------------- */
.page-id-70 .porady-online-page--v6 .porady-stats-bar {
    background: #06182a;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
    border-bottom: 1px solid rgba(204, 204, 153, 0.18);
    padding: 44px 24px;
}
.page-id-70 .porady-online-page--v6 .porady-stats-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    text-align: center;
}
.page-id-70 .porady-online-page--v6 .porady-stat {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 24px;
    border-left: 1px solid rgba(204, 204, 153, 0.18);
}
.page-id-70 .porady-online-page--v6 .porady-stat:first-child { border-left: none; }
.page-id-70 .porady-online-page--v6 .porady-stat-figure {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 600;
    color: #cccc99;
    line-height: 1;
    letter-spacing: 0.4px;
}
.page-id-70 .porady-online-page--v6 .porady-stat-label {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(217, 212, 192, 0.78);
}

/* ---- 3) WHY — "Dlaczego porady online?" (kremowa) ---------------- */
.page-id-70 .porady-online-page--v6 .porady-why {
    background: #fafaf3;
    padding: 96px 24px;
    color: #2a2a2a;
}
.page-id-70 .porady-online-page--v6 .porady-why-inner {
    max-width: 1280px;
    margin: 0 auto;
}
.page-id-70 .porady-online-page--v6 .porady-why-header {
    text-align: center;
    margin-bottom: 64px;
}
.page-id-70 .porady-online-page--v6 .porady-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px;
}
.page-id-70 .porady-online-page--v6 .porady-why-item {
    text-align: center;
    padding: 0 12px;
}
.page-id-70 .porady-online-page--v6 .porady-why-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin: 0 auto 24px;
    color: #cccc99;
}
.page-id-70 .porady-online-page--v6 .porady-why-icon .fa {
    font-size: 60px;
    color: #cccc99;
}
.page-id-70 .porady-online-page--v6 .porady-why-item h3 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: #08213a;
    margin: 0 0 14px 0;
    line-height: 1.25;
}
.page-id-70 .porady-online-page--v6 .porady-why-item p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #4a4a4a;
    margin: 0 auto;
    max-width: 340px;
}

/* ---- 4) PROCESS — 3 kroki online (granat) ------------------------ */
.page-id-70 .porady-online-page--v6 .porady-process {
    background: #08213a;
    padding: 96px 24px;
    position: relative;
}
.page-id-70 .porady-online-page--v6 .porady-process:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(204, 204, 153, 0.06) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 70%, rgba(204, 204, 153, 0.04) 0%, transparent 60%);
    pointer-events: none;
}
.page-id-70 .porady-online-page--v6 .porady-process-inner {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}
.page-id-70 .porady-online-page--v6 .porady-process-header {
    text-align: center;
    margin-bottom: 64px;
}
.page-id-70 .porady-online-page--v6 .porady-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}
.page-id-70 .porady-online-page--v6 .porady-process-step {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(204, 204, 153, 0.22);
    border-radius: 4px;
    padding: 48px 32px 40px;
    text-align: center;
    transition: all 0.28s ease;
}
.page-id-70 .porady-online-page--v6 .porady-process-step:hover {
    transform: translateY(-4px);
    border-color: rgba(204, 204, 153, 0.55);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30);
}
.page-id-70 .porady-online-page--v6 .porady-process-number {
    position: absolute;
    top: 14px;
    right: 22px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 64px;
    font-weight: 600;
    color: rgba(204, 204, 153, 0.22);
    line-height: 1;
    pointer-events: none;
}
.page-id-70 .porady-online-page--v6 .porady-process-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: rgba(204, 204, 153, 0.10);
    border: 1px solid rgba(204, 204, 153, 0.4);
    margin: 0 auto 26px;
}
.page-id-70 .porady-online-page--v6 .porady-process-icon .fa {
    font-size: 30px;
    color: #cccc99;
}
.page-id-70 .porady-online-page--v6 .porady-process-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 14px 0;
}
.page-id-70 .porady-online-page--v6 .porady-process-step p {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15.5px;
    line-height: 1.65;
    color: #d9d4c0;
    margin: 0;
}

/* ---- 5) FORM SECTION — "Wyślij zapytanie" (kremowa) -------------- */
.page-id-70 .porady-online-page--v6 .porady-form-section {
    background: #fafaf3;
    padding: 96px 24px;
    color: #2a2a2a;
}
.page-id-70 .porady-online-page--v6 .porady-form-inner {
    max-width: 1100px;
    margin: 0 auto;
}
.page-id-70 .porady-online-page--v6 .porady-form-header {
    text-align: center;
    margin-bottom: 48px;
}
.page-id-70 .porady-online-page--v6 .porady-form-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #555;
    max-width: 620px;
    margin: 18px auto 0;
}
.page-id-70 .porady-online-page--v6 .porady-form-card {
    max-width: 720px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid rgba(8, 33, 58, 0.08);
    border-radius: 8px;
    padding: 40px 36px 32px;
    box-shadow: 0 12px 32px rgba(8, 33, 58, 0.08);
}
.page-id-70 .porady-online-page--v6 .porady-form-note {
    text-align: center;
    margin: 32px auto 0;
    font-size: 14.5px;
    color: #555;
    max-width: 720px;
}
.page-id-70 .porady-online-page--v6 .porady-form-note a {
    color: #08213a;
    text-decoration: none;
    border-bottom: 1px solid rgba(204, 204, 153, 0.6);
    transition: color 0.2s ease, border-color 0.2s ease;
}
.page-id-70 .porady-online-page--v6 .porady-form-note a:hover {
    color: #08213a;
    border-color: #08213a;
}

/* WPForms restyl wewnątrz card */
.page-id-70 .porady-form-card .wpforms-container { margin: 0; }
.page-id-70 .porady-form-card .wpforms-form .wpforms-field { padding: 0 0 14px 0; }
.page-id-70 .porady-form-card .wpforms-form .wpforms-field input.wpforms-field-large,
.page-id-70 .porady-form-card .wpforms-form .wpforms-field textarea.wpforms-field-large,
.page-id-70 .porady-form-card .wpforms-form .wpforms-field input[type="text"],
.page-id-70 .porady-form-card .wpforms-form .wpforms-field input[type="email"],
.page-id-70 .porady-form-card .wpforms-form .wpforms-field textarea {
    background: #fafaf6 !important;
    border: 1px solid rgba(8, 33, 58, 0.18) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    color: #08213a !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-shadow: none !important;
}
.page-id-70 .porady-form-card .wpforms-form .wpforms-field input:focus,
.page-id-70 .porady-form-card .wpforms-form .wpforms-field textarea:focus {
    border-color: #cccc99 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(204, 204, 153, 0.22) !important;
    outline: none !important;
}
.page-id-70 .porady-form-card .wpforms-form .wpforms-field-gdpr-checkbox label,
.page-id-70 .porady-form-card .wpforms-form .wpforms-field-checkbox label {
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.55;
    font-weight: 400;
}
.page-id-70 .porady-form-card .wpforms-form .wpforms-submit-container {
    text-align: center;
    margin-top: 6px;
}
.page-id-70 .porady-form-card .wpforms-form button[type="submit"].wpforms-submit {
    background: #cccc99 !important;
    color: #08213a !important;
    border: none !important;
    padding: 14px 38px !important;
    border-radius: 999px !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(8, 33, 58, 0.18) !important;
}
.page-id-70 .porady-form-card .wpforms-form button[type="submit"].wpforms-submit:hover {
    background: #ffffff !important;
    color: #08213a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.22) !important;
}
.page-id-70 .porady-form-card .wpforms-required-label,
.page-id-70 .porady-form-card .wpforms-form .wpforms-required { color: #b8860b !important; }

/* ---- 6) FAQ — granat ciemniejszy + accordion --------------------- */
.page-id-70 .porady-online-page--v6 .porady-faq {
    background: #06182a;
    padding: 96px 24px;
    color: #d9d4c0;
}
.page-id-70 .porady-online-page--v6 .porady-faq-inner {
    max-width: 1100px;
    margin: 0 auto;
}
.page-id-70 .porady-online-page--v6 .porady-faq-header {
    text-align: center;
    margin-bottom: 48px;
}
.page-id-70 .porady-online-page--v6 .porady-faq-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(204, 204, 153, 0.22);
    border-radius: 8px;
    margin-bottom: 14px;
    overflow: hidden;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.page-id-70 .porady-online-page--v6 .porady-faq-item:hover {
    border-color: rgba(204, 204, 153, 0.55);
    background: rgba(255, 255, 255, 0.06);
}
.page-id-70 .porady-online-page--v6 .porady-faq-item[open] {
    border-color: rgba(204, 204, 153, 0.7);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.30);
}
.page-id-70 .porady-online-page--v6 .porady-faq-item summary {
    cursor: pointer;
    padding: 22px 60px 22px 26px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    list-style: none;
    position: relative;
    user-select: none;
    transition: color 0.2s ease;
}
.page-id-70 .porady-online-page--v6 .porady-faq-item summary::-webkit-details-marker { display: none; }
.page-id-70 .porady-online-page--v6 .porady-faq-item summary::marker { display: none; }
.page-id-70 .porady-online-page--v6 .porady-faq-item summary:after {
    content: "+";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Source Sans 3", sans-serif;
    font-size: 28px;
    line-height: 1;
    color: #cccc99;
    font-weight: 300;
    transition: transform 0.22s ease;
}
.page-id-70 .porady-online-page--v6 .porady-faq-item[open] summary:after {
    content: "−";
    transform: translateY(-50%) rotate(0deg);
}
.page-id-70 .porady-online-page--v6 .porady-faq-item summary:hover { color: #cccc99; }
.page-id-70 .porady-online-page--v6 .porady-faq-answer {
    padding: 0 26px 24px 26px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
}
.page-id-70 .porady-online-page--v6 .porady-faq-answer p {
    font-size: 15.5px;
    line-height: 1.7;
    color: #d9d4c0;
    margin: 0 0 12px 0;
}
.page-id-70 .porady-online-page--v6 .porady-faq-answer p:last-child { margin-bottom: 0; }
.page-id-70 .porady-online-page--v6 .porady-faq-answer a {
    color: #cccc99;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page-id-70 .porady-online-page--v6 .porady-faq-answer a:hover { color: #ffffff; }
.page-id-70 .porady-online-page--v6 .porady-faq-bank-number {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
    letter-spacing: 1.5px;
    color: #cccc99 !important;
    text-align: center;
    padding: 14px 18px;
    margin: 8px 0 !important;
    border: 1px dashed rgba(204, 204, 153, 0.4);
    border-radius: 4px;
    background: rgba(204, 204, 153, 0.06);
}
.page-id-70 .porady-online-page--v6 .porady-faq-bank-meta {
    text-align: center;
    font-size: 14px !important;
    color: rgba(217, 212, 192, 0.78) !important;
}

/* ---- 7) RESPONSIVE V6 ------------------------------------------- */
@media (max-width: 991px) {
    .page-id-70 .porady-hero--editorial { min-height: clamp(440px, 64vh, 640px); padding: 64px 20px; }
    .page-id-70 .porady-online-page--v6 .porady-stats-bar { padding: 36px 18px; }
    .page-id-70 .porady-online-page--v6 .porady-stats-inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 0;
    }
    .page-id-70 .porady-online-page--v6 .porady-stat {
        flex: none;
        padding: 0 12px;
        border-left: none;
    }
    .page-id-70 .porady-online-page--v6 .porady-stat:nth-child(2n) { border-left: 1px solid rgba(204, 204, 153, 0.18); }

    .page-id-70 .porady-online-page--v6 .porady-why,
    .page-id-70 .porady-online-page--v6 .porady-process,
    .page-id-70 .porady-online-page--v6 .porady-form-section,
    .page-id-70 .porady-online-page--v6 .porady-faq { padding: 64px 22px; }

    .page-id-70 .porady-online-page--v6 .porady-why-grid,
    .page-id-70 .porady-online-page--v6 .porady-process-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .page-id-70 .porady-hero--editorial { padding: 56px 18px; min-height: 0; }
    .page-id-70 .porady-online-page--v6 .porady-hero-title { font-size: 34px; margin-bottom: 22px; }
    .page-id-70 .porady-online-page--v6 .porady-hero-divider { margin-bottom: 24px; }
    .page-id-70 .porady-online-page--v6 .porady-hero-lead { font-size: 16px; margin-bottom: 30px; }
    .page-id-70 .porady-online-page--v6 .porady-btn { width: 100%; max-width: 320px; padding: 14px 24px; }

    .page-id-70 .porady-online-page--v6 .porady-stat-figure { font-size: 26px; }
    .page-id-70 .porady-online-page--v6 .porady-stat-label { font-size: 10px; letter-spacing: 1.4px; }

    .page-id-70 .porady-online-page--v6 .porady-section-title { font-size: 26px; }
    .page-id-70 .porady-online-page--v6 .porady-why-icon { width: 80px; height: 80px; margin-bottom: 20px; }
    .page-id-70 .porady-online-page--v6 .porady-why-icon .fa { font-size: 48px; }
    .page-id-70 .porady-online-page--v6 .porady-why-item h3 { font-size: 20px; }

    .page-id-70 .porady-online-page--v6 .porady-process-step { padding: 38px 22px 30px; }
    .page-id-70 .porady-online-page--v6 .porady-process-number { font-size: 48px; top: 10px; right: 18px; }

    .page-id-70 .porady-online-page--v6 .porady-form-card { padding: 28px 20px 22px; }
    .page-id-70 .porady-online-page--v6 .porady-faq-item summary { font-size: 16px; padding: 18px 52px 18px 20px; }
    .page-id-70 .porady-online-page--v6 .porady-faq-item summary:after { right: 18px; font-size: 24px; }
    .page-id-70 .porady-online-page--v6 .porady-faq-answer { padding: 0 20px 20px 20px; }
    .page-id-70 .porady-online-page--v6 .porady-faq-bank-number { font-size: 17px; letter-spacing: 0.8px; }
}
/* === /[V6] STRONA /porady-prawne-online === */


/* === [V6 deduplication] /uslugi-prawne — CTA-block do procesu na home === */
.page-id-72 .uslugi-process-cta--v3 {
    background: #fafaf3;
    padding: 64px 24px;
    color: #2a2a2a;
}
.page-id-72 .uslugi-process-cta-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 56px;
    background: #ffffff;
    border: 1px solid rgba(8, 33, 58, 0.10);
    border-left: 3px solid #cccc99;
    border-radius: 4px;
    padding: 44px 48px;
    box-shadow: 0 12px 32px rgba(8, 33, 58, 0.06);
}
.page-id-72 .uslugi-process-cta-text {
    flex: 1 1 auto;
    min-width: 0;
}
.page-id-72 .uslugi-process-cta-text .uslugi-eyebrow { margin-bottom: 12px; color: #6b6b48; }
.page-id-72 .uslugi-process-cta-title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(24px, 2.6vw, 32px);
    font-weight: 500;
    color: #08213a;
    margin: 0 0 12px 0;
    line-height: 1.2;
}
.page-id-72 .uslugi-process-cta-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    margin: 0;
    max-width: 720px;
}
.page-id-72 .uslugi-process-cta-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 30px;
    border-radius: 999px;
    background: #08213a;
    color: #ffffff !important;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-decoration: none !important;
    border: 1.5px solid transparent;
    transition: all 0.22s ease;
    white-space: nowrap;
}
.page-id-72 .uslugi-process-cta-btn:hover {
    background: #cccc99;
    color: #08213a !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(8, 33, 58, 0.18);
}
.page-id-72 .uslugi-process-cta-btn span { margin-left: 8px; }

@media (max-width: 767px) {
    .page-id-72 .uslugi-process-cta--v3 { padding: 48px 18px; }
    .page-id-72 .uslugi-process-cta-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 32px 24px;
    }
    .page-id-72 .uslugi-process-cta-btn { width: 100%; }
}
/* === /[V6 deduplication] === */

/* ==========================================================================
 * [U21] AUDYT PODSTRON — SPÓJNOŚĆ WIZUALNA (2026-06-07)
 *
 * Cel: ujednolicić KAŻDĄ podstronę pod referencyjną /porady-prawne-online
 * (page-id-70). Wzorzec: hero pełnoekranowy ~70vh tuż pod headerem, pełna
 * szerokość, paleta granat #08213a + gold #cccc99, Playfair Display + Source
 * Sans 3, eyebrow uppercase letter-spacing 2.4-2.8px.
 *
 * Diagnoza:
 *  - .page-id-57 (/kancelaria) ma globalny padding-top:140px na .site-content,
 *    motywowy entry-title "O Kancelarii" jako wąski H1 = ZERO hero, ramki
 *    granat po bokach (gap).
 *  - .page-id-200 (/referencje) ma motywowy entry-title "Referencje" widoczny
 *    NAD prawdziwym .ref-hero. 2 nagłówki = duplikacja.
 *  - .page-id-72 (/uslugi-prawne) i .page-id-70 (/porady-prawne-online) OK.
 *  - Motyw style.css:3192 ".entry-content p { text-align: justify }" daje
 *    duże odstępy między słowami (big word gaps) — user [U19] zgłosił.
 *
 * Strategia:
 *  (1) Replikuję [V6 hero-fix] z page-id-70 dla page-id-57 i page-id-200
 *      (padding-top:0 + .container max-width 100% + reset content wrappers).
 *  (2) Page-id-57: hero z bg lawBG-10 zbudowany z motywowego .entry-header
 *      (znalezione w content) — eyebrow + Playfair title white + lead gold.
 *  (3) Page-id-200: ukrywam motywowy entry-title, .ref-hero przejmuje.
 *  (4) Globalny override text-align: left dla .entry-content p — gasi
 *      motywowy text-align: justify z style.css:3192.
 *  (5) Defensive: hyphens:none + word-spacing:normal dla wszystkich body p.
 *
 * Każdy override scope'owany do konkretnej .page-id-XX, żeby NIE złamać
 * /aktualnosci (blog) ani innych legacy szablonów.
 * ========================================================================== */

/* ---- (1A) HERO-FIX dla .page-id-57 (/kancelaria) -------------------------
 * Analog do .page-id-70 — zeruj padding-top na .site-content, max-width 100%
 * na .container, reset content wrappers. Wynik: content płynie od linii pod
 * headerem na pełną szerokość viewport, granat ramki znikają.
 * ----------------------------------------------------------------------- */
.page-id-57 #content.site-content,
.page-id-57 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-57 #content.site-content > .container,
.page-id-57 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.page-id-57 .site-content .content-left-wrap,
.page-id-57 .site-content .col-md-12.content-left-wrap,
.page-id-57 .site-content .content-area,
.page-id-57 .site-content .site-main,
.page-id-57 .site-content .entry-content,
.page-id-57 .site-content article.post-57 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}

/* ---- (1B) HERO-FIX dla .page-id-200 (/referencje) ------------------------ */
.page-id-200 #content.site-content,
.page-id-200 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-200 #content.site-content > .container,
.page-id-200 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.page-id-200 .site-content .content-left-wrap,
.page-id-200 .site-content .col-md-12.content-left-wrap,
.page-id-200 .site-content .content-area,
.page-id-200 .site-content .site-main,
.page-id-200 .site-content .entry-content,
.page-id-200 .site-content article.post-200 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}

/* ---- (1C) HERO-FIX dla .page-id-72 (/uslugi-prawne) defensive top-reset --
 * Page 72 ma już 100vw breakout, ale brakowało reset padding-top na .site-content.
 * Po globalnym padding-top:140px (linia 847) hero pokazuje się dobrze przez
 * negative margin trick, ale dla pewności i symetrii zerujemy też tutaj. */
.page-id-72 #content.site-content,
.page-id-72 .site-content {
    padding-top: 0 !important;
}
.page-id-72 #content.site-content > .container,
.page-id-72 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

/* ---- (2) PAGE-ID-57 HERO — przekształcenie .entry-header w pełnoekranowy
 *      granat band z bg-image lawBG-10. Wzorzec [V6] z page-id-70.
 * --------------------------------------------------------------------- */
.page-id-57 .site-content article.post-57 > .entry-header {
    position: relative;
    min-height: clamp(420px, 60vh, 620px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #08213a;
    background-image:
        linear-gradient(180deg, rgba(8,33,58,0.78) 0%, rgba(8,33,58,0.62) 50%, rgba(8,33,58,0.86) 100%),
        url('/wp-content/uploads/lawBG-10.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #08213a;
    overflow: hidden;
    padding: 80px 24px;
    text-align: center;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.page-id-57 .site-content article.post-57 > .entry-header:before {
    content: "Kancelaria Radcy Prawnego";
    display: block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}
.page-id-57 .site-content article.post-57 > .entry-header > .entry-title {
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(40px, 5.6vw, 64px) !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    color: #ffffff !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    max-width: 880px;
    position: relative;
    z-index: 2;
    display: block !important;
}
.page-id-57 .site-content article.post-57 > .entry-header > .entry-title:after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 28px auto 0;
}

/* Padding-top tylko (lewy/prawy = 0 żeby sekcje hero+stats+filozofia mogły
 * być pełnoekranowe — wewnętrzne sekcje mają własny padding). */
.page-id-57 .site-content article.post-57 > .entry-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 767px) {
    .page-id-57 .site-content article.post-57 > .entry-header {
        min-height: 360px;
        padding: 60px 20px;
    }
    .page-id-57 .site-content article.post-57 > .entry-header > .entry-title {
        font-size: clamp(28px, 7vw, 40px) !important;
    }
    .page-id-57 .site-content article.post-57 > .entry-content {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ---- (3) PAGE-ID-200 — ukryj motywowy entry-title "Referencje".
 *      Page-id-200 ma już .ref-hero w content (linia 6366) — duplikat
 *      niepotrzebny. Wzorzec page-id-70 robi to samo (linia 7099). */
.page-id-200 .site-content article.post-200 > .entry-header,
.page-id-200 .site-content .entry-title {
    display: none !important;
}

/* ---- (4) GLOBAL TYPOGRAPHY FIX — text-align: left dla body paragraphs.
 *      Motyw style.css:3192 ma ".entry-content p { text-align: justify }".
 *      Justify daje big word gaps (zgłoszone przez usera [U19]). Wymuszamy
 *      left dla WSZYSTKICH podstron w menu + utility wrappers.
 *      Sscoping: .page-id-XX żeby nie złamać .aktualnosci/blog/woocommerce. */
.home .entry-content p,
.page-id-57 .entry-content p,
.page-id-57 .entry-content li,
.page-id-64 .entry-content p,
.page-id-64 .entry-content li,
.page-id-70 .entry-content p,
.page-id-70 .entry-content li,
.page-id-72 .entry-content p,
.page-id-72 .entry-content li,
.page-id-200 .entry-content p,
.page-id-200 .entry-content li,
.page-id-5784 .entry-content p,
.page-id-5784 .entry-content li,
.page-id-70 .porady-online-page--v6 p,
.page-id-72 .uslugi-prawne-page p,
.page-id-72 .uslugi-prawne-page--v3 p,
.page-id-200 .ref-page-wrap p,
.page-id-64 .teresa-page p,
.page-id-64 .teresa-paragraph,
.page-id-64 .teresa-photo-credentials,
.page-id-64 .teresa-achievement-item,
.page-id-57 .kancelaria-lead,
.page-id-57 .kancelaria-spec-card p {
    text-align: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-spacing: normal !important;
}

/* Wyjątek: cytaty w blockquote/pull-quote zostają wycentrowane lub italic
 * left — sterowane lokalnym CSS, NIE dziedziczymy left ze script-em. */
.page-id-57 .founder-pull-quote p,
.page-id-200 .ref-card-quote,
.page-id-72 .uslugi-cite-pull p { text-align: inherit !important; }

/* ---- (5) Defensywne ujednolicenie spacing paragrafów na 5 audytowanych
 *      podstronach — margin-bottom 18px (wartość najpopularniejsza w pliku
 *      — linie 1115, 2359, 4707, 4770, 4836 itd.). Bez !important, lokalne
 *      reguły mogą nadpisać. */
.page-id-57 .entry-content > p,
.page-id-70 .entry-content > p,
.page-id-72 .entry-content > p,
.page-id-200 .entry-content > p {
    margin-bottom: 18px;
}
/* === /[U21] === */

/* ==========================================================================
 * [U22] AUDYT CENTROWANIA — DEFENSIVE CENTERING ALL PODSTRONY (2026-06-07)
 *
 * Cel: ujednolicić centrowanie wszystkich elementów na 5 podstronach (/, /kancelaria,
 *      /uslugi-prawne, /porady-prawne-online, /referencje). Wzorzec referencyjny:
 *      page-id-70 (Editorial Boutique). Walidacja screenshotami headless Chrome
 *      1920×7000 desktop + 420×6500 mobile.
 *
 * Diagnoza per stronie:
 *  - /home (front-page) — hero centered OK, numbers + process + founder + focus
 *    + Google reviews centered OK (już dzięki [U14]). Brak issues.
 *  - /kancelaria (page-id-57) — hero centered OK, ALE: eyebrow ":before" w hero
 *    słabo widoczny (font-size 12px granat bg), title overflow na mobile,
 *    brak gold divider widocznego pod title. 3-col specs OK, founder card 2-col
 *    intencjonalnie (photo lewa + body prawa z text-align center).
 *  - /uslugi-prawne (page-id-72) — hero --editorial centered OK, stats bar 4-col
 *    centered OK, sekcje usług 2-col intencjonalnie (icon lewa + text prawa).
 *  - /porady-prawne-online (page-id-70) — wzorzec, wszystko centered. NIE rusza.
 *  - /referencje (page-id-200) — hero idealnie centered, sekcje OK. Bento 2-col
 *    testimoniali z text-align: left intencjonalnie (cytaty czytelne).
 *
 * Strategia:
 *  (1) Wzmocnienie eyebrow w hero page-id-57 (większy font, mocniejszy kontrast).
 *  (2) Mobile fix page-id-57 — title overflow (zmniejszenie clamp + padding fix).
 *  (3) Defensive utility: section headers (eyebrow + title + divider) na
 *      wszystkich 4 podstronach (page-id-57/70/72/200) — wymuszony text-align:center
 *      + margin: 0 auto na dividerach. Zabezpiecza przed dziedziczeniem
 *      text-align z body p[U21].
 *  (4) Defensive: CTA button pairs centered na wszystkich podstronach
 *      (justify-content: center na wrapperach btn pair).
 *
 * Każdy override scope'owany do konkretnej .page-id-XX. NIC nie zmieniam dla
 * /aktualnosci/blog/woocommerce.
 * ========================================================================== */

/* ---- (1) PAGE-ID-57 — KRYTYCZNY FIX: flex-direction column na hero
 *      .entry-header. Dotychczasowy CSS miał `display: flex; align-items: center;
 *      justify-content: center;` BEZ `flex-direction` — domyślnie row, więc
 *      :before (eyebrow "Kancelaria Radcy Prawnego") był po lewej OBOK title
 *      "O Kancelarii" zamiast NAD nim. Skutek: title "O Kancel..." obcięte na
 *      mobile, eyebrow niewidoczny na desktop (zlewał się z layoutem).
 *      Fix: flex-direction: column. */
.page-id-57 .site-content article.post-57 > .entry-header {
    flex-direction: column !important;
}
/* Wzmocnienie eyebrow w hero "Kancelaria Radcy Prawnego" — zwiększamy
 * font-size 12→13px + opacity:1 dla pewnej widoczności. */
.page-id-57 .site-content article.post-57 > .entry-header:before {
    font-size: 13px !important;
    letter-spacing: 2.8px !important;
    color: #cccc99 !important;
    opacity: 1 !important;
    margin-bottom: 22px !important;
}

/* ---- (2) PAGE-ID-57 MOBILE — fix title overflow "O Kancelarii".
 *      Mobile @media (max-width: 767px) miał clamp(28px, 7vw, 40px) ale przy
 *      420px width 7vw = 29.4px + długie słowo "Kancelarii" wystawało.
 *      Zmniejszamy clamp + padding-x. */
@media (max-width: 480px) {
    .page-id-57 .site-content article.post-57 > .entry-header {
        padding: 50px 16px !important;
    }
    .page-id-57 .site-content article.post-57 > .entry-header > .entry-title {
        font-size: clamp(24px, 6vw, 34px) !important;
        padding: 0 8px !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
    .page-id-57 .site-content article.post-57 > .entry-header:before {
        font-size: 11px !important;
        letter-spacing: 2px !important;
        margin-bottom: 14px !important;
    }
}

/* ---- (3) DEFENSIVE CENTERING — section headers (eyebrow + title + divider)
 *      Wymusza text-align: center na containerach section-header dla wszystkich
 *      audytowanych podstron. Nadpisuje ewentualne dziedziczenie text-align: left
 *      z [U21] global typography fix. */

/* Eyebrow uppercase na wszystkich podstronach — display block/inline-block centered */
.page-id-57 .kancelaria-specs-title,
.page-id-57 .entry-content > h2:first-of-type,
.page-id-70 .online-advice-section-title,
.page-id-70 .online-advice-eyebrow,
.page-id-72 .uslugi-section-title.uslugi-section-title--hero,
.page-id-72 .uslugi-grid-header,
.page-id-72 .uslugi-process-header,
.page-id-72 .uslugi-why-header,
.page-id-200 .ref-section-header,
.page-id-200 .ref-hero-inner,
.page-id-200 .ref-section-title {
    text-align: center !important;
}

/* Gold dividery (64×2 lub 56×2) — wymuszamy margin: 0 auto + display block.
 * Działa zarówno dla pseudo :after (przez left:50%; transform:translateX(-50%))
 * jak i dla rzeczywistych elementów .X-divider. */
.page-id-57 .entry-content > h2:first-of-type:after,
.page-id-57 .kancelaria-specs-title:after,
.page-id-57 .site-content article.post-57 > .entry-header > .entry-title:after,
.page-id-70 .online-advice-section-title:after,
.page-id-72 .uslugi-section-title:after,
.page-id-72 .uslugi-hero--editorial .uslugi-hero-divider,
.page-id-200 .ref-hero-title:after,
.page-id-200 .ref-section-title:after {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---- (4) DEFENSIVE — CTA button pairs centered w hero każdej podstrony.
 *      Zabezpiecza wrappery z parą "Umów" + "Zadzwoń" przed left-align.  */
.page-id-57 .founder-actions,
.page-id-70 .online-advice-hero-cta,
.page-id-70 .porady-hero-cta,
.page-id-72 .uslugi-hero-cta,
.page-id-72 .uslugi-hero--editorial .uslugi-hero-cta,
.page-id-200 .ref-hero-cta,
.page-id-200 .ref-hero-rating {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 16px;
}

/* ---- (5) DEFENSIVE — section header wrappers (eyebrow above title) centered
 *      przez parent. Niektóre szablony mają eyebrow jako <span class="eyebrow">
 *      przed <h2 class="title"> — wrapper musi mieć text-align: center. */
.page-id-72 .uslugi-grid-section,
.page-id-72 .uslugi-process,
.page-id-72 .uslugi-why,
.page-id-200 .ref-section,
.page-id-200 .ref-tabs-section {
    /* delikatnie — nie wymuszamy text-align na całej sekcji bo bento grid ma
     * left-aligned cards. Centrujemy tylko bezpośrednie headery sekcji. */
}
.page-id-72 .uslugi-grid-section > .uslugi-grid-header,
.page-id-72 .uslugi-process > .uslugi-process-inner > .uslugi-process-header,
.page-id-72 .uslugi-why > .uslugi-why-header,
.page-id-200 .ref-section > .container > .ref-section-header,
.page-id-200 .ref-section > .ref-section-header {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---- (6) DEFENSIVE — eyebrow inline elements centered.
 *      Eyebrow często ma display: inline-block — żeby był centered MUSI mieć
 *      parent z text-align: center (już zapewnione w (3)/(5)) ALBO margin auto.
 *      Dla bezpieczeństwa stosujemy display: inline-block na poziomie eyebrow. */
.page-id-57 .founder-eyebrow,
.page-id-70 .online-advice-eyebrow,
.page-id-70 .porady-eyebrow,
.page-id-72 .uslugi-eyebrow,
.page-id-72 .uslugi-eyebrow--dark,
.page-id-200 .ref-eyebrow {
    display: inline-block;
}
/* === /[U22] === */

/* === [U23] MOBILE OVERFLOW FIX + buttony + footer ======================== */
/* Diagnoza: na 375px karty .kancelaria-spec-card / hero text wystają poza
 * viewport (horizontal overflow). Founder buttony "ZADZWOŃ TERAZ" obcięte.
 * Footer Wariant C ma za wąskie padding mobile. */

/* (1) Global overflow guard — tylko mobile */
@media (max-width: 480px) {
    html, body { overflow-x: hidden !important; max-width: 100vw !important; }
    .site-content img,
    .site-content video,
    .site-content iframe { max-width: 100% !important; height: auto; }
}

/* (1b) Mobile content padding — wszystkie direct children .entry-content
 * (p, h*, div.kancelaria-lead, div.kancelaria-specs, blockquote etc.)
 * potrzebują padding-x żeby tekst nie wystawał za viewport. Plus img
 * fixed-width z motywu (np. kancelaria.png 1179×400) musi być scaled. */
@media (max-width: 480px) {
    .page-id-57 .entry-content > p,
    .page-id-57 .entry-content > h1,
    .page-id-57 .entry-content > h2,
    .page-id-57 .entry-content > h3,
    .page-id-57 .entry-content > h4,
    .page-id-57 .entry-content > ul,
    .page-id-57 .entry-content > ol,
    .page-id-57 .entry-content > blockquote,
    .page-id-57 .entry-content > div.kancelaria-lead,
    .page-id-57 .entry-content > div.kancelaria-specs,
    .page-id-57 .entry-content > div:not(.founder-section):not(.page-cta-footer) {
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
    .page-id-57 .entry-content img {
        max-width: 100% !important;
        height: auto !important;
        width: auto !important;
    }
    .page-id-57 .kancelaria-specs {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 0 !important;
    }
    .page-id-57 .kancelaria-spec-card {
        padding: 22px 18px !important;
        margin: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .page-id-57 .kancelaria-spec-card * {
        max-width: 100% !important;
        word-wrap: break-word !important;
    }
    /* H2/H3 mobile — clamp font-size i wymuś zawijanie */
    .page-id-57 .entry-content > h2:first-of-type,
    .page-id-57 .entry-content > h2 {
        font-size: clamp(20px, 5.6vw, 26px) !important;
        line-height: 1.25 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }
    .page-id-57 .kancelaria-specs-title {
        font-size: clamp(18px, 4.8vw, 22px) !important;
        text-align: center !important;
        padding: 0 18px !important;
    }
    /* Founder card itself centered + padding */
    .page-id-57 .founder-section {
        padding: 48px 16px !important;
    }
    .page-id-57 .founder-card {
        padding: 24px 18px !important;
        margin: 0 !important;
    }
    .page-id-57 .founder-body { padding: 0 !important; }
    /* CTA bar */
    .page-cta-footer {
        padding: 36px 18px !important;
    }
    .page-cta-footer .page-cta-text { padding: 0 !important; }
}

/* (2) Word-break dla długich polskich słów na mobile */
@media (max-width: 480px) {
    .page-id-57 .entry-content,
    .page-id-57 .entry-content *,
    .page-id-57 .kancelaria-spec-card,
    .page-id-57 .kancelaria-spec-card *,
    .page-id-57 .founder-card,
    .page-id-57 .founder-card *,
    .page-id-72 .uslugi-page--v3 *,
    .page-id-70 .porady-online-page--v6 *,
    .page-id-200 .ref-page-wrap * {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        hyphens: none !important;
        max-width: 100% !important;
    }
}

/* (3) Buttony pełna szerokość mobile + tekst nie obcinany
   UWAGA: wykluczamy .founder-btn-icon (social LinkedIn/email) — te muszą zostać 40×40 round */
@media (max-width: 480px) {
    .page-id-57 .founder-btn-primary,
    .page-id-57 .founder-actions a:not(.founder-btn-icon),
    .page-id-57 .founder-actions button:not(.founder-btn-icon),
    .page-cta-btn-primary,
    .page-cta-btn-secondary,
    .page-id-70 .porady-btn,
    .page-id-72 .uslugi-btn,
    .page-id-200 .ref-cta-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 320px !important;
        white-space: normal !important;
        word-break: keep-all !important;
        padding: 14px 20px !important;
        font-size: 13.5px !important;
        letter-spacing: 1px !important;
        line-height: 1.3 !important;
    }
    .page-id-57 .founder-actions,
    .page-cta-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }
}

/* (4) Karty kancelaria-spec-card — padding + text-align center mobile */
@media (max-width: 480px) {
    .page-id-57 .kancelaria-specs {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 0 16px !important;
    }
    .page-id-57 .kancelaria-spec-card {
        padding: 22px 18px !important;
        text-align: center !important;
    }
    .page-id-57 .kancelaria-spec-card * {
        text-align: center !important;
    }
}

/* (5) Footer Wariant C — porządne padding mobile + center text */
@media (max-width: 480px) {
    .footer-c-main-inner,
    .footer-c-links-inner,
    .footer-c-legal-inner {
        padding: 28px 22px !important;
        gap: 22px !important;
    }
    .footer-c-brand,
    .footer-c-contact,
    .footer-c-links {
        text-align: center !important;
        width: 100% !important;
    }
    .footer-c-contact-list { padding-left: 0 !important; }
    .footer-c-links-label { display: block !important; margin-bottom: 8px !important; }
}

/* (6) Hero CTAs stack pionowo mobile (page-cta-footer + hero CTAs) */
@media (max-width: 480px) {
    .page-cta-footer .page-cta-actions { width: 100%; }
    .page-id-57 .entry-header,
    .page-id-200 .ref-hero,
    .page-id-70 .porady-hero-actions,
    .page-id-72 .uslugi-hero-cta {
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
    }
}

/* (7) Wszystkie section headers + hero titles — clamp font-size mobile
 * żeby tekst się mieścił w viewport (np. "Najczęstsze pytania" wystawało) */
@media (max-width: 480px) {
    .page-id-70 .porady-section-title,
    .page-id-70 .porady-hero-title,
    .page-id-72 .uslugi-section-title,
    .page-id-72 .uslugi-section-title--hero,
    .page-id-200 .ref-section-title,
    .page-id-200 .ref-hero-title {
        font-size: clamp(20px, 6vw, 28px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        padding: 0 14px !important;
    }
    /* Stats bar mobile — wystarczająco padding po stronach */
    .page-id-70 .porady-stats-inner,
    .page-id-72 .uslugi-stats-bar--v3 {
        padding: 0 14px !important;
    }
    .page-id-70 .porady-stat-figure,
    .page-id-72 .uslugi-stat-figure {
        font-size: clamp(22px, 5.4vw, 28px) !important;
    }
    .page-id-70 .porady-stat-label,
    .page-id-72 .uslugi-stat-label {
        font-size: 9.5px !important;
        letter-spacing: 1.2px !important;
        line-height: 1.3 !important;
    }
}
/* === /[U23] === */


/* ==========================================================================
   [U24] ALIGNMENT FIX — kolumny footera Wariant C + karty 3-col
   --------------------------------------------------------------------------
   Diagnoza (audyt 2026-06-07, PDF print-to-pdf 5 podstron):

   1. FOOTER WARIANT C — user zgłosił że lewa kolumna .footer-c-brand jest
      text-align: center (eyebrow "KANCELARIA RADCY PRAWNEGO" + "Teresa
      Senderowska" + paragraf filozofia), a prawa .footer-c-contact jest
      text-align: left (KONTAKT eyebrow + adres/tel/email + socials).
      Przyczyna: body { text-align: center } (style.css:123) propaguje
      przez dziedziczenie do .footer-c-brand. Kolumna kontakt ma jawne
      text-align: left (linie 6926-6957 z [U20] redesign). Mismatch.

      Decyzja editorial law firm (Stowe / Harper James / GESSEL):
      footer dwukolumnowy = obie kolumny LEFT-aligned od góry do dołu
      (eyebrow + tytuł + filozofia + kontakt). Mobile zostawiamy
      centered (już zapewnione w [U23] (5) na max-width: 480px).

   2. KARTY 3-COL — niespójność wewnątrz karty (icon centered + h3 centered
      + paragraf left). Trzy podstrony to mają:
      - /kancelaria (page-id-57) .kancelaria-spec-card paragraf
      - /porady-prawne-online (page-id-70) .online-advice-why card paragraf
      - /porady-prawne-online (page-id-70) .online-advice-process card paragraf
      Wymusza paragraf CENTERED tak żeby ikona + tytuł + opis były w 1 osi.

   3. Mobile-first — wszystkie overridy desktop scope'owane do
      @media (min-width: 768px). Mobile zachowuje istniejące zachowanie.
   ========================================================================== */

/* ---- (1) FOOTER WARIANT C — kolumna BRAND lewa-aligned (desktop). ---- */
@media (min-width: 768px) {
    #footer .footer-c-brand,
    #footer .footer-c-brand .footer-c-brand-title,
    #footer .footer-c-brand .footer-c-eyebrow,
    #footer .footer-c-brand .footer-c-philosophy,
    #footer .footer-c-brand p {
        text-align: left !important;
    }
    /* Philosophy paragraf — usuwam margin: 0 auto (gdyby motyw dziedziczył
     * centrowanie blokowe) i wymuszam pełną szerokość kolumny. */
    #footer .footer-c-brand .footer-c-philosophy {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 540px !important;
    }
    /* Eyebrow wewnątrz <h3> — display: block żeby był na własnej linii i lewo. */
    #footer .footer-c-brand .footer-c-eyebrow {
        display: block !important;
        text-align: left !important;
    }
}

/* ---- (2) KANCELARIA (page-id-57) — spec card paragraf CENTERED -------- */
/* W card mamy ikon (centered) + h3 (centered) + p (left — dziedziczy z
 * [U21] global typography fix). Wymusza p centered żeby cała karta była
 * w spójnej osi. */
@media (min-width: 768px) {
    .page-id-57 .kancelaria-spec-card p,
    .page-id-57 .kancelaria-spec-card .kancelaria-spec-text {
        text-align: center !important;
        max-width: 320px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ---- (3) PORADY ONLINE (page-id-70) — wartości cards paragraf CENTERED. */
@media (min-width: 768px) {
    .page-id-70 .online-advice-why-item p,
    .page-id-70 .porady-why-item p,
    .page-id-70 .online-advice-why-card p,
    .page-id-70 .porady-why-card p {
        text-align: center !important;
        max-width: 320px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ---- (4) PORADY ONLINE (page-id-70) — process cards (3 kroki) paragraf. */
@media (min-width: 768px) {
    .page-id-70 .online-advice-process-step p,
    .page-id-70 .porady-process-step p,
    .page-id-70 .porady-step-desc,
    .page-id-70 .online-advice-step-desc {
        text-align: center !important;
        max-width: 460px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* === /[U24] === */

/* ==========================================================================
 * [U25] TRUSTINDEX BG FIX — spójność palety home (granat + białe karty)
 * --------------------------------------------------------------------------
 * Problem (screenshot user'a):
 *   - Sekcja .google-reviews-section na home wyglądała kremowo, bo Trustindex
 *     widget CSS jest ładowany asynchronicznie przez loader.js *PO* restyling.css.
 *     Reguła Trustindex `.ti-review-item>.ti-inner { background-color:#f4f4f4 }`
 *     wygrywała ze swoim `!important` nad naszym [M1.12b] (ten sam selektor
 *     specificity, ale późniejszy w cascade).
 *   - W efekcie karty były #f4f4f4 (jasny szary), gęsty grid kart przesłaniał
 *     granat sekcji, a całość czytała się jako kremowy panel z białymi kafelkami.
 *
 * Decyzja stylistyczna A — boutique editorial:
 *   - Sekcja: granat #08213a (zachowane z [M1.12c]) wzmocnione !important
 *   - Karty: czysto białe #ffffff (Mocniejszy override z direct-child selektorem)
 *   - Spójność: kontrast granat→biała karta = ten sam pattern co FAQ
 *     na /porady-prawne-online i sekcja Process na home (granat sekcja, jasne
 *     wnętrza). Pasuje też do estetyki DZP/WKB law firm boutique.
 *
 * Scope: wyłącznie .google-reviews-section + jej dzieci .ti-* (nie tyka
 * /referencje, gdzie używa się .referencje-gr-* z [M1.12d]).
 * Gwiazdki <trustindex-image> NIE są tu zmieniane (fix w [U23]/M1.12b).
 * ========================================================================== */

/* Sekcja — granat wzmocniony !important żeby przetrwać każdą późniejszą kaskadę */
html body .google-reviews-section,
html body section.google-reviews-section {
    background: #08213a !important;
    background-color: #08213a !important;
}

/* Tytuł + eyebrow + summary — wymuszone kolory pod granat (były OK, ale na wypadek
 * jeśli ktoś w przyszłości zmieni global heading color). */
html body .google-reviews-section .gr-section-title {
    color: #ffffff !important;
}
html body .google-reviews-section .gr-eyebrow {
    color: #cccc99 !important;
}
html body .google-reviews-section .gr-rating-number {
    color: #ffffff !important;
}
html body .google-reviews-section .gr-rating-count a,
html body .google-reviews-section .gr-stars {
    color: #cccc99 !important;
}

/* Karty Trustindex — biały bg ze wzmocnioną specificity (.google-reviews-section
 * jako prefix daje 4 klasy ⇒ wygrywa z 3-klasowymi regułami pluginu). */
html body .google-reviews-section .ti-widget.ti-goog .ti-review-item > .ti-inner,
html body .google-reviews-section .ti-widget.ti-goog .ti-review-item .ti-inner {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(8, 33, 58, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;
}

/* Strzałki karuzeli zachowują akcent granat/cccc99 z [M1.12b] — bez zmian. */

/* Branding footer ("Potwierdzono przez Trustindex") — przyciemniony tak żeby nie
 * łamał czerni granatu sekcji. */
html body .google-reviews-section .ti-widget.ti-goog .ti-verified-by-row > .ti-inner {
    background-color: rgba(8, 33, 58, 0.5) !important;
    border: 1px solid rgba(204, 204, 153, 0.25) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

/* === /[U25] === */


/* === [U26] /uslugi-prawne — anchor scroll-margin dla deep-links z home ===
 * Widgety "Zakres usług" na home (sidebar-ourfocus) linkują do
 * /uslugi-prawne#usluga-NN-title. Bez scroll-margin-top headlinę zasłania
 * sticky navbar (~140px desktop / 100px mobile). Wartości spójne z
 * .site-content padding-top z linii 848. Dodano też dla sekcji 08
 * "Bezpłatna pomoc prawna" — nowa sekcja dodana w tej sesji.
 */
.page-id-72 .usluga-section-title[id^="usluga-"] {
    scroll-margin-top: 140px;
}
@media (max-width: 767px) {
    .page-id-72 .usluga-section-title[id^="usluga-"] {
        scroll-margin-top: 100px;
    }
}

/* === /[U26] === */


/* ==========================================================================
   [U27] HOME NUMBERS — "Warszawa" font visual consistency fix
   --------------------------------------------------------------------------
   Diagnoza (2026-06-07):
   User zgłosił, że "Warszawa" w stats bar (4-ty element po 18 / 2007 / 9)
   wygląda "jakby była inną czcionką" niż cyfry.
   CDP getComputedStyle potwierdza: WSZYSTKIE 4 elementy mają tę samą
   rodzinę ('Source Sans 3' bold 700) — to nie jest różnica fontu.
   Realna przyczyna wizualnej niespójności:
     - cyfry (.numbers-figure):              size 52px, letter-spacing -1px
     - "Warszawa" (.numbers-figure-text):    size 28px, letter-spacing normal
   Różnica ~2× w rozmiarze + brak negatywnego trackingu sprawia, że
   "Warszawa" sprawia wrażenie "luźniejszej / inaczej rysowanej". Mobile
   wręcz odwrotnie — [BONUS E]/[H4] dają .numbers-figure clamp(44px,11vw,62px)
   !important który łapie też klasę .numbers-figure-text (która ma BOTH
   classes), więc "Warszawa" robi się ogromna 44-62px obok cyfr ~52px.

   Fix:
     1) Letter-spacing -1px na .numbers-figure-text → spójny tracking
        z cyframi (ten sam "compact serif-like" rytm).
     2) Większy size na desktop (28px → 36px) → bliżej cyfr (52px), różnica
        wciąż wystarczająca żeby string nie wybijał ponad column-width.
     3) Mobile cap: !important żeby przebić clamp() z [BONUS E]/[H4],
        bo tam "Warszawa" robi się nieproporcjonalnie duża (większa niż "18").
   ========================================================================== */
html body .numbers-section .numbers-figure-text {
    font-size: 36px !important;
    letter-spacing: -0.5px !important;
    font-weight: 700 !important;
}
@media (max-width: 767px) {
    html body .numbers-section .numbers-figure.numbers-figure-text {
        font-size: clamp(26px, 7vw, 36px) !important;
        letter-spacing: -0.3px !important;
    }
}

/* === /[U27] === */


/* === [U29] Footer Wariant C — wyrównanie pierwszych wierszy dwóch kolumn ===
 * Problem: kolumna lewa zaczyna się od <span class="footer-c-eyebrow">
 * "KANCELARIA RADCY PRAWNEGO" (small caps eyebrow, 11.5px, gold, letter-spacing 2.6px)
 * + <br> + "Teresa Senderowska" (Playfair 26px).
 * Kolumna prawa zaczyna się od <h4 class="footer-c-contact-title"> "KONTAKT"
 * (small caps, 12px, biały, letter-spacing 2.6px) + gold underline 28px.
 *
 * Wizualnie obie pierwsze linijki to "KONTAKT" vs "KANCELARIA RADCY PRAWNEGO" —
 * eyebrow + contact-title są w tym samym stylu typograficznym i POWINNY być
 * idealnie wyrównane w baseline. Aktualnie:
 *   - eyebrow font-size 11.5px vs contact-title 12px (różnica 0.5px = ~1px shift)
 *   - eyebrow nie ma własnego margin-top, sieść line-height z h3
 *   - contact-title ma margin-top 0 ale parent h4 ma swoje line-height
 *   - h3 i h4 mogą dziedziczyć motywowe top-marginy
 *
 * Fix:
 *   1. Ujednolicić font-size + line-height + letter-spacing dla eyebrow i contact-title
 *   2. Wymusić margin-top: 0 oraz padding-top: 0 dla pierwszych elementów obu kolumn
 *      (h3.brand-title, h4.contact-title)
 *   3. Reset motywowych marginów na top dla footer-c-brand i footer-c-contact
 */
html body #footer .footer-c-main-inner {
    align-items: flex-start !important;
}
html body #footer .footer-c-brand,
html body #footer .footer-c-contact {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Pierwsze elementy każdej kolumny — wymuszony zerowy margin-top */
html body #footer .footer-c-brand-title,
html body #footer .footer-c-contact-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Ujednolicenie typografii eyebrow i contact-title żeby pierwsze linie były wizualnie zgodne */
html body #footer .footer-c-eyebrow,
html body #footer .footer-c-contact-title {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2.6px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}
/* Eyebrow w kolumnie brand — display:block z margin-bottom dla odsep od "Teresa Senderowska".
 * Bez własnego marginu top (siedzi pod parent h3 którego padding/margin top jest 0).
 * line-height: 1 wymuszony żeby pierwsza linia eyebrow miała taki sam line-box
 * jak h4.footer-c-contact-title (też 12px / line-height: 1) — baseline alignment. */
html body #footer .footer-c-brand-title .footer-c-eyebrow {
    display: block;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #cccc99 !important;
    line-height: 1 !important;
}
/* h4.footer-c-contact-title MUSI mieć line-height: 1 (taki sam jak eyebrow line-box)
 * żeby baseline pierwszej linii był na tej samej wysokości co eyebrow w h3. */
html body #footer .footer-c-contact-title {
    line-height: 1 !important;
}
/* Reset motywowych line-height na h3.footer-c-brand-title żeby NIE wymuszał
 * line-height: 1.25 (z linii 4079) na pierwszej linii eyebrow. Eyebrow sam
 * jako block z line-height: 1 ustawia własny line-box. */
html body #footer .footer-c-brand-title {
    line-height: 1.25 !important;
}
/* Kolor i waga "Teresa Senderowska" niezmieniona (Playfair 26px) — tylko że teraz
 * h3 nie ma własnego top-marginu więc pierwsza linia (eyebrow) jest na góry. */

@media (max-width: 767px) {
    html body #footer .footer-c-eyebrow,
    html body #footer .footer-c-contact-title {
        font-size: 11px !important;
        letter-spacing: 2.2px !important;
    }
}

/* === /[U29] === */


/* === [U30] /referencje — Trustindex widget koloryzacja zgodna z tłem sekcji ===
 *
 * Problem (screenshot user'a):
 *   Sekcja .ref-trustindex-section na /referencje ma kremowe tło #fafaf3 (boutique).
 *   Trustindex widget renderuje:
 *     - karty .ti-review-item > .ti-inner z background #f4f4f4 (jasny szary) —
 *       w zasadzie identyczne z tłem sekcji, więc karty zlewają się z tłem,
 *       brak hierarchii wizualnej.
 *     - footer .ti-verified-by-row > .ti-inner[data-style="1"] z background #157351
 *       (Trustindex korporacyjny ZIELONY) + biały text — kompletnie pozapaletą
 *       boutique granat/gold/cream.
 *
 * Decyzja:
 *   - Karty: białe #ffffff z subtelnym granatowym borderem + delikatny shadow
 *     (analogicznie do [U25] na home, ale dla scope .ref-trustindex-section).
 *   - Verified badge: granat #08213a tło + gold #cccc99 text, spójne z paletą
 *     boutique. Border 1px gold subtle.
 *   - Tooltipy info-icon / disclaimer — kolory dopasowane do nowego tła.
 *
 * Scope: WYŁĄCZNIE .ref-trustindex-section (page-id-200) — nie tyka
 * .google-reviews-section na home, ani innych miejsc.
 */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item > .ti-inner,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-inner {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(8, 33, 58, 0.10) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 20px rgba(8, 33, 58, 0.08) !important;
}

/* Verified-by-row — kontener (margin/padding bez zmiany) */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row {
    margin-top: 18px !important;
}

/* Verified badge "Potwierdzono przez Trustindex" — granat + gold zamiast zielonego */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row > .ti-inner,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row[data-style="1"] > .ti-inner,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row[data-style="2"] > .ti-inner {
    background: #08213a !important;
    background-color: #08213a !important;
    color: #cccc99 !important;
    border: 1px solid rgba(204, 204, 153, 0.35) !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    font-weight: 600 !important;
}

/* Info-icon (✓) wewnątrz verified badge — gold zamiast czarnego/białego */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row .ti-info-icon {
    background-color: #cccc99 !important;
}

/* "Potwierdzono przez Trustindex" link "Przeczytaj więcej" — gold */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row .ti-disclaimer a,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row .ti-disclaimer a:hover {
    color: #cccc99 !important;
    text-decoration: underline !important;
}

/* Disclaimer tooltip — granat bg + jasny tekst (default white-tooltip wygląda
 * surowo na kremowym tle). */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-verified-by-row .ti-disclaimer {
    background-color: #08213a !important;
    color: #ffffff !important;
    border: 1px solid rgba(204, 204, 153, 0.4) !important;
}

/* Strzałki karuzeli (.ti-prev / .ti-next) — wymuszone gold accent, nie szary default */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-next,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-prev {
    color: #cccc99 !important;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-next:hover,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-prev:hover {
    opacity: 1;
}

/* Dots/pager pod karuzelą — gold accent */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-controls-line .dot,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-controls-line .dot.active {
    background-color: #cccc99 !important;
}

/* === /[U30] === */


/* ============================================================================
 * [U31] /kancelaria (page-id-57) — V3 EDITORIAL BOUTIQUE REBUILD
 * ----------------------------------------------------------------------------
 * Z poprzedniej wersji (M1.11+M3) strona miała na środku ozdobne zdjęcie
 * "kancelaria.png" (pióro) + układ 1-col z lead boxem i 3 spec-cards w siatce.
 * Estetyka nie była spójna z pozostałymi podstronami w V3/V6 boutique
 * (uslugi-prawne, porady-prawne-online, referencje).
 *
 * V3 REBUILD pełen redesign w stylu /uslugi-prawne V3:
 *   1) HERO pełnoekranowy: granat bg (lawBG-10.png) + dark overlay + glow
 *      + eyebrow + h1 + gold divider + lead + 2 CTAs (primary gold + secondary outline)
 *   2) STATS BAR 3-col: 18 lat / OIRP Warszawa / ★4.9 z 60 opinii Google
 *   3) FILOZOFIA: kremowa sekcja z pull quote
 *   4) OBSZARY SPECJALIZACJI: granat sekcja z 3 white cards (Klienci/Podmioty/Nieruchomości)
 *   5) FOUNDER: granat sekcja z eyebrow + h2 + shortcode [founder_card]
 *   6) PAGE CTA: kremowa sekcja "Skonsultuj swoją sprawę" z 2 CTAs
 *
 * Stare selektory `.kancelaria-lead`, `.kancelaria-specs-title`, `.kancelaria-specs`,
 * `.kancelaria-spec-card` (M1.11+M3, linie 1442-1672) zostają w pliku ale są
 * MARTWE — nowy HTML używa `.kancelaria-page--v3` jako root container i nowych
 * sub-class. Zero ryzyka konfliktu.
 * ============================================================================ */

/* ---- 0) RESET — zerowanie WSZYSTKICH rodziców łańcucha dla pełnej szerokości
 * (wzorzec [V6 hero-fix] z page-id-70) -------------------------------------- */
.page-id-57 #content.site-content,
.page-id-57 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-57 #content.site-content > .container,
.page-id-57 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.page-id-57 .site-content .content-left-wrap,
.page-id-57 .site-content .col-md-12.content-left-wrap,
.page-id-57 .site-content .content-area,
.page-id-57 .site-content .site-main,
.page-id-57 .site-content .entry-content,
.page-id-57 .site-content article.post-57 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}
.page-id-57 .site-content .entry-title { display: none !important; }
.page-id-57 .site-content .entry-content { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Override globalnego [U21] justify dla page-id-57 (kontener .kancelaria-page--v3) */
.page-id-57 .kancelaria-page--v3 p,
.page-id-57 .kancelaria-page--v3 li {
    text-align: inherit !important;
}

/* ---- 1) EYEBROW / DIVIDER / SECTION TITLE — współdzielone ----------------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-eyebrow {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 18px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-eyebrow--dark { color: #6b6b48; }

.page-id-57 .kancelaria-page--v3 .kancelaria-section-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.2;
    color: #08213a;
    margin: 0 0 18px 0;
    text-align: center;
    letter-spacing: 0.3px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-section-title--light { color: #ffffff; }

.page-id-57 .kancelaria-page--v3 .kancelaria-section-divider {
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 0 32px 0;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-section-divider--center {
    margin-left: auto;
    margin-right: auto;
}

/* ---- 2) HERO pełnoekranowy ------------------------------------------------ */
.page-id-57 .kancelaria-page--v3 .kancelaria-hero {
    position: relative;
    min-height: clamp(440px, 64vh, 620px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(120px, 16vh, 180px) 24px clamp(80px, 10vh, 120px);
    overflow: hidden;
    background: #08213a;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/lawBG-2.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.32;
    z-index: 0;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,33,58,0.65) 0%, rgba(8,33,58,0.78) 60%, rgba(8,33,58,0.88) 100%);
    z-index: 1;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-glow {
    position: absolute;
    left: 50%;
    top: 28%;
    transform: translate(-50%, -50%);
    width: 720px;
    height: 720px;
    background: radial-gradient(circle, rgba(204,204,153,0.16) 0%, rgba(204,204,153,0) 70%);
    z-index: 1;
    pointer-events: none;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    width: 100%;
    text-align: center;
    color: #ffffff;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: clamp(32px, 4.6vw, 60px);
    line-height: 1.12;
    color: #ffffff;
    margin: 0 0 24px 0;
    letter-spacing: 0.2px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-divider {
    display: block;
    width: 72px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 32px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.6;
    color: #d9d4c0;
    font-weight: 400;
    max-width: 800px;
    margin: 0 auto 40px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

/* ---- 3) BUTTONS — primary + secondary (used in hero AND page-cta) -------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 36px;
    border-radius: 999px;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none !important;
    transition: all 0.22s ease;
    border: 1.5px solid transparent;
    line-height: 1.2;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-btn--primary {
    background: #cccc99;
    color: #08213a;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-btn--primary:hover {
    background: #ffffff;
    color: #08213a;
    transform: translateY(-1px);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero .kancelaria-btn--secondary {
    background: transparent;
    color: #ffffff;
    border-color: rgba(204, 204, 153, 0.55);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-hero .kancelaria-btn--secondary:hover {
    background: #cccc99;
    color: #08213a;
    border-color: #cccc99;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta .kancelaria-btn--secondary {
    background: transparent;
    color: #08213a;
    border-color: rgba(8, 33, 58, 0.4);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta .kancelaria-btn--secondary:hover {
    background: #08213a;
    color: #ffffff;
    border-color: #08213a;
}

/* ---- 4) STATS BAR --------------------------------------------------------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-stats-bar {
    background: #06182a;
    border-top: 1px solid rgba(204, 204, 153, 0.18);
    border-bottom: 1px solid rgba(204, 204, 153, 0.18);
    padding: 44px 24px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-stats-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    text-align: center;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border-left: 1px solid rgba(204, 204, 153, 0.18);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-stat:first-child { border-left: none; }
.page-id-57 .kancelaria-page--v3 .kancelaria-stat-figure {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 600;
    color: #cccc99;
    line-height: 1;
    letter-spacing: 0.4px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-stat-label {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(217, 212, 192, 0.78);
}

/* ---- 5) FILOZOFIA (light cream section) ----------------------------------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-philosophy {
    background: #fafaf3;
    padding: clamp(60px, 8vw, 100px) 24px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-philosophy-inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-pull-quote {
    position: relative;
    font-family: "Playfair Display", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.5;
    color: #08213a;
    background: transparent;
    border: none;
    margin: 32px auto 36px;
    padding: 12px 30px;
    max-width: 760px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-pull-quote:before {
    content: "\201C";
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 100px;
    line-height: 0.2;
    color: #cccc99;
    opacity: 0.55;
    margin-bottom: 12px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-philosophy-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.75;
    color: #2a3744;
    margin: 0 auto 20px;
    max-width: 780px;
    text-align: left !important;
}

/* ---- 6) OBSZARY SPECJALIZACJI — granat sekcja + 3 white cards ----------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-specs-section {
    background: #08213a;
    padding: clamp(60px, 8vw, 100px) 24px;
    position: relative;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-specs-inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-specs-section .kancelaria-section-title {
    color: #ffffff;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-specs-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.65;
    color: #d9d4c0;
    margin: 0 auto 48px;
    max-width: 680px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-specs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-card {
    background: #ffffff;
    border: 1px solid rgba(204, 204, 153, 0.2);
    border-top: 3px solid #cccc99;
    border-radius: 10px;
    padding: 38px 28px;
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.25);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #08213a;
    color: #cccc99;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
    font-size: 28px;
    transition: background 0.25s ease, color 0.25s ease;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-card:hover .kancelaria-spec-icon {
    background: #cccc99;
    color: #08213a;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-card .fa { line-height: 1; }
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 21px;
    color: #08213a;
    margin: 0 0 14px 0;
    line-height: 1.3;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-text {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #4a5563;
    margin: 0 0 22px 0;
    text-align: left !important;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-cta {
    display: inline-block;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #08213a;
    text-decoration: none;
    padding-bottom: 4px;
    border-bottom: 2px solid #cccc99;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-spec-cta:hover {
    color: #cccc99;
    border-bottom-color: #08213a;
}

/* ---- 7) FOUNDER SECTION (granat) — wrapper dla [founder_card] -------------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-section {
    background: #08213a;
    padding: clamp(60px, 8vw, 100px) 24px clamp(40px, 6vw, 80px);
    border-top: 1px solid rgba(204, 204, 153, 0.18);
}
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-subtitle {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    color: #d9d4c0;
    margin: 0 auto 36px;
    max-width: 620px;
    line-height: 1.6;
    font-weight: 400;
    text-align: center !important;
}

/* Override .founder-section (z sections/founder.php) — żeby ładnie wpasować się
 * w naszą sekcję .kancelaria-founder-section bez podwójnego paddingu / bg. */
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-section .founder-section {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-section .founder-section .container {
    width: 100% !important;
    max-width: 920px !important;
    padding: 0 !important;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-founder-section .founder-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(204, 204, 153, 0.25) !important;
    backdrop-filter: blur(6px);
}

/* ---- 8) PAGE CTA (cream) — Skonsultuj swoją sprawę ----------------------- */
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta {
    background: #fafaf3;
    padding: clamp(60px, 8vw, 100px) 24px;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-inner {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-title {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.2;
    color: #08213a;
    margin: 0 0 18px 0;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-lead {
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.65;
    color: #2a3744;
    margin: 0 auto 36px;
    max-width: 620px;
    text-align: center !important;
}
.page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

/* ---- 9) MOBILE — wszystkie sekcje --------------------------------------- */
@media (max-width: 767px) {
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero {
        min-height: 380px;
        padding: 110px 18px 60px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero-title {
        font-size: clamp(24px, 6.4vw, 36px) !important;
        line-height: 1.18 !important;
        padding: 0 4px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero-lead {
        font-size: 15.5px;
        padding: 0 4px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero-cta,
    .page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        max-width: 320px;
        margin: 0 auto;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-btn {
        width: 100%;
        padding: 14px 24px;
        font-size: 14px;
        white-space: normal;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-stats-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-stat {
        border-left: none;
        border-top: 1px solid rgba(204, 204, 153, 0.18);
        padding-top: 24px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-stat:first-child {
        border-top: none;
        padding-top: 0;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-section-title,
    .page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-title {
        font-size: clamp(22px, 6vw, 30px) !important;
        line-height: 1.2 !important;
        padding: 0 14px !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-specs-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-spec-card {
        padding: 30px 22px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-spec-title {
        font-size: 18px;
        padding: 0 4px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-spec-text {
        font-size: 14.5px;
        padding: 0 2px;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-pull-quote {
        font-size: 17.5px;
        margin: 24px 0 28px;
        padding: 8px 18px;
        line-height: 1.5;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-philosophy-lead,
    .page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-lead,
    .page-id-57 .kancelaria-page--v3 .kancelaria-specs-lead,
    .page-id-57 .kancelaria-page--v3 .kancelaria-founder-subtitle {
        padding: 0 12px;
        font-size: 15px;
    }
    /* Sekcje — zmniejszony padding-x na mobile dla większej powierzchni content */
    .page-id-57 .kancelaria-page--v3 .kancelaria-philosophy,
    .page-id-57 .kancelaria-page--v3 .kancelaria-specs-section,
    .page-id-57 .kancelaria-page--v3 .kancelaria-founder-section,
    .page-id-57 .kancelaria-page--v3 .kancelaria-page-cta,
    .page-id-57 .kancelaria-page--v3 .kancelaria-stats-bar {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* Bardzo małe ekrany (< 380px) — dalsze redukcje fontów */
@media (max-width: 380px) {
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero-title {
        font-size: 22px !important;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-section-title,
    .page-id-57 .kancelaria-page--v3 .kancelaria-page-cta-title {
        font-size: 21px !important;
    }
    .page-id-57 .kancelaria-page--v3 .kancelaria-pull-quote {
        font-size: 16px;
        padding: 8px 8px;
    }
}

/* === /[U31] === */


/* ============================================================================
 * [U32] /referencje (page-id-200) — 2 fixy po user feedbacku
 * ----------------------------------------------------------------------------
 * Problem (a): pasek filtra ".ref-filter-bar" jest granatowy (rgba(8,33,58,0.95))
 *   z gold chipsami — sticky pod navbarem. Out-of-place w boutique sekcji
 *   /referencje która ma kremowe tło #fafaf3 (boutique editorial).
 *   Fix: jasny pasek (transparent / kremowy) z granat textem chipsów + gold
 *   underline pod active. Usuwam sticky positioning.
 *
 * Problem (b): karty Trustindex (".ti-review-item > .ti-inner") aktualnie
 *   #ffffff z granatowym borderem (po [U30] z sesji #5). Sekcja .ref-trustindex-section
 *   ma kremowe tło #fafaf3 — białe karty wciąż widoczne jako "kafelki".
 *   User: "kolor karuzeli ma być taki sam jak background". Fix: karty z #ffffff
 *   na #fafaf3 (transparentne wizualnie), border usunięty, shadow zminimalizowany
 *   żeby wciąż było widać oddzielenie poszczególnych opinii.
 * ============================================================================ */

/* ---- (a) FILTER BAR — jasny boutique z granat chipsami ------------------- */
/* Ultra-wysoka specificity przez nav.ref-filter-bar — element + 4 klasy */
html body .page-id-200 .ref-page-wrap nav.ref-filter-bar,
html body .page-id-200 .ref-page-wrap nav.ref-filter-bar[aria-label],
html body .page-id-200 .ref-page-wrap .ref-filter-bar {
    position: static !important;   /* usunięte sticky */
    top: auto !important;
    z-index: auto !important;
    background: #fafaf3 !important;
    background-color: #fafaf3 !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-top: 1px solid rgba(8, 33, 58, 0.10) !important;
    border-bottom: 1px solid rgba(8, 33, 58, 0.10) !important;
    padding: 8px 0 !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip {
    background: transparent !important;
    border: 1px solid rgba(8, 33, 58, 0.18) !important;
    color: #08213a !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip:hover {
    background: rgba(8, 33, 58, 0.06) !important;
    border-color: rgba(8, 33, 58, 0.4) !important;
    color: #08213a !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip:focus-visible {
    outline: 2px solid #cccc99 !important;
    outline-offset: 2px !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip.active {
    background: #08213a !important;
    color: #ffffff !important;
    border-color: #08213a !important;
}

/* ---- (b) TRUSTINDEX KARTY — kremowe (taki sam kolor co tło sekcji) ------- */
/* Override [U30] white background. Karty teraz transparentne wizualnie,
 * subtelne hairline border (rgba 5%) zamiast solid 10%, NO box-shadow. */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item > .ti-inner,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-inner {
    background: #fafaf3 !important;
    background-color: #fafaf3 !important;
    background-image: none !important;
    border: 1px solid rgba(8, 33, 58, 0.05) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

/* === /[U32] === */

/* === [U33] M1.15 v3 — submenu editorial accents ========================= */
/* Cel: domknąć M1.15 — dopisać do istniejącej bazy (linie ~191-264, M1.15 v2)
 * brakujące editorial detale z briefa: solid gold top accent 2px, większy
 * padding 14px/24px, subtle gold underline animowane na hover.
 *
 * Append-only: NIE dotykamy M1.5 (bridge gap) ani v2 (kolor/font). Tylko
 * akcenty wizualne na wierzchu. Selektor `.navbar-inverse .navbar-nav` jest
 * faktycznie używany przez wp_nav_menu w header.php:307 (menu_class:
 * 'nav navbar-nav navbar-right'), więc trzymamy tę samą konwencję. */

/* (a) Solid gold top accent 2px — zastępuje wcześniejszy hairline border 0.18 */
#main-nav .navbar-inverse .navbar-nav ul.sub-menu,
.navbar-inverse .navbar-nav ul.sub-menu {
    border-top: 2px solid #cccc99 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 0 0 4px 4px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.30) !important;
    min-width: 240px !important;
}

/* (b) Większy padding wewnątrz items — 14px/24px (brief) zamiast 11px/22px */
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li a,
#main-nav.navbar-inverse .navbar-nav ul.sub-menu li a,
.navbar-inverse .navbar-nav ul.sub-menu li a {
    padding: 14px 24px !important;
    position: relative !important;
}

/* (c) Subtle gold underline animowane on hover — 32px kreska pod tekstem.
 * Wcześniejsza reguła (linie 254-264) ustawia display:none na :after dla
 * sub-menu items; tutaj jawnie ją przywracamy z większą specificity. */
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li > a:after,
.navbar-inverse .navbar-nav ul.sub-menu li > a:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 24px !important;
    bottom: 8px !important;
    width: 0 !important;
    height: 1px !important;
    background: #cccc99 !important;
    transition: width 0.3s ease !important;
}
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li > a:hover:after,
#main-nav .navbar-inverse .navbar-nav ul.sub-menu li:hover > a:after,
.navbar-inverse .navbar-nav ul.sub-menu li > a:hover:after,
.navbar-inverse .navbar-nav ul.sub-menu li:hover > a:after,
.navbar-inverse .navbar-nav ul.sub-menu li.current-menu-item > a:after {
    width: 32px !important;
}
/* === /[U33] === */

/* ==========================================================================
 * [U35 / M1.9] FOOTER GLOBAL REFACTOR — separator + integralne underlines + bottom row icons
 * --------------------------------------------------------------------------
 * Diagnoza (audyt 2026-06-07, screenshot user):
 *   (a) .footer-c-links-bar (sekcja "Przydatne linki") zlewa się z .contact-section
 *       (mapa Google) nad nią — obie mają tło #08213a (granat). Aktualne pseudo
 *       :before/:after dają gradient hairline 0.35 alpha — wizualnie za słabo,
 *       wygląda jakby to była ta sama sekcja. Trzeba mocniejszy separator.
 *   (b) Linki w .footer-c-links a używają border-bottom: 1px solid transparent →
 *       border-bottom-color: gold on hover. User: "kreski są inline a nie
 *       integralne" — chce subtle widoczny underline statycznie (czytelność
 *       linków) + animowany pseudo-element gold na hover (full width).
 *   (c) .footer-c-legal-bar ma "© 2026 Kancelaria…" (sam tekst) + "Polityka
 *       prywatności · Polityka cookies" (sam tekst) → niespójność wizualna.
 *       Rozwiązanie: gold ikony fa-copyright + fa-shield przed obiema
 *       grupami; wyrównanie align-items: center na flex.
 *
 * Decyzje stylistyczne:
 *   - Separator (a): zachowuję istniejący gradient :before w links-bar
 *     (kompatybilność z [U8]), ALE dodaję mocny gold akcent 64×2px na środku
 *     (jak hairline divider w boutique designie). Border-top hairline gold
 *     subtle (0.22 alpha) na całą szerokość żeby zaznaczyć linię oddzielenia.
 *   - Underlines (b): statyczny 1px solid rgba gold 0.15 (ledwo widoczny,
 *     daje sygnał klikalności) + ::after pseudo-element gold 100% on hover.
 *   - Bottom row (c): ikony FA gold 12px, gap 6px, vertical-align center
 *     przez inline-flex na .footer-c-copyright i .footer-c-legal-links.
 *
 * NIE psuje [U24] (text-align left brand kolumna) ani [U29] (baseline alignment
 * eyebrow vs contact-title) — to są reguły wewnątrz .footer-c-main, tu działamy
 * na .footer-c-links-bar i .footer-c-legal-bar.
 * ============================================================================ */

/* ---- (a) SEPARATOR — granica między mapą a sekcją "Przydatne linki" ---- */
html body #footer .footer-c-links-bar {
    border-top: 1px solid rgba(204, 204, 153, 0.22) !important;
    padding-top: 36px !important;
    margin-top: 8px !important;
    position: relative !important;
}
/* Gold akcent 64×2px na środku górnej krawędzi — boutique hairline divider */
html body #footer .footer-c-links-bar::before {
    /* override istniejący :before z [U8] (gradient hairline) na mocny gold dot */
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: -1px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 64px !important;
    height: 2px !important;
    background: #cccc99 !important;
    /* reset właściwości z [U8] :before które tu nie chcemy */
    max-width: none !important;
    margin: 0 !important;
}
/* Zachowuję :after z [U8] (gradient hairline pod sekcją linków) — daje
 * dodatkowy rytm wizualny przed legal bar. */

/* ---- (b) LINKI footer — integralny underline + animowany hover ---- */
html body #footer .footer-c-links li a {
    /* Override [U8] border-bottom: 1px solid transparent — zamiast tego subtle
     * statyczny underline gold 0.15 alpha (sygnał klikalności bez krzyczenia). */
    border-bottom: 1px solid rgba(204, 204, 153, 0.15) !important;
    padding-bottom: 2px !important;
    position: relative !important;
    display: inline-block !important;
    transition: color 0.25s ease, border-bottom-color 0.25s ease !important;
}
html body #footer .footer-c-links li a::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 0 !important;
    height: 1px !important;
    background: #cccc99 !important;
    transition: width 0.3s ease !important;
}
html body #footer .footer-c-links li a:hover {
    color: #cccc99 !important;
    border-bottom-color: transparent !important;
}
html body #footer .footer-c-links li a:hover::after {
    width: 100% !important;
}
/* Focus visibility (a11y) */
html body #footer .footer-c-links li a:focus-visible {
    outline: 2px solid #cccc99 !important;
    outline-offset: 3px !important;
    border-radius: 2px !important;
}

/* ---- (c) LEGAL BAR — wyrównanie ikon + tekstu w obu kolumnach ---- */
html body #footer .footer-c-legal-bar {
    /* Mocniejszy separator nad bar — visualnie oddziela od links-bar */
    border-top: 1px solid rgba(204, 204, 153, 0.14) !important;
}
html body #footer .footer-c-copyright,
html body #footer .footer-c-legal-links {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
/* Gold ikona przed grupą — fa-copyright (lewa) + fa-shield (prawa) */
html body #footer .footer-c-legal-icon {
    color: #cccc99 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    margin-right: 2px !important;
    opacity: 0.85 !important;
    flex-shrink: 0 !important;
}
/* Hover na ikonę razem z tekstem (lekki accent) */
html body #footer .footer-c-legal-links:hover .footer-c-legal-icon,
html body #footer .footer-c-copyright:hover .footer-c-legal-icon {
    opacity: 1 !important;
}
/* Tekst copyright pozostaje white 0.55 alpha (override [U8]) — ikona to gold akcent */
html body #footer .footer-c-copyright-text {
    color: inherit !important;
}

/* ---- MOBILE — legal bar stack, ikony pozostają widoczne ---- */
@media (max-width: 767px) {
    html body #footer .footer-c-links-bar {
        padding-top: 30px !important;
        margin-top: 6px !important;
    }
    html body #footer .footer-c-links-bar::before {
        width: 48px !important;
    }
    html body #footer .footer-c-copyright,
    html body #footer .footer-c-legal-links {
        justify-content: center !important;
    }
    html body #footer .footer-c-legal-icon {
        font-size: 12px !important;
    }
}

/* === /[U35] === */

/* === [U37] FOOTER BASELINE — padding-top compensation =================
 * Debug screenshot pokazał: top .footer-c-eyebrow box jest ~6px WYŻEJ
 * niż top .footer-c-contact-title box, mimo identycznych margin/line-height.
 * Powód: span block w h3 vs standalone h4 — różny baseline offset browser.
 * Fix: kompensujemy przez padding-top: 6px na BRAND eyebrow (przenosi w dół). */
html body #footer .footer-c-main-inner {
    align-items: flex-start !important;
}
html body #footer .footer-c-brand,
html body #footer .footer-c-contact {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
html body #footer h3.footer-c-brand-title,
html body #footer h4.footer-c-contact-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
html body #footer .footer-c-brand-title .footer-c-eyebrow,
html body #footer h4.footer-c-contact-title {
    display: block !important;
    box-sizing: border-box !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2.6px !important;
    text-transform: uppercase !important;
    color: #cccc99 !important;
    line-height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
}
/* Margin tylko bottom — bez kompensacji top, text top = box top oba */
html body #footer .footer-c-brand-title .footer-c-eyebrow {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}
html body #footer h4.footer-c-contact-title {
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}
html body #footer h4.footer-c-contact-title:after {
    display: none !important;
}
/* === /[U37] === */

/* === [U38] HERO HOME — 75vh tease następnej sekcji =====================
 * User chce hero wystarczająco długi by dominował, ALE w pierwszym viewport
 * powinien być widoczny BEGIN następnej sekcji (numbers 18/2007/9/Warszawa).
 * v3: min-height: 75vh = hero zajmuje 3/4 ekranu, 1/4 dla teaser numbers.
 * Content (title+CTA+badges) centered vertically wewnątrz 75vh. */
html body .home-header-wrap {
    min-height: 75vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
}
html body .home-header-wrap .header-content-wrap {
    padding: 60px 0 40px !important;
    flex: 0 0 auto !important;
}
@media (max-width: 991px) {
    html body .home-header-wrap {
        min-height: 70vh !important;
    }
    html body .home-header-wrap .header-content-wrap {
        padding: 50px 0 30px !important;
    }
}
@media (max-width: 600px) {
    html body .home-header-wrap {
        min-height: 60vh !important;
    }
    html body .home-header-wrap .header-content-wrap {
        padding: 40px 0 24px !important;
    }
}
/* === /[U38] === */

/* === [U39] /referencje — UNIFIED GRANAT THEME ============================
 * User: "kolorystyka karuzeli Trustindex jest w innym kolorze jak background,
 * filter bar nie pasuje". Wcześniejszy [U32] próbował kremowy (boutique light)
 * ale render wciąż mismatched. Pivot: WSZYSTKIE sekcje /referencje granat
 * (spójność z hero + reszta strony) — boutique law firm dark theme.
 *
 * Sekcje: hero (granat — OK), trustindex (kremowy → GRANAT),
 *         filter bar (granat — przywróć ale stronger),
 *         bento (kremowy → GRANAT z light cards). */

/* (1) Trustindex sekcja — granat z białymi kartami zintegrowanymi */
html body .page-id-200 .ref-page-wrap .ref-trustindex-section {
    background: #08213a !important;
}
html body .page-id-200 .ref-page-wrap .ref-trustindex-section .ref-section-title,
html body .page-id-200 .ref-page-wrap .ref-trustindex-section .ref-section-title {
    color: #ffffff !important;
}
html body .page-id-200 .ref-page-wrap .ref-trustindex-section .ref-eyebrow {
    color: #cccc99 !important;
}
/* Trustindex karty — subtelny ciemniejszy granat z gold border, white text */
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item > .ti-inner,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-inner {
    background: rgba(255, 255, 255, 0.04) !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(204, 204, 153, 0.22) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-name,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-name a {
    color: #ffffff !important;
}
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-date {
    color: rgba(217, 212, 192, 0.6) !important;
}
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-review-content,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-review-item .ti-review-text-container {
    color: #d9d4c0 !important;
}
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog .ti-read-more span {
    color: #cccc99 !important;
}

/* (2) Filter bar — granat boutique z gold chipsami */
html body .page-id-200 .ref-page-wrap nav.ref-filter-bar,
html body .page-id-200 .ref-page-wrap .ref-filter-bar {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    background: #06182a !important;
    background-color: #06182a !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-top: 1px solid rgba(204, 204, 153, 0.18) !important;
    border-bottom: 1px solid rgba(204, 204, 153, 0.18) !important;
    padding: 16px 0 !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip {
    background: transparent !important;
    border: 1px solid rgba(204, 204, 153, 0.4) !important;
    color: #cccc99 !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip:hover {
    background: rgba(204, 204, 153, 0.12) !important;
    border-color: #cccc99 !important;
    color: #ffffff !important;
}
html body .page-id-200 .ref-page-wrap .ref-filter-chip.active {
    background: #cccc99 !important;
    color: #08213a !important;
    border-color: #cccc99 !important;
}

/* (3) Bento (case studies) — granat z light cards. Klasa to .ref-card (NIE .ref-tile). */
html body .page-id-200 .ref-page-wrap .ref-grid-section,
html body .page-id-200 .ref-grid-section {
    background: #08213a !important;
}
html body .page-id-200 .ref-page-wrap .ref-card,
html body .page-id-200 .ref-grid-section .ref-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(204, 204, 153, 0.18) !important;
    border-left: 3px solid #cccc99 !important;
    color: #d9d4c0 !important;
    box-shadow: none !important;
}
html body .page-id-200 .ref-page-wrap .ref-card:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
}
html body .page-id-200 .ref-page-wrap .ref-card *,
html body .page-id-200 .ref-page-wrap .ref-card-quote,
html body .page-id-200 .ref-page-wrap .ref-card-quote *,
html body .page-id-200 .ref-page-wrap .ref-card-author {
    color: #d9d4c0 !important;
}
html body .page-id-200 .ref-page-wrap .ref-card-title,
html body .page-id-200 .ref-page-wrap .ref-card h3,
html body .page-id-200 .ref-page-wrap .ref-card h4 {
    color: #ffffff !important;
}
html body .page-id-200 .ref-page-wrap .ref-card-tag,
html body .page-id-200 .ref-page-wrap .ref-card-eyebrow {
    color: #cccc99 !important;
    border-color: rgba(204, 204, 153, 0.4) !important;
}
html body .page-id-200 .ref-page-wrap .ref-card-hairline {
    border-color: rgba(204, 204, 153, 0.18) !important;
}
/* === /[U39] === */

/* === [U40] /kancelaria — full width (boxed bug fix) ====================
 * User: na /kancelaria hero z BG image ma boczne ramki granat (~74px po bokach),
 * na home/referencje pełna szerokość. 2 fixy:
 * (a) Bootstrap .container (max-width: 1170) i .site-content paddings → 0
 * (b) Brak override na samym wrapperze .kancelaria-page--v3 → padding/margin 0,
 *     width 100% (i NEGATIVE margin 100vw breakout jak [U15]). */
.page-id-57 #content.site-content,
.page-id-57 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-57 #content.site-content > .container,
.page-id-57 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
/* WRAPPER .kancelaria-page--v3 — full viewport breakout (jak ref-page-wrap). */
html body .page-id-57 .kancelaria-page,
html body .page-id-57 .kancelaria-page.kancelaria-page--v3 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* === /[U40] === */

/* === [U41] /referencje Trustindex wrappers transparent ===================
 * Karuzela Trustindex ma `data-set-id="light-background"` preset który nadaje
 * jasne tło wewnętrznym wrapperam (.ti-widget, .ti-widget-container,
 * .ti-reviews-container, .ti-reviews-container-wrapper). To biały kolor
 * "świeci" przez granat section.ref-trustindex-section ([U39] # 08213a).
 * Fix: wszystkie wrappers Trustindex transparent — kolor section.
 * Plus przyciski strzałki (.ti-prev/.ti-next) gold tinted. */
html body .page-id-200 .ref-trustindex-section .ti-widget,
html body .page-id-200 .ref-trustindex-section .ti-widget.ti-goog,
html body .page-id-200 .ref-trustindex-section .ti-widget-container,
html body .page-id-200 .ref-trustindex-section .ti-reviews-container,
html body .page-id-200 .ref-trustindex-section .ti-reviews-container-wrapper,
html body .page-id-200 .ref-trustindex-section .ti-controls-line,
html body .page-id-200 .ref-trustindex-section .ti-verified-by {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
/* Trustindex strzałki nawigacji — gold tinted, visible na granat tle */
html body .page-id-200 .ref-trustindex-section .ti-controls .ti-prev,
html body .page-id-200 .ref-trustindex-section .ti-controls .ti-next {
    filter: brightness(1.4) sepia(0.4) hue-rotate(30deg) !important;
    opacity: 0.8 !important;
}
html body .page-id-200 .ref-trustindex-section .ti-controls .ti-prev:hover,
html body .page-id-200 .ref-trustindex-section .ti-controls .ti-next:hover {
    opacity: 1 !important;
}
/* Trustindex dot indicator — gold */
html body .page-id-200 .ref-trustindex-section .ti-controls-line .dot {
    background: #cccc99 !important;
}
html body .page-id-200 .ref-trustindex-section .ti-controls-line {
    background: rgba(204, 204, 153, 0.15) !important;
}
/* Trustindex bottom "Potwierdzono przez" — cream subtle na granat */
html body .page-id-200 .ref-trustindex-section .ti-verified-by .ti-inner {
    color: rgba(217, 212, 192, 0.6) !important;
}
html body .page-id-200 .ref-trustindex-section .ti-verified-by a {
    color: #cccc99 !important;
}
/* === /[U41] === */

/* === [U42] /kontakt — nowa strona z formularzem ========================
 * Page 5784 — hero granat + 2-col layout (formularz lewa, dane prawa). */
body.page.page-id-5784 #content.site-content,
body.page.page-id-5784 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.page.page-id-5784 #content.site-content > .container,
body.page.page-id-5784 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.page.page-id-5784 .site-content .content-left-wrap,
body.page.page-id-5784 .site-content .content-area,
body.page.page-id-5784 .site-content .site-main,
body.page.page-id-5784 .site-content .entry-content,
body.page.page-id-5784 .site-content article {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}
body.page.page-id-5784 .entry-title { display: none !important; }
body.page.page-id-5784 .kontakt-page {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 0 !important;
    font-family: "Source Sans 3", system-ui, sans-serif;
}

/* HERO */
body.page-id-5784 .kontakt-hero {
    position: relative;
    min-height: clamp(360px, 50vh, 480px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(80px, 14vh, 140px) 24px;
    background: #08213a;
    overflow: hidden;
}
body.page-id-5784 .kontakt-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/lawBG-11.png');
    background-size: cover;
    background-position: center;
    opacity: 0.28;
    z-index: 0;
}
body.page-id-5784 .kontakt-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,33,58,0.7) 0%, rgba(8,33,58,0.82) 100%);
    z-index: 1;
}
body.page-id-5784 .kontakt-hero-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 720px;
}
body.page-id-5784 .kontakt-hero-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 16px 0;
    line-height: 1.15;
}
body.page-id-5784 .kontakt-hero-divider {
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 24px;
}
body.page-id-5784 .kontakt-hero-lead {
    color: #d9d4c0;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.6;
    margin: 0;
}

/* Eyebrow + section title */
body.page-id-5784 .kontakt-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 14px;
}
body.page-id-5784 .kontakt-eyebrow--dark { color: #6b6b48; }
body.page-id-5784 .kontakt-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    color: #08213a;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    margin: 0 0 16px 0;
}
body.page-id-5784 .kontakt-section-divider {
    width: 48px;
    height: 2px;
    background: #cccc99;
    margin-bottom: 22px;
}

/* GRID 2-col */
body.page-id-5784 .kontakt-grid-section {
    background: #fafaf3;
    padding: clamp(60px, 8vw, 100px) 24px;
}
body.page-id-5784 .kontakt-grid-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
}
body.page-id-5784 .kontakt-form-col,
body.page-id-5784 .kontakt-info-col {
    display: flex;
    flex-direction: column;
}
body.page-id-5784 .kontakt-form-lead {
    color: #4a4a4a;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 28px 0;
}
body.page-id-5784 .kontakt-form-card {
    background: #ffffff;
    border: 1px solid rgba(8, 33, 58, 0.08);
    border-radius: 8px;
    padding: 36px 32px;
    box-shadow: 0 12px 32px rgba(8, 33, 58, 0.08);
}

/* WPForms restyle inside */
body.page-id-5784 .kontakt-form-card .wpforms-field { padding: 0 0 14px 0 !important; }
body.page-id-5784 .kontakt-form-card input[type="text"],
body.page-id-5784 .kontakt-form-card input[type="email"],
body.page-id-5784 .kontakt-form-card textarea {
    background: #fafaf6 !important;
    border: 1px solid rgba(8,33,58,0.18) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    color: #08213a !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
}
body.page-id-5784 .kontakt-form-card input:focus,
body.page-id-5784 .kontakt-form-card textarea:focus {
    border-color: #cccc99 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(204,204,153,0.22) !important;
    outline: none !important;
}
body.page-id-5784 .kontakt-form-card button[type="submit"] {
    background: #cccc99 !important;
    color: #08213a !important;
    border: none !important;
    padding: 14px 38px !important;
    border-radius: 999px !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}
body.page-id-5784 .kontakt-form-card button[type="submit"]:hover {
    background: #08213a !important;
    color: #ffffff !important;
}

/* INFO COL */
body.page-id-5784 .kontakt-info-col {
    background: rgba(8, 33, 58, 0.03);
    padding: 36px 32px;
    border-radius: 8px;
    border: 1px solid rgba(8, 33, 58, 0.06);
}
body.page-id-5784 .kontakt-info-list {
    list-style: none;
    margin: 0 0 24px 0;
    padding: 0;
}
body.page-id-5784 .kontakt-info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(8, 33, 58, 0.08);
}
body.page-id-5784 .kontakt-info-item:last-child { border-bottom: none; }
body.page-id-5784 .kontakt-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(204, 204, 153, 0.15);
    border-radius: 50%;
    color: #cccc99;
    flex-shrink: 0;
}
body.page-id-5784 .kontakt-info-body {
    display: flex;
    flex-direction: column;
}
body.page-id-5784 .kontakt-info-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #6b6b48;
    margin-bottom: 4px;
}
body.page-id-5784 .kontakt-info-value {
    color: #08213a;
    font-size: 15px;
    line-height: 1.5;
}
/* IBAN — monospace żeby grupy 4-cyfrowe były czytelne + copy-friendly */
body.page-id-5784 .kontakt-info-value.kontakt-info-iban {
    font-family: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 14px;
    letter-spacing: 0.4px;
    user-select: all;
    display: inline-block;
    margin-top: 2px;
}
body.page-id-5784 .kontakt-info-sublabel {
    display: block;
    color: #6b6b48;
    font-size: 12px;
    font-style: italic;
    margin-top: 4px;
    opacity: 0.85;
}
body.page-id-5784 .kontakt-info-link {
    text-decoration: none;
    color: #08213a;
    border-bottom: 1px solid rgba(204, 204, 153, 0.6);
    transition: color 0.2s, border-color 0.2s;
}
body.page-id-5784 .kontakt-info-link:hover {
    color: #cccc99;
    border-color: #cccc99;
}
body.page-id-5784 .kontakt-info-cta {
    padding-top: 20px;
    border-top: 1px solid rgba(8, 33, 58, 0.08);
    text-align: center;
}
body.page-id-5784 .kontakt-info-cta-text {
    color: #4a4a4a;
    font-size: 14px;
    margin: 0 0 12px 0;
}
body.page-id-5784 .kontakt-info-cta-btn {
    display: inline-block;
    background: #08213a;
    color: #ffffff;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: background 0.25s ease;
}
body.page-id-5784 .kontakt-info-cta-btn:hover {
    background: #cccc99;
    color: #08213a;
}

/* MOBILE */
@media (max-width: 991px) {
    body.page-id-5784 .kontakt-grid-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}
@media (max-width: 767px) {
    body.page-id-5784 .kontakt-hero {
        min-height: 260px !important;
        padding: 50px 16px !important;
    }
    body.page-id-5784 .kontakt-hero-inner {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 4px !important;
        box-sizing: border-box !important;
    }
    body.page-id-5784 .kontakt-hero-title {
        font-size: clamp(22px, 6.2vw, 30px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
    }
    body.page-id-5784 .kontakt-hero-lead {
        font-size: 14px !important;
        line-height: 1.55 !important;
        max-width: 100% !important;
    }
    body.page-id-5784 .kontakt-grid-section {
        padding: 48px 16px !important;
    }
    body.page-id-5784 .kontakt-form-card,
    body.page-id-5784 .kontakt-info-col {
        padding: 22px 18px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body.page-id-5784 .kontakt-section-title {
        font-size: clamp(22px, 5.5vw, 28px) !important;
    }
    /* Wszystkie children fit viewport */
    body.page-id-5784 .kontakt-page * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* === /[U42] === */

/* === [U43] MOBILE HERO TITLES — global fit fix ==========================
 * Mobile audit (420px iPhone): hero titles na 3 stronach (home, kancelaria,
 * uslugi-prawne) były przycięte z prawej krawędzi. Globalnie smaller clamp
 * + word-wrap + max-width: 100% + viewport padding-x. */
@media (max-width: 767px) {
    /* Home hero — intro-text */
    body.home .intro-text,
    body.home .big-title-container h1,
    body.home .big-title-container h2 {
        font-size: clamp(20px, 5vw, 28px) !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        padding: 0 12px !important;
    }
    /* Kancelaria hero (V3) */
    body.page-id-57 .kancelaria-hero-title {
        font-size: clamp(22px, 6vw, 32px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        padding: 0 8px !important;
    }
    /* Uslugi-prawne hero (V3/V4) */
    body.page-id-72 .uslugi-hero-title,
    body.page-id-72 .uslugi-section-title--hero {
        font-size: clamp(22px, 6vw, 32px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        padding: 0 8px !important;
    }
    /* Porady-prawne-online hero (V6) — już OK ale safety */
    body.page-id-70 .porady-hero-title {
        font-size: clamp(22px, 6vw, 32px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        max-width: 100% !important;
    }
    /* Referencje hero (V5) */
    body.page-id-200 .ref-hero-title {
        font-size: clamp(22px, 6vw, 32px) !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        max-width: 100% !important;
        padding: 0 8px !important;
    }
    /* GLOBAL hero containers — force max-width 100% */
    body.page-id-57 .kancelaria-hero-inner,
    body.page-id-72 .uslugi-hero-inner,
    body.page-id-70 .porady-hero-inner,
    body.page-id-200 .ref-hero-inner,
    body.home .big-title-container,
    body.home .header-content-wrap {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}
/* === /[U43] === */

/* === [U44] Founder card "Teresa Senderowska" niewidoczne =================
 * Diagnoza: `.site-content .entry-content h3 { color: #08213a }` (linia 888)
 * wygrywa nad `.founder-name { color: #ffffff }` przez wyższą specificity.
 * .founder-name to <h3> wewnątrz [founder_card] shortcode -> entry-content.
 * Title "Teresa Senderowska" renderuje się granat na granat tle = niewidoczne.
 * Fix: ujednolicony override dla founder w obu kontekstach (entry-content lub bez). */
.site-content .entry-content h3.founder-name,
.entry-content h3.founder-name,
.founder-section h3.founder-name,
.founder-card h3.founder-name {
    color: #ffffff !important;
    margin-top: 0 !important;
}
.site-content .entry-content .founder-title,
.entry-content .founder-title {
    color: #ffffff !important;
}
.site-content .entry-content .founder-subtitle,
.entry-content .founder-subtitle {
    color: rgba(204, 204, 153, 0.85) !important;
}
.site-content .entry-content .founder-eyebrow,
.entry-content .founder-eyebrow {
    color: #cccc99 !important;
}
/* === /[U44] === */

/* === [U45] /teresa-senderowska (page-id-64) — boutique editorial =========
 * Pełny rebuild: granat hero + kremowa sekcja bio z 2-col layout
 * (foto lewa + bio prawa). Spójność z [U31] /kancelaria V3 i [U42] /kontakt. */

/* Wrapper breakout (jak page-id-200/57) */
body.page.page-id-64 #content.site-content,
body.page.page-id-64 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.page.page-id-64 #content.site-content > .container,
body.page.page-id-64 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.page.page-id-64 .site-content .content-left-wrap,
body.page.page-id-64 .site-content .content-area,
body.page.page-id-64 .site-content .site-main,
body.page.page-id-64 .site-content .entry-content,
body.page.page-id-64 .site-content article {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
    background: transparent !important;
}
body.page.page-id-64 .entry-title { display: none !important; }
body.page.page-id-64 .teresa-page {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 0 !important;
    font-family: 'Source Sans 3', system-ui, sans-serif;
    color: #2a3744;
}

/* HERO */
body.page-id-64 .teresa-hero {
    position: relative;
    min-height: clamp(380px, 55vh, 520px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(80px, 12vh, 140px) 24px;
    background: #08213a;
    overflow: hidden;
}
body.page-id-64 .teresa-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/lawBG-5.png');
    background-size: cover;
    background-position: center;
    opacity: 0.25;
    z-index: 0;
}
body.page-id-64 .teresa-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,33,58,0.6) 0%, rgba(8,33,58,0.85) 100%);
    z-index: 1;
}
body.page-id-64 .teresa-hero-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 800px;
}
body.page-id-64 .teresa-hero-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 5.5vw, 64px);
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 18px 0;
    line-height: 1.1;
}
body.page-id-64 .teresa-hero-divider {
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 auto 24px;
}
body.page-id-64 .teresa-hero-subtitle {
    color: #d9d4c0;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.55;
    margin: 0;
}

/* Eyebrow + section titles */
body.page-id-64 .teresa-eyebrow {
    display: inline-block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin: 0 0 14px 0;
}
body.page-id-64 .teresa-eyebrow--light { color: #6b6b48; }
body.page-id-64 .teresa-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    color: #08213a;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    margin: 0 0 16px 0;
}
body.page-id-64 .teresa-section-divider {
    width: 48px;
    height: 2px;
    background: #cccc99;
    margin-bottom: 28px;
}
body.page-id-64 .teresa-section-subtitle {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    color: #08213a;
    font-size: clamp(22px, 2.4vw, 28px);
    line-height: 1.3;
    margin: 0 0 18px 0;
}

/* BIO SECTION */
body.page-id-64 .teresa-bio-section {
    background: #fafaf3;
    padding: clamp(60px, 8vw, 100px) 24px;
}
body.page-id-64 .teresa-bio-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 60px;
    align-items: start;
}
body.page-id-64 .teresa-photo-col {
    position: sticky;
    top: 100px;
}
body.page-id-64 .teresa-photo {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid rgba(8, 33, 58, 0.08);
    box-shadow: 0 14px 36px rgba(8, 33, 58, 0.12);
    display: block;
}
body.page-id-64 .teresa-photo-meta {
    margin-top: 22px;
    padding: 18px 20px;
    background: rgba(8, 33, 58, 0.04);
    border-left: 3px solid #cccc99;
    border-radius: 4px;
}
body.page-id-64 .teresa-photo-credentials {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 13.5px;
    line-height: 1.55;
    color: #4a4a4a;
    margin: 0;
}
body.page-id-64 .teresa-text-col {
    color: #2a3744;
}
body.page-id-64 .teresa-paragraph {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #2a3744;
    margin: 0 0 20px 0;
}
body.page-id-64 .teresa-paragraph strong {
    color: #08213a;
    font-weight: 600;
}
body.page-id-64 .teresa-text-col .teresa-eyebrow {
    margin-top: 16px;
}

/* ACHIEVEMENTS */
body.page-id-64 .teresa-achievements-list {
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
}
body.page-id-64 .teresa-achievement-item {
    position: relative;
    padding: 14px 0 14px 36px;
    border-bottom: 1px solid rgba(8, 33, 58, 0.08);
    font-family: 'Source Sans 3', sans-serif;
    font-size: 15.5px;
    line-height: 1.6;
    color: #2a3744;
}
body.page-id-64 .teresa-achievement-item:last-child { border-bottom: none; }
body.page-id-64 .teresa-achievement-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 22px;
    width: 22px;
    height: 1px;
    background: #cccc99;
}

/* PULL QUOTE */
body.page-id-64 .teresa-pull-quote {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.5;
    color: #08213a;
    margin: 36px 0;
    padding: 28px 36px;
    border-left: 3px solid #cccc99;
    background: rgba(204, 204, 153, 0.08);
    border-radius: 0 4px 4px 0;
}

/* CTAs */
body.page-id-64 .teresa-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 36px;
}
body.page-id-64 .teresa-btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 999px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s ease;
}
body.page-id-64 .teresa-btn--primary {
    background: #cccc99;
    color: #08213a;
    border: 1px solid #cccc99;
}
body.page-id-64 .teresa-btn--primary:hover {
    background: #08213a;
    color: #ffffff;
    border-color: #08213a;
}
body.page-id-64 .teresa-btn--secondary {
    background: transparent;
    color: #08213a;
    border: 1px solid rgba(8, 33, 58, 0.25);
}
body.page-id-64 .teresa-btn--secondary:hover {
    background: #08213a;
    color: #ffffff;
    border-color: #08213a;
}

/* MOBILE */
@media (max-width: 991px) {
    body.page-id-64 .teresa-bio-inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    body.page-id-64 .teresa-photo-col {
        position: static;
        max-width: 280px;
        margin: 0 auto;
    }
}
@media (max-width: 767px) {
    body.page-id-64 .teresa-hero {
        min-height: 280px;
        padding: 60px 16px;
    }
    body.page-id-64 .teresa-hero-inner {
        max-width: 100% !important;
        padding: 0 8px !important;
        box-sizing: border-box;
    }
    body.page-id-64 .teresa-hero-title {
        font-size: clamp(26px, 7vw, 36px) !important;
        word-wrap: break-word !important;
    }
    body.page-id-64 .teresa-hero-subtitle {
        font-size: 14px !important;
    }
    body.page-id-64 .teresa-bio-section {
        padding: 50px 18px;
    }
    body.page-id-64 .teresa-pull-quote {
        padding: 20px 22px;
        font-size: 18px;
    }
}
/* === /[U45] === */

/* === [U46] About Us section — 2-col side-by-side (opis + founder) =======
 * Zamiast 1-pod-1: lewa kolumna opis kancelarii + CTA, prawa kolumna
 * founder card (foto Teresy + bio + CTA). Krótsza strona, editorial boutique.
 * Mobile: stack 1-col, founder na górze (face = personality). */
/* Full-width breakout — sekcja 100vw, content rozciągnięty na cały viewport.
 * Override Bootstrap .container max-width: 1170 + wszystkie inne reguły. */
html body .home section.about-us.about-us--v2 {
    background: #08213a !important;
    padding: clamp(64px, 8vw, 120px) clamp(32px, 5vw, 120px) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    box-sizing: border-box !important;
}
html body .home section.about-us.about-us--v2 > .container,
html body .home section.about-us.about-us--v2 .container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .home section.about-us.about-us--v2 .about-us-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: clamp(60px, 6vw, 140px) !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 1920px !important;
    margin: 0 auto !important;
}
html body .home section.about-us.about-us--v2 .about-us-text-col {
    flex: 1 1 55% !important;
    min-width: 0 !important;
    text-align: left !important;
}
html body .home section.about-us.about-us--v2 .about-us-founder-col {
    flex: 1 1 45% !important;
    min-width: 0 !important;
}
html body .home section.about-us.about-us--v2 .about-us-text-col * {
    text-align: left !important;
}
html body .home section.about-us.about-us--v2 .about-us-text-col .about-us-divider {
    margin-left: 0 !important;
}

/* LEFT — opis kancelarii */
.about-us-text-col {
    color: #d9d4c0;
}
.about-us-text-col .about-us-eyebrow {
    display: inline-block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: #cccc99;
    margin-bottom: 16px;
}
.about-us-text-col .about-us-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.1;
    color: #ffffff !important;
    margin: 0 0 10px 0;
}
.about-us-text-col .about-us-subtitle {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    font-size: clamp(22px, 2.4vw, 30px);
    color: #d9d4c0;
    margin: 0 0 28px 0;
    font-style: italic;
    line-height: 1.25;
}
.about-us-text-col .about-us-divider {
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 0 0 28px 0;
}
.about-us-text-col .about-us-body {
    font-family: 'Source Sans 3', sans-serif;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.75;
    color: #d9d4c0;
    margin: 0 0 36px 0;
    max-width: 720px;
}
.about-us-text-col .about-us-body p {
    margin: 0 0 16px 0;
    color: #d9d4c0 !important;
    text-align: left !important;
}
.about-us-text-col .about-us-body p:last-child { margin-bottom: 0; }
.about-us-text-col .about-us-body b,
.about-us-text-col .about-us-body strong {
    color: #cccc99 !important;
    font-weight: 600;
}
.about-us-text-col .about-us-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: #cccc99;
    color: #08213a !important;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
    font-size: 13.5px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 999px;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
    border: 1px solid #cccc99;
}
.about-us-text-col .about-us-cta:hover {
    background: transparent;
    color: #cccc99 !important;
    transform: translateY(-2px);
}

/* RIGHT — founder card inside about-us */
.about-us-founder-col {
    display: flex;
    align-items: center;
    justify-content: center;
}
.about-us-founder-col .founder-section {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
}
.about-us-founder-col .founder-section > .container {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.about-us-founder-col .founder-card {
    background: rgba(204, 204, 153, 0.06) !important;
    border: 1px solid rgba(204, 204, 153, 0.22) !important;
    backdrop-filter: blur(6px);
}

/* Hide legacy [U46 cleanup] btn-about z theme_mod (zastąpione .about-us-cta) */
.about-us--v2 .about-us-body a.btn-about,
.about-us-text-col .btn-about { display: none !important; }

/* Mobile — stack 1-col: founder UP (face first), opis DOWN */
@media (max-width: 991px) {
    html body .home section.about-us.about-us--v2 .about-us-grid {
        flex-direction: column !important;
        gap: 36px !important;
    }
    html body .home section.about-us.about-us--v2 .about-us-text-col,
    html body .home section.about-us.about-us--v2 .about-us-founder-col {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
    .about-us-founder-col { order: -1; }
    html body .home section.about-us.about-us--v2 {
        padding: 60px 18px !important;
    }
}
@media (max-width: 600px) {
    .about-us-text-col .about-us-title { font-size: 28px !important; }
    .about-us-text-col .about-us-subtitle { font-size: 18px !important; }
}
/* === /[U46] === */

/* === [U47] Legal pages — czytelny kontrast granat → cream ===============
 * Polityka prywatności (5767), Polityka cookies (68), Regulamin (66) miały
 * granat tekst na granat tle = niewidoczne. Fix: cream tekst + biały heading. */
body.page-id-5767 .entry-content,
body.page-id-68 .entry-content,
body.page-id-66 .entry-content {
    color: #d9d4c0 !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 60px 32px 100px !important;
}
body.page-id-5767 .entry-title,
body.page-id-68 .entry-title,
body.page-id-66 .entry-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    text-align: center !important;
    padding: 60px 24px 30px !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    position: relative !important;
}
body.page-id-5767 .entry-title::after,
body.page-id-68 .entry-title::after,
body.page-id-66 .entry-title::after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    background: #cccc99;
    margin: 24px auto 0;
}
body.page-id-5767 .entry-content p,
body.page-id-68 .entry-content p,
body.page-id-66 .entry-content p,
body.page-id-5767 .entry-content li,
body.page-id-68 .entry-content li,
body.page-id-66 .entry-content li {
    color: #d9d4c0 !important;
    text-align: left !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.75 !important;
}
body.page-id-5767 .entry-content h2,
body.page-id-68 .entry-content h2,
body.page-id-66 .entry-content h2 {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: clamp(22px, 2.4vw, 28px) !important;
    line-height: 1.3 !important;
    margin: 48px 0 18px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(204, 204, 153, 0.18) !important;
}
body.page-id-5767 .entry-content h3,
body.page-id-68 .entry-content h3,
body.page-id-66 .entry-content h3 {
    color: #cccc99 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    letter-spacing: 0.5px !important;
    margin: 24px 0 12px 0 !important;
}
body.page-id-5767 .entry-content strong,
body.page-id-68 .entry-content strong,
body.page-id-66 .entry-content strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}
body.page-id-5767 .entry-content a,
body.page-id-68 .entry-content a,
body.page-id-66 .entry-content a {
    color: #cccc99 !important;
    border-bottom: 1px solid rgba(204, 204, 153, 0.4) !important;
    text-decoration: none !important;
    transition: color 0.25s ease, border-color 0.25s ease !important;
}
body.page-id-5767 .entry-content a:hover,
body.page-id-68 .entry-content a:hover,
body.page-id-66 .entry-content a:hover {
    color: #ffffff !important;
    border-bottom-color: #ffffff !important;
}
body.page-id-5767 .entry-content ul,
body.page-id-68 .entry-content ul,
body.page-id-66 .entry-content ul,
body.page-id-5767 .entry-content ol,
body.page-id-68 .entry-content ol,
body.page-id-66 .entry-content ol {
    padding-left: 24px !important;
    margin: 12px 0 20px 0 !important;
}
body.page-id-5767 .entry-content ul li,
body.page-id-68 .entry-content ul li,
body.page-id-66 .entry-content ul li {
    list-style: none !important;
    position: relative !important;
    padding-left: 22px !important;
    margin: 0 0 10px 0 !important;
}
body.page-id-5767 .entry-content ul li::before,
body.page-id-68 .entry-content ul li::before,
body.page-id-66 .entry-content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 12px;
    height: 1px;
    background: #cccc99;
}
@media (max-width: 600px) {
    body.page-id-5767 .entry-content,
    body.page-id-68 .entry-content,
    body.page-id-66 .entry-content {
        padding: 40px 18px 60px !important;
    }
    body.page-id-5767 .entry-title,
    body.page-id-68 .entry-title,
    body.page-id-66 .entry-title {
        padding: 40px 16px 24px !important;
    }
}
/* === /[U47] === */

/* === [U48] HERO PODSTRON — BG image nachodzi pod transparent header ===
 *
 *   Problem: na home `<header>` siedzi WEWNĄTRZ wrappera z BG image (mobile-bg-responsive),
 *   więc BG image widać też ZA logo/menu (header transparent gradient overlay'uje go).
 *   Na podstronach hero jest standalone <section> POD <header>, więc BG image zaczyna się
 *   dopiero pod paskiem nawigacji — pasek wygląda jak SOLID granat.
 *
 *   Naprawa: na podstronach (page-id-72/70/57/200/5784/64) `<header>` ma `position: absolute`
 *   nad content (nie zajmuje miejsca w flow), więc hero zaczyna się od samego top viewport.
 *   Każde hero dostaje powiększony padding-top żeby tekst zostawał pod menu (czytelność).
 *   Na home (body.home) header pozostaje w naturalnym flow — wrap z BG image wymaga tego.
 */
body.page-id-72 header.header,
body.page-id-70 header.header,
body.page-id-57 header.header,
body.page-id-200 header.header,
body.page-id-5784 header.header,
body.page-id-64 header.header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
}
/* Padding-top hero żeby content (eyebrow/title) zostawał pod menu */
.page-id-72 .uslugi-hero--editorial,
.page-id-70 .porady-hero--editorial,
.page-id-57 .kancelaria-page--v3 .kancelaria-hero,
body.page-id-5784 .kontakt-hero,
body.page-id-64 .teresa-hero {
    padding-top: clamp(180px, 22vh, 260px) !important;
}
/* RESET wrapperów theme'u dla wszystkich 6 podstron — żeby BG image hero szedł
 * od top viewport. Theme wstawia padding-top: 60px na .content-left-wrap +
 * margin-top: 16px na .entry-content (default browser p margin) = 76px gap.
 * Page-id-70 ma osobny reset niżej w pliku [V6 hero-fix]; tu reset dla 72/57/5784/64/200. */
.page-id-72 #content.site-content,
.page-id-72 .site-content,
.page-id-57 #content.site-content,
.page-id-57 .site-content,
.page-id-200 #content.site-content,
.page-id-200 .site-content,
.page-id-5784 #content.site-content,
.page-id-5784 .site-content,
.page-id-64 #content.site-content,
.page-id-64 .site-content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.page-id-72 .site-content > .container,
.page-id-57 .site-content > .container,
.page-id-200 .site-content > .container,
.page-id-5784 .site-content > .container,
.page-id-64 .site-content > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}
.page-id-72 .site-content .content-left-wrap,
.page-id-72 .site-content .col-md-12.content-left-wrap,
.page-id-72 .site-content .content-area,
.page-id-72 .site-content .site-main,
.page-id-72 .site-content .entry-content,
.page-id-72 .site-content article.post-72,
.page-id-57 .site-content .content-left-wrap,
.page-id-57 .site-content .col-md-12.content-left-wrap,
.page-id-57 .site-content .content-area,
.page-id-57 .site-content .site-main,
.page-id-57 .site-content .entry-content,
.page-id-57 .site-content article.post-57,
.page-id-200 .site-content .content-left-wrap,
.page-id-200 .site-content .col-md-12.content-left-wrap,
.page-id-200 .site-content .content-area,
.page-id-200 .site-content .site-main,
.page-id-200 .site-content .entry-content,
.page-id-200 .site-content article.post-200,
.page-id-5784 .site-content .content-left-wrap,
.page-id-5784 .site-content .col-md-12.content-left-wrap,
.page-id-5784 .site-content .content-area,
.page-id-5784 .site-content .site-main,
.page-id-5784 .site-content .entry-content,
.page-id-5784 .site-content article.post-5784,
.page-id-64 .site-content .content-left-wrap,
.page-id-64 .site-content .col-md-12.content-left-wrap,
.page-id-64 .site-content .content-area,
.page-id-64 .site-content .site-main,
.page-id-64 .site-content .entry-content,
.page-id-64 .site-content article.post-64 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}
/* Referencje — bento header zaczyna się od top viewport (sekcja .referencje-gr-section) */
.page-id-200 .referencje-gr-section {
    padding-top: clamp(160px, 18vh, 220px) !important;
}
/* Tablet/mobile: header niższy, padding mniejszy */
@media (max-width: 991px) {
    .page-id-72 .uslugi-hero--editorial,
    .page-id-70 .porady-hero--editorial,
    .page-id-57 .kancelaria-page--v3 .kancelaria-hero,
    body.page-id-5784 .kontakt-hero,
    body.page-id-64 .teresa-hero {
        padding-top: clamp(140px, 16vh, 200px) !important;
    }
    .page-id-200 .referencje-gr-section {
        padding-top: clamp(120px, 14vh, 180px) !important;
    }
}
/* === /[U48] === */

/* === [U49] MOBILE FIXES — home about_us 2-col → 1-col + hero text-col split fix ===
 *
 *   Problem: about_us.php używa INLINE styles (display:flex;flex-direction:row;gap:80px)
 *   na .about-us-grid które trzymają 2-col layout na każdym viewport. Mobile 390px
 *   rozjeżdża się — tekst i founder card w 2 wąskich kolumnach, "Kancelari/a" rozcięta.
 *   Naprawa: CSS media query z !important — laminuje na 1-col + zeruje wąskie kolumny.
 */
@media (max-width: 991px) {
    .about-us-grid {
        flex-direction: column !important;
        gap: 40px !important;
        align-items: stretch !important;
    }
    .about-us-text-col,
    .about-us-founder-col {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    /* Hero section about-us — zmniejsz padding na mobile */
    .about-us.about-us--v2 {
        padding: 56px 20px 64px !important;
    }
    .about-us-title {
        font-size: clamp(28px, 7vw, 36px) !important;
        line-height: 1.15 !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .about-us-subtitle {
        font-size: clamp(18px, 4.6vw, 22px) !important;
        line-height: 1.3 !important;
    }
}
/* === /[U49] === */

/* === [U50] HOME — BG image hero do samej góry viewport ===
 *
 *   Problem: na home `.home-header-wrap` z BG image lawBG-10 jest siblingiem
 *   `#main-nav` w `<header>`. Nav zajmuje 84px na vrh, wrap zaczyna się dopiero
 *   pod nim — granat pasek u góry zamiast BG image od top.
 *   Naprawa analogiczna do [U48]: nav `position: absolute` nad wrap,
 *   wrap dostaje padding-top żeby tekst nie wszedł pod menu.
 *   Klasa body "home" jest dawana przez WP gdy front jest strona z postami;
 *   również scope do body.page (na wypadek gdy używana statyczna strona startowa).
 */
body.home #main-nav.navbar-inverse,
body.blog #main-nav.navbar-inverse {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
}
body.home .home-header-wrap,
body.blog .home-header-wrap {
    padding-top: clamp(120px, 16vh, 180px) !important;
}
@media (max-width: 991px) {
    body.home .home-header-wrap,
    body.blog .home-header-wrap {
        padding-top: clamp(100px, 14vh, 150px) !important;
    }
}
/* === /[U50] === */

/* === [U51] MOBILE MENU OPEN — clean look, solid bg, dyskretny submenu arrow ===
 *
 *   Problem image #60: tło 0.97 → 3% transparency widać hero text za menu.
 *   `.dropdownmenu` (theme generated <p> obok linku submenu) ma czerwone/granat
 *   tło 25x25 menu-icon.png — wygląda jak osobny "guzik" obok "Zakres usług".
 *   Brak shadow, brak czytelnych separatorów linków.
 *
 *   Naprawa: solid granat 100% + backdrop blur, schować .dropdownmenu,
 *   dodać dyskretny ⏷ arrow do menu-item-has-children jako :after,
 *   czytelne separatory linków + spacing.
 */
@media (max-width: 991px) {
    /* Solid tło + shadow + reset Bootstrap collapse height: 26 → auto */
    html body #main-nav .navbar-collapse.collapse.in,
    html body #main-nav .navbar-collapse.collapsing {
        background: #08213a !important;
        border: 1px solid rgba(204, 204, 153, 0.18) !important;
        border-radius: 8px !important;
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
        padding: 12px 0 !important;
        margin-top: 14px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    /* Reset ul flex-row z desktop CSS — na mobile musi być column block */
    html body #main-nav .navbar-collapse.in ul.navbar-nav,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav {
        display: block !important;
        flex-direction: column !important;
        height: auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li {
        display: block !important;
        width: 100% !important;
        float: none !important;
    }
    /* Czyste linki w menu — uppercase, equal spacing, subtle separators */
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li {
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        display: block !important;
        width: 100% !important;
        float: none !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a {
        display: block !important;
        padding: 16px 22px !important;
        margin: 0 !important;
        color: #d9d4c0 !important;
        font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        letter-spacing: 1.4px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(204, 204, 153, 0.10) !important;
        background: transparent !important;
        line-height: 1.4 !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li:last-child > a {
        border-bottom: none !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:hover,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:focus,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li.current-menu-item > a {
        color: #cccc99 !important;
        background: rgba(204, 204, 153, 0.06) !important;
    }
    /* SCHOWAJ theme-generated .dropdownmenu <p> obok submenu — wygląda jak osobny guzik */
    html body #main-nav .navbar-collapse.in .dropdownmenu,
    html body #main-nav .navbar-collapse.in p.dropdownmenu {
        display: none !important;
    }
    /* Dyskretny ⏷ arrow dla linków z submenu */
    html body #main-nav .navbar-collapse.in .menu-item-has-children > a:after,
    html body #main-nav .navbar-collapse.in li.dropdown > a:after {
        content: "⏷";
        font-size: 11px;
        margin-left: 10px;
        opacity: 0.55;
        color: #cccc99;
        display: inline-block;
        vertical-align: middle;
    }
    /* Submenu inline pod rodzicem — pełna szerokość, indent, ciemniejsze tło */
    html body #main-nav .navbar-collapse.in .sub-menu {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: rgba(0, 0, 0, 0.18) !important;
        border-top: 1px solid rgba(204, 204, 153, 0.10) !important;
    }
    html body #main-nav .navbar-collapse.in .sub-menu > li > a {
        display: block !important;
        padding: 14px 22px 14px 38px !important;
        color: rgba(217, 212, 192, 0.85) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(204, 204, 153, 0.06) !important;
        background: transparent !important;
    }
    html body #main-nav .navbar-collapse.in .sub-menu > li:last-child > a {
        border-bottom: none !important;
    }
}
/* === /[U51] === */

/* === [U52] HAMBURGER — minimal gold lines, perfectly centered ===
 *
 *   User feedback: poprzedni button miał gold border outline + paski nie wycentrowane
 *   (sr-only text "Toggle navigation" zajmował miejsce w flex layout).
 *   Naprawa: transparent bg, NO border, 3 paski gold 24x2 z idealnym wycentrowaniem
 *   przez flex column. .sr-only musi być offscreen — dodać własną definicję.
 *   Override [H3] (linie ~3155) który miał border 2px gold.
 */
@media (max-width: 991px) {
    /* SR-only — accessibility text offscreen (theme może nie definiować) */
    html body .navbar-toggle .sr-only {
        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;
        white-space: nowrap !important;
        border: 0 !important;
    }
    /* Minimal hamburger button — bez border, transparent bg, paski gold wycentrowane */
    html body .navbar-inverse .navbar-toggle,
    html body #main-nav .navbar-toggle,
    html body button.navbar-toggle {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        outline: none !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
    }
    html body .navbar-inverse .navbar-toggle .icon-bar,
    html body button.navbar-toggle .icon-bar {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #cccc99 !important;
        background-color: #cccc99 !important;
        border-radius: 0 !important;
        transition: transform 0.25s ease, opacity 0.2s ease, background 0.2s ease !important;
    }
    /* Hover / focus — paski lekko jaśniejsze */
    html body .navbar-inverse .navbar-toggle:hover .icon-bar,
    html body .navbar-inverse .navbar-toggle:focus .icon-bar,
    html body button.navbar-toggle:hover .icon-bar,
    html body button.navbar-toggle:focus .icon-bar {
        background: #e6e0b8 !important;
        background-color: #e6e0b8 !important;
    }
    html body .navbar-inverse .navbar-toggle:hover,
    html body .navbar-inverse .navbar-toggle:focus,
    html body button.navbar-toggle:hover,
    html body button.navbar-toggle:focus,
    html body .navbar-inverse .navbar-toggle.collapsed,
    html body button.navbar-toggle.collapsed {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
    }
}
/* === /[U52] === */

/* === [U53] HAMBURGER SVG — czysty komponent zamiast 3 spans icon-bar ===
 *
 *   Theme generuje hamburger jako 3× <span class="icon-bar"></span>, co ciągnie
 *   za sobą legacy Bootstrap 3 + custom theme CSS conflicts. Wymieniliśmy DOM
 *   na 2 inline SVG (open/close), toggle przez .collapsed klasę.
 *   Zero specificity wars, predictable rendering, accessible.
 */
button.nav-toggle-svg {
    /* Reset base button styles na każdym viewport */
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: #cccc99 !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
}
button.nav-toggle-svg:hover,
button.nav-toggle-svg:focus-visible {
    color: #e6e0b8 !important;
    background: rgba(204, 204, 153, 0.08) !important;
}
button.nav-toggle-svg .nav-toggle-svg-icon {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
    color: inherit !important;
    pointer-events: none !important;
}
/* Toggle open ↔ close icons via .collapsed klasa (theme/Bootstrap convention) */
button.nav-toggle-svg.collapsed .nav-toggle-svg-open { display: block !important; }
button.nav-toggle-svg.collapsed .nav-toggle-svg-close { display: none !important; }
button.nav-toggle-svg:not(.collapsed) .nav-toggle-svg-open { display: none !important; }
button.nav-toggle-svg:not(.collapsed) .nav-toggle-svg-close { display: block !important; }

/* Pozycjonowanie: zachowuje absolute z [F3] na mobile, ale POZNAĆ stare icon-bar
 * regóły dla `.icon-bar` które nie istnieją w nowym DOM nie aplikują się — ok */
@media (max-width: 991px) {
    html body button.nav-toggle-svg {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 1050 !important;
    }
}
/* === /[U53] === */

/* === [U54] MOBILE MENU — full-screen elegant (Playfair, centered) ===
 *
 *   Overrides [U51] dropdown look — pełnoekranowe menu otwierane z hamburger
 *   na każdym viewport ≤991px. Granat tło, logo + X u góry, linki Playfair
 *   centered z generous spacing, gold accent divider, contact CTA na dole.
 */
/* Mobile menu contact CTA — DEFAULT hidden na wszystkich viewportach.
   Pokazywany tylko wewnątrz `.navbar-collapse.in` (otwarte mobile menu, max-width:991px). */
.mobile-menu-cta {
    display: none !important;
}
/* Desktop: wyrównanie wszystkich menu items. Zakres usług ma extra `<p.dropdownmenu>`
   + `<ul.sub-menu>` które mimo display:none wpływają na intrinsic li height (50 vs 44px).
   Force EQUAL height + identyczny line-height = wszystkie items na tym samym Y. */
@media (min-width: 992px) {
    html body #main-nav.navbar-inverse .nav.navbar-nav > li {
        display: flex !important;
        align-items: center !important;
        height: 44px !important;
        min-height: 44px !important;
    }
    html body #main-nav.navbar-inverse .nav.navbar-nav > li > a {
        line-height: 1.4 !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
    /* Bridge gap M1.5 dla submenu hover — invisible :after rozszerza hit area W DÓŁ
       bez zmiany visible padding (więc bez 3px shift uphill) */
    html body #main-nav.navbar-inverse .nav.navbar-nav > li.menu-item-has-children::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -12px;
        height: 12px;
        z-index: 1;
        pointer-events: auto;
    }
    html body #main-nav.navbar-inverse .nav.navbar-nav > li.menu-item-has-children {
        position: relative !important;
    }
    /* Theme-generated <p class="dropdownmenu"> nigdy widoczne na desktop */
    html body #main-nav.navbar-inverse .dropdownmenu {
        display: none !important;
    }
}
@media (max-width: 991px) {
    /* OVERRIDE [U51] dropdown — full screen overlay */
    html body #main-nav .navbar-collapse.collapse.in {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 88px 24px 40px !important;
        background: #08213a !important;
        background-image:
            radial-gradient(ellipse at 30% 20%, rgba(204, 204, 153, 0.06) 0%, transparent 60%),
            radial-gradient(ellipse at 70% 80%, rgba(204, 204, 153, 0.04) 0%, transparent 55%) !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 1040 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    /* No-scroll behind menu */
    html body.menu-open {
        overflow: hidden !important;
    }
    /* UL nav — flex column, centered, no list styling */
    html body #main-nav .navbar-collapse.in .nav.navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(8px, 1.5vh, 16px) !important;
        width: 100% !important;
        max-width: 460px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        border-top: none !important;
        border-bottom: none !important;
    }
    /* OVERRIDE [U51] LINK styles — Playfair Display, large, centered, no border */
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a {
        display: inline-block !important;
        padding: 12px 28px !important;
        margin: 0 !important;
        font-family: "Playfair Display", Georgia, serif !important;
        font-size: clamp(24px, 6.5vw, 34px) !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        line-height: 1.25 !important;
        text-transform: none !important;
        text-decoration: none !important;
        text-align: center !important;
        color: #f7f3e3 !important;
        background: transparent !important;
        border: none !important;
        border-bottom: none !important;
        transition: color 0.2s ease !important;
    }
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:hover,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:focus,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li.current-menu-item > a {
        color: #cccc99 !important;
        background: transparent !important;
    }
    /* SCHOWAJ legacy theme :before/:after underlines pod linkami (desktop pattern) */
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:before,
    html body #main-nav .navbar-collapse.in .nav.navbar-nav > li > a:after {
        display: none !important;
        content: none !important;
        background: none !important;
    }
    /* Submenu indicator ⏷ — dyskretny, gold, obok linku */
    html body #main-nav .navbar-collapse.in .menu-item-has-children > a:after,
    html body #main-nav .navbar-collapse.in li.dropdown > a:after {
        content: "⏷";
        display: inline-block;
        margin-left: 12px;
        font-size: 0.55em;
        opacity: 0.65;
        color: #cccc99;
        vertical-align: middle;
        transform: translateY(-2px);
    }
    /* Sub-menu — inline below parent, smaller font, italic-ish refined */
    html body #main-nav .navbar-collapse.in .sub-menu {
        list-style: none !important;
        padding: 8px 0 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        text-align: center !important;
    }
    html body #main-nav .navbar-collapse.in .sub-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    html body #main-nav .navbar-collapse.in .sub-menu > li > a {
        display: inline-block !important;
        padding: 8px 16px !important;
        font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        font-style: italic !important;
        letter-spacing: 0.5px !important;
        text-transform: none !important;
        text-decoration: none !important;
        color: rgba(217, 212, 192, 0.75) !important;
        background: transparent !important;
        border: none !important;
    }
    html body #main-nav .navbar-collapse.in .sub-menu > li > a:hover {
        color: #cccc99 !important;
    }
    html body #main-nav .navbar-collapse.in .mobile-menu-cta {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 460px !important;
        margin: clamp(24px, 4vh, 48px) auto 0 !important;
        padding: 0 24px !important;
        text-align: center !important;
    }
    .mobile-menu-cta-divider {
        display: block;
        width: 64px;
        height: 1px;
        background: #cccc99;
        opacity: 0.5;
        margin: 0 0 12px;
    }
    .mobile-menu-cta-phone,
    .mobile-menu-cta-email {
        display: inline-flex !important;
        align-items: center;
        gap: 10px;
        padding: 8px 12px !important;
        color: #d9d4c0 !important;
        font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        letter-spacing: 0.3px !important;
        text-decoration: none !important;
        background: transparent !important;
        border: none !important;
        transition: color 0.2s ease;
    }
    .mobile-menu-cta-phone {
        font-size: 18px !important;
        font-weight: 500 !important;
    }
    .mobile-menu-cta-phone:hover,
    .mobile-menu-cta-email:hover {
        color: #cccc99 !important;
    }
    .mobile-menu-cta-icon {
        display: inline-block;
        color: #cccc99;
        font-size: 1em;
        opacity: 0.85;
    }
    /* Logo + X muszą zostać visible nad pełnoekranowym menu */
    html body.menu-open header.header,
    html body.menu-open #main-nav {
        z-index: 1050 !important;
    }
    html body.menu-open .navbar-brand,
    html body.menu-open .navbar-header,
    html body.menu-open button.nav-toggle-svg {
        position: relative !important;
        z-index: 1060 !important;
    }
}
/* === /[U54] === */

/* === [U55] CTA BUTTONS — equal width na mobile (page-cta-footer) === */
@media (max-width: 767px) {
    .page-cta-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }
    .page-cta-btn-primary,
    .page-cta-btn-secondary {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}
/* === /[U55] === */

/* === [U56] USLUGI MOBILE — visual ring hidden + CTA arrow inline-flex centered === */
@media (max-width: 767px) {
    /* Visual ikona ring (handshake/legal symbol) — schowaj na mobile
       (nakłada się na text + zajmuje 220px szerokości) */
    .page-id-72 .usluga-section-visual {
        display: none !important;
    }
    /* CTA "SKONSULTUJ SPRAWĘ →" — arrow wycentrowany inline z tekstem */
    .page-id-72 .usluga-cta,
    .page-id-72 .usluga-section-cta {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
    .page-id-72 .usluga-cta span,
    .page-id-72 .usluga-section-cta span {
        margin-left: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}
/* === /[U56] === */

