/*
Theme Name: Laboratorium INTROL
Theme URI: https://laboratoriumintrol.pl/
Author: Laboratorium INTROL
Description: Dedykowany, lekki motyw blokowy dla Laboratorium INTROL.
Version: 1.15.1
Requires at least: 6.9
Requires PHP: 8.0
Text Domain: laboratorium-introl
License: Proprietary project theme
*/

:root {
  --lab-yellow: #ffe710;
  --lab-anthracite: #202326;
  --lab-graphite: #303438;
  --lab-gray-200: #eceef0;
  --lab-gray-100: #f6f7f8;
  --lab-white: #ffffff;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--lab-white); color: var(--lab-anthracite); }
a { text-underline-offset: .18em; text-decoration-thickness: .08em; }
.wp-site-blocks { overflow-x: clip; }

.lab-header { border-bottom: 1px solid rgba(32,35,38,.10); }
.lab-header .wp-block-navigation a { text-decoration: none; }
.lab-header .wp-block-navigation a:hover,
.lab-header .wp-block-navigation a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--lab-yellow);
  text-decoration-thickness: .16em;
}

.lab-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,231,16,.08), transparent 35%), var(--lab-anthracite);
}
.lab-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.lab-eyebrow { letter-spacing: .08em; text-transform: uppercase; }
.lab-accent-line { width: 72px; height: 4px; background: var(--lab-yellow); border-radius: 99px; }
.lab-card {
  border: 1px solid rgba(32,35,38,.12);
  background: var(--lab-white);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.lab-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(32,35,38,.08); }
.lab-metric { border-left: 3px solid var(--lab-yellow); }
.lab-footer { border-top: 4px solid var(--lab-yellow); }
:focus-visible { outline: 3px solid var(--lab-yellow); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lab-card { transition: none; }
}

/* ==========================================================
   Laboratorium INTROL v0.2 — header / navigation refinement
   ========================================================== */

.lab-header {
	position: relative;
	z-index: 50;
	background: var(--lab-white);
}

.lab-header > .wp-block-group,
.lab-header .wp-block-group {
	min-width: 0;
}

.lab-header .wp-block-site-title {
	margin: 0;
	white-space: nowrap;
	font-size: clamp(1.35rem, 1.7vw, 1.8rem);
	line-height: 1;
	letter-spacing: -0.02em;
}

.lab-header .wp-block-site-title a {
	color: var(--lab-anthracite);
	text-decoration: none;
}

.lab-header .wp-block-navigation {
	margin-left: auto;
}

.lab-header .wp-block-navigation__container {
	gap: clamp(0.8rem, 1.55vw, 1.55rem);
	align-items: center;
	flex-wrap: nowrap;
}

.lab-header .wp-block-navigation-item {
	white-space: nowrap;
}

.lab-header .wp-block-navigation-item__content {
	padding: 0.45rem 0;
	color: var(--lab-anthracite);
	font-weight: 650;
	line-height: 1.25;
}

.lab-header .wp-block-navigation-item__content:hover,
.lab-header .wp-block-navigation-item__content:focus-visible {
	text-decoration: none;
}

.lab-header .wp-block-navigation-item__content::after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	margin-top: 0.22rem;
	background: var(--lab-yellow);
	transition: width 150ms ease;
}

.lab-header .wp-block-navigation-item__content:hover::after,
.lab-header .wp-block-navigation-item__content:focus-visible::after {
	width: 100%;
}

/* Last top-level navigation entry = primary CTA. */
.lab-header
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.65rem 1rem;
	background: var(--lab-yellow);
	color: var(--lab-anthracite);
	border: 1px solid var(--lab-yellow);
	font-weight: 750;
	text-decoration: none;
}

.lab-header
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content::after {
	display: none;
}

.lab-header
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content:hover,
.lab-header
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content:focus-visible {
	background: var(--lab-anthracite);
	border-color: var(--lab-anthracite);
	color: var(--lab-white);
}

/* Dropdown. */
.lab-header .wp-block-navigation__submenu-container {
	min-width: 245px !important;
	padding: 0.45rem !important;
	background: var(--lab-white) !important;
	border: 1px solid rgba(32, 35, 38, 0.12) !important;
	box-shadow: 0 18px 45px rgba(32, 35, 38, 0.12);
}

.lab-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.7rem 0.75rem !important;
	font-weight: 600;
}

.lab-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.lab-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--lab-gray-100);
}

.lab-header .wp-block-navigation__submenu-icon {
	margin-left: 0.3rem;
}

/* Force the responsive menu before the desktop header starts wrapping. */
@media (max-width: 980px) {
	.lab-header {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}

	.lab-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.lab-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		padding: 24px;
		background: var(--lab-anthracite);
		color: var(--lab-white);
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		align-items: stretch;
		gap: 0.35rem;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
		color: var(--lab-white);
		font-size: 1.05rem;
		padding: 0.65rem 0;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container
	> .wp-block-navigation-item:last-child
	> .wp-block-navigation-item__content {
		margin-top: 0.8rem;
		color: var(--lab-anthracite);
		background: var(--lab-yellow);
	}

	.lab-header .wp-block-navigation__responsive-container-close {
		color: var(--lab-white);
	}
}

@media (min-width: 981px) {
	.lab-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.lab-header .wp-block-navigation__responsive-container {
		display: block !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-header .wp-block-navigation-item__content::after {
		transition: none;
	}
}

/* ==========================================================
   Laboratorium INTROL v0.3 — navigation fixes
   ========================================================== */

/* Desktop submenu: no yellow underline pseudo-element inside dropdown. */
.lab-header .wp-block-navigation__submenu-container
.wp-block-navigation-item__content::after {
	display: none !important;
}

.lab-header .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover,
.lab-header .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:focus-visible {
	background: var(--lab-gray-100) !important;
	text-decoration: none !important;
}

/* Keep the desktop dropdown neat and prevent label wrapping. */
.lab-header .wp-block-navigation__submenu-container
.wp-block-navigation-item {
	width: 100%;
}

.lab-header .wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
	white-space: nowrap;
}

/* Robust mobile navigation.
   We use WordPress' own navigation JS only; no custom JS is added. */
@media (max-width: 980px) {
	.lab-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.lab-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		padding: 0;
		border: 2px solid var(--lab-yellow);
		background: var(--lab-white);
		color: var(--lab-anthracite);
	}

	.lab-header .wp-block-navigation__responsive-container-open svg {
		width: 26px;
		height: 26px;
		fill: currentColor;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		z-index: 999999 !important;
		display: flex !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 24px !important;
		overflow-y: auto !important;
		background: var(--lab-anthracite) !important;
		color: var(--lab-white) !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-close {
		width: 100%;
		max-width: none;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-dialog {
		width: 100%;
		min-height: calc(100dvh - 48px);
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		display: block !important;
		width: 100%;
		padding-top: 72px !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 0 !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
		display: block !important;
		width: 100% !important;
		padding: 0.85rem 0 !important;
		color: var(--lab-white) !important;
		font-size: 1.08rem !important;
		font-weight: 650 !important;
		text-decoration: none !important;
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content::after {
		display: none !important;
	}

	/* On mobile, show the service children as a simple indented list.
	   This is robust and does not depend on custom JavaScript. */
	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		opacity: 1 !important;
		margin: 0 !important;
		padding: 0 0 0 1rem !important;
		overflow: visible !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
		padding: 0.7rem 0 !important;
		color: var(--lab-gray-200) !important;
		font-size: 0.98rem !important;
		border-bottom-color: rgba(255,255,255,0.08);
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-icon {
		display: none !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 24px;
		right: 24px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		padding: 0;
		border: 2px solid var(--lab-yellow);
		background: transparent;
		color: var(--lab-white) !important;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close svg {
		width: 26px;
		height: 26px;
		fill: currentColor;
	}

	.lab-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container
	> .wp-block-navigation-item:last-child
	> .wp-block-navigation-item__content {
		display: inline-flex !important;
		width: auto !important;
		margin-top: 1.4rem !important;
		padding: 0.85rem 1.1rem !important;
		border: 0 !important;
		background: var(--lab-yellow) !important;
		color: var(--lab-anthracite) !important;
		font-weight: 750 !important;
	}
}


/* ==========================================================
   Laboratorium INTROL v0.4 — homepage hero
   ========================================================== */

.lab-hero-v04 {
	position: relative;
	overflow: hidden;
	background: var(--lab-anthracite);
}

.lab-hero-v04::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 44%;
	pointer-events: none;
	opacity: 0.20;
	background-image:
		linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
	background-size: 34px 34px;
}

.lab-hero-v04 > .wp-block-columns {
	position: relative;
	z-index: 1;
	margin: 0;
	min-height: 620px;
}

.lab-hero-copy {
	display: flex;
	align-items: center;
	min-height: 620px;
	padding: clamp(3.2rem, 6vw, 6.2rem) clamp(2rem, 4.2vw, 5.2rem);
}

.lab-hero-copy > .wp-block-group {
	width: min(100%, 640px);
	margin-left: auto;
}

.lab-hero-kicker {
	margin-bottom: 1.1rem;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.lab-hero-title {
	max-width: 720px;
	margin-top: 0;
	margin-bottom: 1.25rem;
	letter-spacing: -0.035em;
}

.lab-hero-lead {
	max-width: 600px;
	margin-bottom: 1.25rem;
	color: var(--lab-gray-200);
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
}

.lab-hero-trust {
	margin-bottom: 1.9rem;
}

.lab-hero-buttons {
	gap: 0.8rem;
}

.lab-hero-buttons .wp-block-button__link {
	min-height: 48px;
	padding: 0.8rem 1.15rem;
	border-radius: 2px;
	font-weight: 750;
	text-decoration: none;
}

.lab-hero-buttons .is-style-outline > .wp-block-button__link {
	border: 1px solid rgba(255,255,255,0.72);
	background: transparent;
	color: var(--lab-white);
}

.lab-hero-buttons .is-style-outline > .wp-block-button__link:hover,
.lab-hero-buttons .is-style-outline > .wp-block-button__link:focus-visible {
	border-color: var(--lab-yellow);
	background: rgba(255,231,16,0.08);
	color: var(--lab-white);
}

.lab-hero-media {
	position: relative;
	min-height: 620px;
	overflow: hidden;
	background: #303438;
}

.lab-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(32,35,38,0.46) 0%, rgba(32,35,38,0.05) 20%, transparent 42%),
		linear-gradient(0deg, rgba(32,35,38,0.24) 0%, transparent 35%);
}

.lab-hero-media .wp-block-image {
	width: 100%;
	height: 100%;
	min-height: 620px;
	margin: 0;
}

.lab-hero-media .wp-block-image img {
	display: block;
	width: 100%;
	height: 620px;
	object-fit: cover;
	object-position: 54% 50%;
}

.lab-hero-media .wp-block-image:empty {
	min-height: 620px;
	background:
		linear-gradient(135deg, rgba(255,231,16,0.10), transparent 45%),
		#303438;
}

.lab-hero-media .wp-block-image:empty::before {
	content: "Wybierz obraz hero1.jpg z Biblioteki mediów";
	display: grid;
	place-items: center;
	min-height: 620px;
	padding: 2rem;
	color: var(--lab-gray-200);
	font-size: 0.95rem;
	text-align: center;
}

.lab-hero-metrics {
	position: absolute;
	right: clamp(1.3rem, 2.6vw, 2.4rem);
	bottom: clamp(1.3rem, 2.6vw, 2.4rem);
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, auto);
	gap: 0.7rem;
}

.lab-hero-metric {
	min-width: 118px;
	padding: 0.72rem 0.85rem;
	border: 1px solid rgba(255,255,255,0.24);
	background: rgba(32,35,38,0.80);
	color: var(--lab-white);
}

.lab-hero-metric strong {
	display: block;
	color: var(--lab-yellow);
	font-size: 1rem;
	line-height: 1.15;
}

.lab-hero-metric span {
	display: block;
	margin-top: 0.2rem;
	color: var(--lab-gray-200);
	font-size: 0.72rem;
	line-height: 1.2;
}

@media (max-width: 980px) {
	.lab-hero-v04 > .wp-block-columns {
		display: block;
		min-height: auto;
	}

	.lab-hero-copy {
		min-height: auto;
		padding: 3.6rem 1.5rem 3rem;
	}

	.lab-hero-copy > .wp-block-group {
		width: 100%;
		max-width: 760px;
		margin: 0 auto;
	}

	.lab-hero-title {
		font-size: clamp(2.5rem, 10vw, 4.5rem) !important;
	}

	.lab-hero-media,
	.lab-hero-media .wp-block-image,
	.lab-hero-media .wp-block-image:empty {
		min-height: 420px;
	}

	.lab-hero-media .wp-block-image img {
		height: 420px;
		object-position: 52% 50%;
	}

	.lab-hero-metrics {
		left: 1rem;
		right: 1rem;
		bottom: 1rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lab-hero-metric {
		min-width: 0;
	}
}

@media (max-width: 640px) {
	.lab-hero-copy {
		padding: 3rem 1.1rem 2.5rem;
	}

	.lab-hero-buttons {
		display: grid !important;
		grid-template-columns: 1fr;
		width: 100%;
	}

	.lab-hero-buttons .wp-block-button,
	.lab-hero-buttons .wp-block-button__link {
		width: 100%;
	}

	.lab-hero-media,
	.lab-hero-media .wp-block-image,
	.lab-hero-media .wp-block-image:empty {
		min-height: 340px;
	}

	.lab-hero-media .wp-block-image img {
		height: 340px;
		object-position: 48% 50%;
	}

	.lab-hero-metrics {
		grid-template-columns: 1fr;
		gap: 0.45rem;
	}

	.lab-hero-metric {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.6rem 0.72rem;
	}

	.lab-hero-metric span {
		margin-top: 0;
		text-align: right;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.4.1 — Gutenberg-native HERO fixes
   ========================================================== */

.lab-accent-line.wp-block-separator {
	width: 72px;
	height: 4px;
	margin: 0 0 1.4rem 0;
	border: 0;
	background: var(--lab-yellow);
	opacity: 1;
}

.lab-hero-cover {
	position: relative;
	min-height: 620px !important;
	height: 100%;
	overflow: hidden;
	background: #303438;
}

.lab-hero-cover .wp-block-cover__image-background {
	object-fit: cover;
	object-position: 54% 50%;
}

.lab-hero-cover .wp-block-cover__background {
	background:
		linear-gradient(90deg, rgba(32,35,38,0.42) 0%, rgba(32,35,38,0.08) 22%, transparent 45%),
		linear-gradient(0deg, rgba(32,35,38,0.24) 0%, transparent 36%) !important;
	opacity: 1 !important;
}

.lab-hero-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 620px;
	padding: clamp(1.3rem, 2.6vw, 2.4rem);
}

.lab-hero-cover-placeholder {
	margin: auto;
	max-width: 320px;
	padding: 1rem 1.2rem;
	border: 1px solid rgba(255,255,255,0.28);
	background: rgba(32,35,38,0.74);
	color: var(--lab-gray-200);
	text-align: center;
}

.lab-hero-cover.has-background-dim .lab-hero-cover-placeholder {
	display: none;
}

.lab-hero-metrics-native {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.7rem;
	width: 100%;
	margin-top: auto;
}

.lab-hero-metric-native {
	min-width: 0;
	padding: 0.72rem 0.85rem;
	border: 1px solid rgba(255,255,255,0.24);
	background: rgba(32,35,38,0.80);
	color: var(--lab-white);
}

.lab-hero-metric-native .wp-block-heading {
	margin: 0;
	color: var(--lab-yellow);
	font-size: 1rem;
	line-height: 1.15;
}

.lab-hero-metric-native p {
	margin: 0.2rem 0 0;
	color: var(--lab-gray-200);
	font-size: 0.72rem;
	line-height: 1.2;
}

@media (max-width: 980px) {
	.lab-hero-cover,
	.lab-hero-cover .wp-block-cover__inner-container {
		min-height: 420px !important;
	}

	.lab-hero-cover .wp-block-cover__image-background {
		object-position: 52% 50%;
	}
}

@media (max-width: 640px) {
	.lab-hero-cover,
	.lab-hero-cover .wp-block-cover__inner-container {
		min-height: 340px !important;
	}

	.lab-hero-cover .wp-block-cover__image-background {
		object-position: 48% 50%;
	}

	.lab-hero-metrics-native {
		grid-template-columns: 1fr;
		gap: 0.45rem;
	}

	.lab-hero-metric-native {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 1rem;
	}

	.lab-hero-metric-native p {
		margin: 0;
		text-align: right;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.4.2 — logo + HERO cleanup
   ========================================================== */

/* HERO image is already chosen in the editor; hide setup helper text. */
.lab-hero-cover-placeholder {
	display: none !important;
}

/* Official INTROL logo in the header. */
.lab-header .wp-block-site-logo {
	margin: 0;
	flex: 0 0 auto;
}

.lab-header .wp-block-site-logo a {
	display: block;
	line-height: 0;
}

.lab-header .wp-block-site-logo img {
	display: block;
	width: 118px;
	max-width: 118px;
	height: auto;
}

/* Optional plain text label placed next to the logo. */
.lab-header .lab-brand-label {
	margin: 0;
	white-space: nowrap;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.15;
	color: var(--lab-anthracite);
}

/* When the official logo is used, the old Site Title can be hidden. */
.lab-header .lab-hide-site-title {
	display: none !important;
}

@media (max-width: 980px) {
	.lab-header .wp-block-site-logo img {
		width: 104px;
		max-width: 104px;
	}

	.lab-header .lab-brand-label {
		font-size: 0.92rem;
	}
}

@media (max-width: 520px) {
	.lab-header .wp-block-site-logo img {
		width: 92px;
		max-width: 92px;
	}

	.lab-header .lab-brand-label {
		display: none;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.5 — services section
   ========================================================== */

.lab-services {
	padding: clamp(4rem, 6vw, 6rem) 24px;
	background: var(--lab-white);
}

.lab-services-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lab-services-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2rem;
}

.lab-services-head .wp-block-heading {
	margin: 0;
}

.lab-services-intro {
	max-width: 520px;
	margin: 0;
	color: var(--lab-graphite);
}

.lab-service-grid {
	gap: 1rem;
}

.lab-service-card {
	position: relative;
	height: 100%;
	min-height: 330px;
	padding: 1.35rem;
	overflow: hidden;
	border: 1px solid rgba(32,35,38,0.12);
	background: var(--lab-white);
	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		border-color 160ms ease;
}

.lab-service-card:hover,
.lab-service-card:focus-within {
	transform: translateY(-3px);
	border-color: rgba(32,35,38,0.22);
	box-shadow: 0 16px 36px rgba(32,35,38,0.10);
}

.lab-service-icon {
	width: 112px;
	margin: 0 0 1.4rem;
}

.lab-service-icon img {
	display: block;
	width: 112px;
	height: 112px;
	object-fit: contain;
}

.lab-service-number {
	margin: 0 0 0.6rem;
	color: var(--lab-yellow);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.lab-service-title {
	margin: 0 0 0.7rem;
	font-size: clamp(1.25rem, 1.7vw, 1.55rem);
	line-height: 1.1;
}

.lab-service-copy {
	margin: 0 0 1.4rem;
	color: var(--lab-graphite);
	font-size: 0.95rem;
	line-height: 1.55;
}

.lab-service-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: auto;
	font-weight: 700;
	text-decoration: none;
}

.lab-service-link::after {
	content: "→";
	transition: transform 150ms ease;
}

.lab-service-link:hover::after,
.lab-service-link:focus-visible::after {
	transform: translateX(4px);
}

.lab-service-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--lab-yellow);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 160ms ease;
}

.lab-service-card:hover::after,
.lab-service-card:focus-within::after {
	transform: scaleX(1);
}

.lab-services-note {
	margin-top: 1.2rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	font-size: 0.9rem;
}

@media (max-width: 980px) {
	.lab-services-head {
		display: block;
	}

	.lab-services-intro {
		margin-top: 0.8rem;
	}

	.lab-service-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lab-service-grid > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-services {
		padding: 3.5rem 1.1rem;
	}

	.lab-service-grid {
		grid-template-columns: 1fr;
	}

	.lab-service-card {
		min-height: 0;
	}

	.lab-service-icon,
	.lab-service-icon img {
		width: 92px;
		height: 92px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-service-card,
	.lab-service-card::after,
	.lab-service-link::after {
		transition: none;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.6 — trust / accreditation pattern
   ========================================================== */

.lab-trust {
	position: relative;
	overflow: hidden;
	padding: clamp(4.5rem, 7vw, 7rem) 24px;
	background: var(--lab-anthracite);
	color: var(--lab-white);
}

.lab-trust::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.16;
	background-image:
		linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
	background-size: 36px 36px;
	mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.82) 68%, transparent 100%);
}

.lab-trust-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}

.lab-trust-head {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.lab-trust-kicker {
	margin: 0 0 .9rem;
	color: var(--lab-yellow);
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.lab-trust-title {
	max-width: 760px;
	margin: 0;
	color: var(--lab-white);
	font-size: clamp(2rem, 4vw, 3.6rem);
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.lab-trust-copy {
	margin: 0;
	color: var(--lab-gray-200);
	font-size: 1rem;
	line-height: 1.7;
}

.lab-trust-metrics {
	gap: 0;
	margin: 0;
	border-top: 1px solid rgba(255,255,255,0.18);
	border-bottom: 1px solid rgba(255,255,255,0.18);
}

.lab-trust-metric {
	min-height: 185px;
	padding: 1.6rem 1.5rem;
	border-right: 1px solid rgba(255,255,255,0.16);
}

.lab-trust-metrics > .wp-block-column:last-child .lab-trust-metric {
	border-right: 0;
}

.lab-trust-value {
	margin: 0 0 .55rem;
	color: var(--lab-yellow);
	font-size: clamp(2rem, 3.8vw, 3.15rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.lab-trust-label {
	margin: 0;
	color: var(--lab-white);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.lab-trust-note {
	margin: .45rem 0 0;
	color: rgba(236,238,240,0.76);
	font-size: .82rem;
	line-height: 1.45;
}

.lab-trust-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
	margin-top: 2rem;
}

.lab-trust-actions .wp-block-button__link {
	min-height: 48px;
	padding: .8rem 1.15rem;
	border-radius: 2px;
	font-weight: 750;
	text-decoration: none;
}

.lab-trust-actions .is-style-outline > .wp-block-button__link {
	border: 1px solid rgba(255,255,255,.62);
	background: transparent;
	color: var(--lab-white);
}

.lab-trust-actions .is-style-outline > .wp-block-button__link:hover,
.lab-trust-actions .is-style-outline > .wp-block-button__link:focus-visible {
	border-color: var(--lab-yellow);
	background: rgba(255,231,16,.08);
	color: var(--lab-white);
}

@media (max-width: 980px) {
	.lab-trust-head {
		grid-template-columns: 1fr;
	}

	.lab-trust-metrics {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lab-trust-metrics > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}

	.lab-trust-metric {
		border-right: 1px solid rgba(255,255,255,0.16);
		border-bottom: 1px solid rgba(255,255,255,0.16);
	}

	.lab-trust-metrics > .wp-block-column:nth-child(2n) .lab-trust-metric {
		border-right: 0;
	}

	.lab-trust-metrics > .wp-block-column:nth-last-child(-n+2) .lab-trust-metric {
		border-bottom: 0;
	}
}

@media (max-width: 640px) {
	.lab-trust {
		padding: 3.8rem 1.1rem;
	}

	.lab-trust-metrics {
		grid-template-columns: 1fr;
	}

	.lab-trust-metric,
	.lab-trust-metrics > .wp-block-column:nth-child(2n) .lab-trust-metric,
	.lab-trust-metrics > .wp-block-column:nth-last-child(-n+2) .lab-trust-metric {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,0.16);
	}

	.lab-trust-metrics > .wp-block-column:last-child .lab-trust-metric {
		border-bottom: 0;
	}

	.lab-trust-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.lab-trust-actions .wp-block-button,
	.lab-trust-actions .wp-block-button__link {
		width: 100%;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.7 — documents + news pattern
   ========================================================== */

.lab-hub {
	padding: clamp(4.2rem, 6vw, 6rem) 24px;
	background: var(--lab-gray-100);
}

.lab-hub-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lab-hub-grid {
	gap: clamp(2rem, 4vw, 4rem);
	align-items: stretch;
}

.lab-hub-panel {
	height: 100%;
	padding: clamp(1.5rem, 2.5vw, 2.2rem);
	border: 1px solid rgba(32,35,38,0.12);
	background: var(--lab-white);
}

.lab-hub-kicker {
	margin: 0 0 .75rem;
	color: var(--lab-graphite);
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.lab-hub-title {
	margin: 0 0 .9rem;
	font-size: clamp(1.7rem, 2.6vw, 2.4rem);
	letter-spacing: -.025em;
	line-height: 1.08;
}

.lab-hub-intro {
	margin: 0 0 1.6rem;
	color: var(--lab-graphite);
	line-height: 1.65;
}

.lab-doc-list {
	display: grid;
	gap: .75rem;
	margin-bottom: 1.5rem;
}

.lab-doc-item {
	position: relative;
	padding: 1rem 3.1rem 1rem 1rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
	transition:
		border-color 150ms ease,
		transform 150ms ease,
		box-shadow 150ms ease;
}

.lab-doc-item:hover,
.lab-doc-item:focus-within {
	transform: translateY(-2px);
	border-color: rgba(32,35,38,.24);
	box-shadow: 0 10px 24px rgba(32,35,38,.06);
}

.lab-doc-item::after {
	content: "↗";
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	color: var(--lab-yellow);
	font-size: 1.25rem;
	font-weight: 800;
}

.lab-doc-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.25;
}

.lab-doc-meta {
	margin: .25rem 0 0;
	color: var(--lab-graphite);
	font-size: .82rem;
}

.lab-doc-item a {
	color: inherit;
	text-decoration: none;
}

.lab-doc-item a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.lab-hub-actions {
	gap: .75rem;
	margin-top: 1.2rem;
}

.lab-hub-actions .wp-block-button__link {
	min-height: 46px;
	padding: .75rem 1rem;
	border-radius: 2px;
	font-weight: 750;
	text-decoration: none;
}

.lab-news-query .wp-block-post-template {
	display: grid;
	gap: .85rem;
}

.lab-news-card {
	position: relative;
	padding: 1rem 0 1rem 1rem;
	border-left: 3px solid var(--lab-yellow);
}

.lab-news-card + .lab-news-card {
	border-top: 1px solid rgba(32,35,38,.10);
}

.lab-news-card .wp-block-post-date {
	margin-bottom: .35rem;
	color: var(--lab-graphite);
	font-size: .78rem;
}

.lab-news-card .wp-block-post-title {
	margin: 0 0 .45rem;
	font-size: 1.08rem;
	line-height: 1.25;
}

.lab-news-card .wp-block-post-title a {
	text-decoration: none;
}

.lab-news-card .wp-block-post-excerpt {
	margin: 0;
	color: var(--lab-graphite);
	font-size: .9rem;
	line-height: 1.55;
}

.lab-news-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: .55rem;
	font-weight: 700;
	text-decoration: none;
}

.lab-news-card .wp-block-post-excerpt__more-link::after {
	content: " →";
}

.lab-news-empty {
	padding: 1rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
}

@media (max-width: 980px) {
	.lab-hub-grid {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.lab-hub-grid > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-hub {
		padding: 3.5rem 1.1rem;
	}

	.lab-hub-panel {
		padding: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-doc-item {
		transition: none;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.8 — conversion CTA + footer
   ========================================================== */

.lab-conversion {
	position: relative;
	overflow: hidden;
	padding: clamp(3.2rem, 5vw, 4.8rem) 24px;
	background: var(--lab-yellow);
	color: var(--lab-anthracite);
}

.lab-conversion::after {
	content: "";
	position: absolute;
	inset: 0 0 0 auto;
	width: min(42vw, 620px);
	pointer-events: none;
	opacity: .14;
	background-image:
		linear-gradient(rgba(32,35,38,.25) 1px, transparent 1px),
		linear-gradient(90deg, rgba(32,35,38,.25) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(90deg, transparent, #000);
}

.lab-conversion-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}

.lab-conversion-grid {
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
}

.lab-conversion-title {
	margin: 0 0 .65rem;
	font-size: clamp(2rem, 3.6vw, 3.2rem);
	letter-spacing: -.03em;
	line-height: 1.02;
}

.lab-conversion-copy {
	max-width: 720px;
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.6;
}

.lab-conversion-actions {
	justify-content: flex-end;
	gap: .75rem;
}

.lab-conversion-actions .wp-block-button__link {
	min-height: 50px;
	padding: .82rem 1.15rem;
	border-radius: 2px;
	font-weight: 800;
	text-decoration: none;
}

.lab-conversion-actions .wp-block-button:first-child .wp-block-button__link {
	background: var(--lab-anthracite);
	color: var(--lab-white);
}

.lab-conversion-actions .wp-block-button:first-child .wp-block-button__link:hover,
.lab-conversion-actions .wp-block-button:first-child .wp-block-button__link:focus-visible {
	background: var(--lab-graphite);
}

.lab-conversion-actions .is-style-outline > .wp-block-button__link {
	border: 1px solid var(--lab-anthracite);
	background: transparent;
	color: var(--lab-anthracite);
}

.lab-conversion-actions .is-style-outline > .wp-block-button__link:hover,
.lab-conversion-actions .is-style-outline > .wp-block-button__link:focus-visible {
	background: rgba(32,35,38,.08);
	color: var(--lab-anthracite);
}


/* Footer */

.lab-footer-v08 {
	padding: clamp(3.4rem, 5vw, 5rem) 24px 0;
	border-top: 4px solid var(--lab-yellow);
	background: var(--lab-anthracite);
	color: var(--lab-white);
}

.lab-footer-v08-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lab-footer-v08-main {
	gap: clamp(2.5rem, 5vw, 5rem);
	margin-bottom: 2.5rem;
}

.lab-footer-brand .wp-block-site-logo {
	margin: 0 0 1.3rem;
}

.lab-footer-brand .wp-block-site-logo img {
	display: block;
	width: 150px;
	max-width: 150px;
	height: auto;
}

.lab-footer-brand-copy {
	max-width: 420px;
	margin: 0 0 1.15rem;
	color: var(--lab-gray-200);
	font-size: .94rem;
	line-height: 1.65;
}

.lab-footer-accreditation {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin: 0;
	color: var(--lab-yellow);
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .04em;
}

.lab-footer-heading {
	margin: 0 0 1rem;
	color: var(--lab-white);
	font-size: .92rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.lab-footer-links {
	display: grid;
	gap: .65rem;
}

.lab-footer-links a {
	color: var(--lab-gray-200);
	font-size: .92rem;
	text-decoration: none;
}

.lab-footer-links a:hover,
.lab-footer-links a:focus-visible {
	color: var(--lab-yellow);
	text-decoration: underline;
	text-decoration-thickness: .1em;
	text-underline-offset: .2em;
}

.lab-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 0 1.35rem;
	border-top: 1px solid rgba(255,255,255,.14);
}

.lab-footer-bottom p {
	margin: 0;
	color: rgba(236,238,240,.72);
	font-size: .78rem;
}

.lab-footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.lab-footer-bottom-links a {
	color: rgba(236,238,240,.72);
	font-size: .78rem;
	text-decoration: none;
}

.lab-footer-bottom-links a:hover,
.lab-footer-bottom-links a:focus-visible {
	color: var(--lab-yellow);
}

@media (max-width: 980px) {
	.lab-conversion-grid {
		display: block !important;
	}

	.lab-conversion-actions {
		justify-content: flex-start;
		margin-top: 1.5rem;
	}

	.lab-footer-v08-main {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
	}

	.lab-footer-v08-main > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-conversion {
		padding: 3rem 1.1rem;
	}

	.lab-conversion-actions {
		display: grid !important;
		grid-template-columns: 1fr;
		width: 100%;
	}

	.lab-conversion-actions .wp-block-button,
	.lab-conversion-actions .wp-block-button__link {
		width: 100%;
	}

	.lab-footer-v08 {
		padding-left: 1.1rem;
		padding-right: 1.1rem;
	}

	.lab-footer-v08-main {
		grid-template-columns: 1fr;
	}

	.lab-footer-bottom {
		display: block;
	}

	.lab-footer-bottom-links {
		margin-top: .75rem;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.9 — HOME POLISH / RESPONSIVE PASS
   ========================================================== */

/* ----- HERO: 4 equal clickable measurement shortcuts ----- */

.lab-hero-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
	width: 100%;
	margin-top: auto;
}

.lab-hero-shortcut {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 78px;
	padding: .7rem .78rem;
	border: 1px solid rgba(255,255,255,.24);
	background: rgba(32,35,38,.82);
	color: var(--lab-white);
	text-decoration: none;
	transition:
		background 150ms ease,
		border-color 150ms ease,
		transform 150ms ease;
}

.lab-hero-shortcut strong {
	display: block;
	margin: 0;
	color: var(--lab-yellow);
	font-size: clamp(.9rem, 1.2vw, 1.05rem);
	line-height: 1.12;
	white-space: nowrap;
}

.lab-hero-shortcut span {
	display: block;
	min-height: 1.35em;
	margin-top: .2rem;
	color: var(--lab-gray-200);
	font-size: .7rem;
	line-height: 1.2;
}

.lab-hero-shortcut:hover,
.lab-hero-shortcut:focus-visible {
	transform: translateY(-2px);
	border-color: var(--lab-yellow);
	background: rgba(32,35,38,.94);
	outline: none;
}

.lab-hero-shortcut:hover strong,
.lab-hero-shortcut:focus-visible strong {
	color: var(--lab-white);
}

.lab-hero-shortcut::after {
	content: "→";
	position: absolute;
	top: .68rem;
	right: .7rem;
	color: var(--lab-yellow);
	font-size: .85rem;
	font-weight: 800;
	opacity: 0;
	transform: translateX(-3px);
	transition: opacity 150ms ease, transform 150ms ease;
}

.lab-hero-shortcut:hover::after,
.lab-hero-shortcut:focus-visible::after {
	opacity: 1;
	transform: translateX(0);
}

/* Make the picture panel inner container keep shortcuts at the bottom. */
.lab-hero-cover .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

/* ----- Services: equal card rhythm + links aligned to bottom ----- */

.lab-services {
	padding-top: clamp(3.2rem, 5vw, 4.7rem);
	padding-bottom: clamp(3.6rem, 5.5vw, 5rem);
}

.lab-service-card {
	display: flex !important;
	flex-direction: column !important;
}

.lab-service-card > p:last-child {
	margin-top: auto !important;
	margin-bottom: 0 !important;
	padding-top: .4rem;
}

.lab-service-card .lab-service-copy {
	margin-bottom: 1rem;
}

/* ----- Trust metrics: equal vertical rhythm; calm ISO/IEC 17025 ----- */

.lab-trust-metrics {
	align-items: stretch;
}

.lab-trust-metric {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.lab-trust-value {
	display: flex;
	align-items: flex-start;
	min-height: 68px;
	margin-bottom: .55rem;
}

/* ISO/IEC 17025 is longer than the other values; keep its hierarchy
   but prevent it from disturbing the baseline of the four metrics. */
.lab-trust-metrics > .wp-block-column:nth-child(4) .lab-trust-value {
	max-width: 180px;
	font-size: clamp(1.65rem, 2.9vw, 2.55rem);
	line-height: .94;
	letter-spacing: -.04em;
}

.lab-trust-label {
	min-height: 2.7em;
}

.lab-trust-note {
	margin-top: .4rem;
}

/* ----- Documents / news: a slightly tighter home-page rhythm ----- */

.lab-hub {
	padding-top: clamp(3.8rem, 5.5vw, 5.3rem);
	padding-bottom: clamp(3.8rem, 5.5vw, 5.3rem);
}

/* ----- CTA: keep buttons aligned and compact ----- */

.lab-conversion-actions {
	align-items: center;
}

/* ----- Footer: exact alignment of bottom row ----- */

.lab-footer-bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: 54px;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.lab-footer-bottom > p,
.lab-footer-bottom .wp-block-paragraph,
.lab-footer-bottom-links,
.lab-footer-bottom-links p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.4;
}

.lab-footer-bottom-links {
	display: flex !important;
	align-items: center !important;
}

/* ----- Responsive polish ----- */

@media (max-width: 980px) {
	.lab-hero-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lab-hero-shortcut {
		min-height: 72px;
	}

	.lab-trust-value {
		min-height: 58px;
	}

	.lab-trust-metrics > .wp-block-column:nth-child(4) .lab-trust-value {
		max-width: none;
		font-size: clamp(1.7rem, 5vw, 2.5rem);
	}
}

@media (max-width: 640px) {
	.lab-hero-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .45rem;
	}

	.lab-hero-shortcut {
		min-height: 68px;
		padding: .62rem .65rem;
	}

	.lab-hero-shortcut strong {
		font-size: .9rem;
	}

	.lab-hero-shortcut span {
		font-size: .67rem;
	}

	.lab-trust-value,
	.lab-trust-label {
		min-height: 0;
	}

	.lab-footer-bottom {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: .8rem;
	}

	.lab-footer-bottom-links {
		margin-top: 0 !important;
		text-align: right;
	}
}

@media (max-width: 430px) {
	.lab-footer-bottom {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.lab-footer-bottom-links {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-hero-shortcut,
	.lab-hero-shortcut::after {
		transition: none;
	}
}



/* ==========================================================
   Laboratorium INTROL v0.9.1 — robust native HERO media
   ========================================================== */

.lab-hero-media-native {
	position: relative;
	min-height: 620px;
	overflow: hidden;
	background: var(--lab-graphite);
}

.lab-hero-media-native::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(32,35,38,.34) 0%, rgba(32,35,38,.06) 24%, transparent 44%),
		linear-gradient(0deg, rgba(32,35,38,.28) 0%, transparent 36%);
}

.lab-hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.lab-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 54% 50%;
}

.lab-hero-links-native {
	position: absolute;
	left: clamp(1rem, 2vw, 1.5rem);
	right: clamp(1rem, 2vw, 1.5rem);
	bottom: clamp(1rem, 2vw, 1.5rem);
	z-index: 2;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
}

.lab-hero-link-card {
	margin: 0 !important;
	height: 100%;
}

.lab-hero-link-card > a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 80px;
	height: 100%;
	padding: .72rem .8rem;
	border: 1px solid rgba(255,255,255,.24);
	background: rgba(32,35,38,.84);
	color: var(--lab-white);
	text-decoration: none;
	transition:
		background 150ms ease,
		border-color 150ms ease,
		transform 150ms ease;
}

.lab-hero-link-card > a strong {
	display: block;
	color: var(--lab-yellow);
	font-size: clamp(.88rem, 1.05vw, 1.02rem);
	line-height: 1.1;
	white-space: nowrap;
}

.lab-hero-link-card > a span {
	display: block;
	margin-top: .24rem;
	color: var(--lab-gray-200);
	font-size: .69rem;
	line-height: 1.15;
}

.lab-hero-link-card > a:hover,
.lab-hero-link-card > a:focus-visible {
	transform: translateY(-2px);
	border-color: var(--lab-yellow);
	background: rgba(32,35,38,.96);
	outline: none;
}

.lab-hero-link-card > a:hover strong,
.lab-hero-link-card > a:focus-visible strong {
	color: var(--lab-white);
}

.lab-hero-link-card > a::after {
	content: "→";
	position: absolute;
	top: .62rem;
	right: .65rem;
	color: var(--lab-yellow);
	font-weight: 800;
	opacity: 0;
	transition: opacity 150ms ease;
}

.lab-hero-link-card > a:hover::after,
.lab-hero-link-card > a:focus-visible::after {
	opacity: 1;
}

@media (max-width: 980px) {
	.lab-hero-media-native {
		min-height: 430px;
	}

	.lab-hero-image img {
		object-position: 52% 50%;
	}

	.lab-hero-links-native {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.lab-hero-media-native {
		min-height: 380px;
	}

	.lab-hero-image img {
		object-position: 48% 50%;
	}

	.lab-hero-links-native {
		left: .8rem;
		right: .8rem;
		bottom: .8rem;
		gap: .45rem;
	}

	.lab-hero-link-card > a {
		min-height: 66px;
		padding: .58rem .62rem;
	}

	.lab-hero-link-card > a strong {
		font-size: .88rem;
	}

	.lab-hero-link-card > a span {
		font-size: .65rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-hero-link-card > a,
	.lab-hero-link-card > a::after {
		transition: none;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.0 — internal page design system
   ========================================================== */
.lab-page{background:var(--lab-white)}
.lab-page-shell{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.lab-page-kicker{margin:0 0 .8rem;color:var(--lab-yellow);font-size:.8rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.lab-page-title{margin:0;letter-spacing:-.035em;line-height:1.03}
.lab-page-lead{margin:1.15rem 0 0;color:var(--lab-gray-200);font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.65}
.lab-page-hero{background:var(--lab-anthracite);color:var(--lab-white)}
.lab-page-hero-columns{min-height:500px;margin:0}
.lab-page-hero-copy{display:flex;align-items:center;padding:clamp(3.4rem,6vw,5.5rem) clamp(2rem,4vw,4rem);background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--lab-anthracite);background-size:34px 34px}
.lab-page-hero-copy>.wp-block-group{width:min(100%,600px);margin-left:auto}
.lab-page-hero .lab-page-title{color:var(--lab-white);font-size:clamp(2.6rem,5vw,4.7rem)}
.lab-page-hero-media{position:relative;min-height:500px;overflow:hidden;background:var(--lab-graphite)}
.lab-page-hero-media .wp-block-image{position:absolute;inset:0;width:100%;height:100%;margin:0}
.lab-page-hero-media .wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.lab-page-hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(32,35,38,.35),transparent 30%),linear-gradient(0deg,rgba(32,35,38,.18),transparent 35%)}
.lab-page-hero-actions{gap:.75rem;margin-top:1.7rem}
.lab-page-hero-actions .wp-block-button__link{min-height:48px;padding:.78rem 1.1rem;border-radius:2px;font-weight:800;text-decoration:none}
.lab-page-hero-actions .is-style-outline>.wp-block-button__link{border-color:rgba(255,255,255,.7);background:transparent;color:var(--lab-white)}
.lab-page-section{padding:clamp(4rem,6vw,6rem) 0}.lab-page-section.is-soft{background:var(--lab-gray-100)}.lab-page-section.is-dark{background:var(--lab-anthracite);color:var(--lab-white)}
.lab-page-section-heading{margin:0 0 1rem;font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:-.03em;line-height:1.08}.lab-page-section.is-dark .lab-page-section-heading{color:var(--lab-white)}
.lab-page-copy{color:var(--lab-graphite);font-size:1rem;line-height:1.78}.lab-page-section.is-dark .lab-page-copy{color:var(--lab-gray-200)}
.lab-about-intro{gap:clamp(2.2rem,5vw,5rem);align-items:start}.lab-fact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.lab-fact{min-height:135px;padding:1rem 1.05rem;border:1px solid rgba(32,35,38,.12);background:var(--lab-white)}
.lab-fact-value{margin:0 0 .4rem;color:var(--lab-yellow);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1}.lab-fact-label{margin:0;font-size:.92rem;font-weight:750;line-height:1.35}
.lab-page-service-grid{gap:.85rem}.lab-page-service{position:relative;height:100%;padding:1rem;border:1px solid rgba(32,35,38,.12);background:var(--lab-white)}
.lab-page-service img{width:82px!important;height:82px!important;object-fit:contain}.lab-page-service h3{margin:.75rem 0 .45rem;font-size:1.05rem;line-height:1.2}.lab-page-service p{margin:0;color:var(--lab-graphite);font-size:.86rem;line-height:1.55}.lab-page-service a{font-weight:750;text-decoration:none}
.lab-equipment{gap:clamp(2rem,5vw,5rem);align-items:stretch}.lab-equipment-media{min-height:420px;overflow:hidden;background:var(--lab-graphite)}.lab-equipment-media .wp-block-image,.lab-equipment-media img{width:100%;height:100%;min-height:420px;margin:0;object-fit:cover}.lab-equipment-copy{display:flex;align-items:center;padding:clamp(1.5rem,3vw,2.6rem);border:1px solid rgba(32,35,38,.12);background:var(--lab-white)}
.lab-process-grid{gap:0;border-top:1px solid rgba(32,35,38,.14);border-bottom:1px solid rgba(32,35,38,.14)}.lab-process-step{height:100%;min-height:185px;padding:1.3rem 1.2rem;border-right:1px solid rgba(32,35,38,.14)}.lab-process-grid>.wp-block-column:last-child .lab-process-step{border-right:0}.lab-process-no{margin:0 0 .7rem;color:var(--lab-yellow);font-size:1.15rem;font-weight:800}.lab-process-step h3{margin:0 0 .5rem;font-size:1.05rem;line-height:1.2}.lab-process-step p{margin:0;color:var(--lab-graphite);font-size:.86rem;line-height:1.55}
.lab-reasons{gap:.85rem}.lab-reason{min-height:170px;padding:1.15rem;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03)}.lab-reason h3{margin:0 0 .55rem;color:var(--lab-yellow);font-size:1.05rem}.lab-reason p{margin:0;color:var(--lab-gray-200);font-size:.88rem;line-height:1.55}
.lab-page-docs{gap:1rem;align-items:center;padding:1.3rem 1.4rem;border-left:4px solid var(--lab-yellow);background:var(--lab-gray-100)}.lab-page-docs p{margin:0}.lab-page-docs .wp-block-buttons{justify-content:flex-end}
@media(max-width:980px){.lab-page-hero-columns,.lab-about-intro,.lab-equipment{display:block!important}.lab-page-hero-copy{min-height:390px;padding:3.6rem 1.5rem}.lab-page-hero-copy>.wp-block-group{max-width:760px;margin:0 auto}.lab-page-hero-media{min-height:390px}.lab-about-intro>.wp-block-column,.lab-equipment>.wp-block-column{width:auto!important;flex-basis:auto!important}.lab-fact-grid{margin-top:1.7rem}.lab-page-service-grid,.lab-process-grid,.lab-reasons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.lab-page-service-grid>.wp-block-column,.lab-process-grid>.wp-block-column,.lab-reasons>.wp-block-column{width:auto!important;flex-basis:auto!important}.lab-process-step{border-right:1px solid rgba(32,35,38,.14);border-bottom:1px solid rgba(32,35,38,.14)}.lab-process-grid>.wp-block-column:nth-child(2n) .lab-process-step{border-right:0}.lab-page-docs{display:block!important}.lab-page-docs .wp-block-buttons{justify-content:flex-start;margin-top:1rem}}
@media(max-width:640px){.lab-page-shell{padding-left:1.1rem;padding-right:1.1rem}.lab-page-hero-copy{min-height:auto;padding:3rem 1.1rem}.lab-page-hero-media{min-height:300px}.lab-page-section{padding:3.5rem 0}.lab-fact-grid,.lab-page-service-grid,.lab-process-grid,.lab-reasons{grid-template-columns:1fr}.lab-process-step,.lab-process-grid>.wp-block-column:nth-child(2n) .lab-process-step{min-height:0;border-right:0}.lab-page-hero-actions,.lab-page-docs .wp-block-buttons{display:grid!important;grid-template-columns:1fr;width:100%}.lab-page-hero-actions .wp-block-button,.lab-page-hero-actions .wp-block-button__link,.lab-page-docs .wp-block-button,.lab-page-docs .wp-block-button__link{width:100%}}



/* ==========================================================
   Laboratorium INTROL v1.0.1 — reusable full-width page template
   ========================================================== */

.lab-fullwidth-page {
	margin: 0;
	padding: 0;
}

.lab-fullwidth-page > .wp-block-post-content {
	margin: 0;
	padding: 0;
	max-width: none;
}

.lab-fullwidth-page > .wp-block-post-content > * {
	max-width: none;
}

.lab-fullwidth-page .lab-page {
	width: 100%;
	max-width: none;
	margin: 0;
}

/* Keep legacy/plain content readable if temporarily left on a full-width page. */
.lab-fullwidth-page > .wp-block-post-content > p,
.lab-fullwidth-page > .wp-block-post-content > h1,
.lab-fullwidth-page > .wp-block-post-content > h2,
.lab-fullwidth-page > .wp-block-post-content > h3,
.lab-fullwidth-page > .wp-block-post-content > h4,
.lab-fullwidth-page > .wp-block-post-content > ul,
.lab-fullwidth-page > .wp-block-post-content > ol,
.lab-fullwidth-page > .wp-block-post-content > blockquote {
	width: min(760px, calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 640px) {
	.lab-fullwidth-page > .wp-block-post-content > p,
	.lab-fullwidth-page > .wp-block-post-content > h1,
	.lab-fullwidth-page > .wp-block-post-content > h2,
	.lab-fullwidth-page > .wp-block-post-content > h3,
	.lab-fullwidth-page > .wp-block-post-content > h4,
	.lab-fullwidth-page > .wp-block-post-content > ul,
	.lab-fullwidth-page > .wp-block-post-content > ol,
	.lab-fullwidth-page > .wp-block-post-content > blockquote {
		width: calc(100% - 2.2rem);
	}
}



/* ==========================================================
   Laboratorium INTROL v1.1 — laboratory content pass
   ========================================================== */

.lab-history-grid {
	gap: clamp(1rem, 2vw, 1.4rem);
}

.lab-history-card {
	height: 100%;
	padding: 1.15rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-history-year {
	margin: 0 0 .45rem;
	color: var(--lab-yellow);
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight: 800;
	line-height: 1;
}

.lab-history-card h3 {
	margin: 0 0 .45rem;
	font-size: 1rem;
	line-height: 1.25;
}

.lab-history-card p {
	margin: 0;
	color: var(--lab-graphite);
	font-size: .84rem;
	line-height: 1.55;
}

.lab-quality-grid {
	gap: clamp(1.2rem, 3vw, 2rem);
	align-items: stretch;
}

.lab-quality-card {
	height: 100%;
	padding: 1.3rem;
	border: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.03);
}

.lab-quality-card h3 {
	margin: 0 0 .6rem;
	color: var(--lab-yellow);
	font-size: 1.05rem;
}

.lab-quality-card p {
	margin: 0;
	color: var(--lab-gray-200);
	font-size: .88rem;
	line-height: 1.6;
}

.lab-scope-list {
	margin-top: 1.2rem;
}

.lab-scope-list ul {
	margin: 0;
	padding-left: 1.2rem;
	columns: 2;
	column-gap: 2.5rem;
}

.lab-scope-list li {
	margin: 0 0 .45rem;
	break-inside: avoid;
	color: var(--lab-graphite);
	font-size: .9rem;
	line-height: 1.5;
}

.lab-accreditation-note {
	margin-top: 1.2rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	color: var(--lab-graphite);
	font-size: .9rem;
	line-height: 1.6;
}

@media (max-width: 980px) {
	.lab-history-grid,
	.lab-quality-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lab-history-grid > .wp-block-column,
	.lab-quality-grid > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-history-grid,
	.lab-quality-grid {
		grid-template-columns: 1fr;
	}

	.lab-scope-list ul {
		columns: 1;
	}
}



/* ==========================================================
   Laboratorium INTROL v1.1.2 — laboratory photo pass
   ========================================================== */

.lab-equipment-media img {
	object-position: 46% 50%;
}



/* ==========================================================
   Laboratorium INTROL v1.2 — validator-safe editable page
   ========================================================== */

.lab-page-hero-columns > .lab-page-hero-copy {
	flex-basis: 46%;
}

.lab-page-hero-columns > .lab-page-hero-media {
	flex-basis: 54%;
}

.lab-about-intro > .lab-about-copy {
	flex-basis: 58%;
}

.lab-about-intro > .lab-about-facts {
	flex-basis: 42%;
}

.lab-equipment > .lab-equipment-media {
	flex-basis: 56%;
}

.lab-equipment > .lab-equipment-copy {
	flex-basis: 44%;
}

.lab-editable-image-note {
	margin-top: .65rem;
	color: var(--lab-graphite);
	font-size: .78rem;
	line-height: 1.45;
}

@media (max-width: 980px) {
	.lab-page-hero-columns > .lab-page-hero-copy,
	.lab-page-hero-columns > .lab-page-hero-media,
	.lab-about-intro > .lab-about-copy,
	.lab-about-intro > .lab-about-facts,
	.lab-equipment > .lab-equipment-media,
	.lab-equipment > .lab-equipment-copy {
		flex-basis: auto;
	}
}



/* ==========================================================
   Laboratorium INTROL v1.3 — Laboratory visual polish
   Applies to already inserted v1.2 page; no reinsertion needed.
   ========================================================== */

/* General rhythm */
.lab-page-section {
	padding-top: clamp(4.5rem, 6.5vw, 6.4rem);
	padding-bottom: clamp(4.5rem, 6.5vw, 6.4rem);
}

.lab-page-section-heading {
	max-width: 780px;
	margin-bottom: 1.15rem;
}

.lab-page-copy {
	max-width: 720px;
}

/* Hero: stronger lead and more balanced copy */
.lab-page-hero-copy {
	padding-top: clamp(4rem, 6vw, 6rem);
	padding-bottom: clamp(4rem, 6vw, 6rem);
}

.lab-page-hero .lab-page-lead {
	max-width: 590px;
	font-size: clamp(1.05rem, 1.55vw, 1.24rem);
	line-height: 1.62;
}

.lab-page-hero-actions {
	margin-top: 1.9rem;
}

/* About / facts */
.lab-about-intro {
	align-items: center;
}

.lab-fact-grid {
	gap: 1rem;
}

.lab-fact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 150px;
	padding: 1.2rem 1.25rem;
}

.lab-fact-value {
	margin-bottom: .55rem;
}

.lab-fact-label {
	font-size: .9rem;
}

/* Accreditation timeline */
.lab-history-grid {
	margin-top: 2rem;
	gap: 1rem;
}

.lab-history-card {
	position: relative;
	min-height: 190px;
	padding: 1.35rem 1.35rem 1.45rem;
	border-top: 3px solid var(--lab-yellow);
}

.lab-history-year {
	margin-bottom: .75rem;
	font-size: clamp(1.8rem, 3vw, 2.45rem);
}

.lab-history-card h3 {
	margin-bottom: .65rem;
	font-size: 1.05rem;
}

.lab-history-card p {
	font-size: .88rem;
	line-height: 1.62;
}

/* Service cards */
.lab-page-service-grid {
	margin-top: 1.9rem;
	gap: 1rem;
	align-items: stretch;
}

.lab-page-service-grid > .wp-block-column {
	display: flex;
}

.lab-page-service {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	min-height: 285px;
	padding: 1.25rem;
	transition:
		border-color 150ms ease,
		transform 150ms ease,
		box-shadow 150ms ease;
}

.lab-page-service:hover {
	transform: translateY(-2px);
	border-color: rgba(32,35,38,.28);
	box-shadow: 0 10px 24px rgba(32,35,38,.06);
}

.lab-page-service img {
	width: 88px !important;
	height: 88px !important;
	margin-bottom: .2rem;
}

.lab-page-service h3 {
	margin-top: .9rem;
	font-size: 1.08rem;
}

.lab-page-service > p:last-child {
	margin-top: auto;
	padding-top: .9rem;
}

.lab-page-service > p:last-child a {
	font-weight: 800;
}

.lab-accreditation-note {
	margin-top: 1rem;
}

/* Laboratory in practice */
.lab-equipment {
	gap: clamp(2.2rem, 4.5vw, 4.5rem);
	align-items: stretch;
}

.lab-equipment-media {
	min-height: 390px;
}

.lab-equipment-media .wp-block-image,
.lab-equipment-media img {
	min-height: 390px;
}

.lab-equipment-copy {
	padding: clamp(1.7rem, 3.3vw, 2.8rem);
}

.lab-equipment-copy .lab-page-section-heading {
	font-size: clamp(1.85rem, 3.2vw, 2.7rem);
}

.lab-equipment-copy .lab-page-copy {
	font-size: .95rem;
	line-height: 1.72;
}

/* Process 01–04 */
.lab-process-grid {
	margin-top: 2rem;
}

.lab-process-grid > .wp-block-column {
	display: flex;
}

.lab-process-step {
	position: relative;
	display: flex !important;
	flex-direction: column;
	width: 100%;
	min-height: 225px;
	padding: 1.55rem 1.35rem 1.45rem;
}

.lab-process-no {
	margin-bottom: 1rem;
	font-size: 1.65rem;
	line-height: 1;
}

.lab-process-step h3 {
	margin-bottom: .7rem;
	font-size: 1.08rem;
}

.lab-process-step p:last-child {
	font-size: .88rem;
	line-height: 1.6;
}

/* Dark credibility section */
.lab-quality-grid {
	margin-top: 2rem;
	gap: 1rem;
	align-items: stretch;
}

.lab-quality-grid > .wp-block-column {
	display: flex;
}

.lab-quality-card {
	display: flex !important;
	flex-direction: column;
	width: 100%;
	min-height: 205px;
	padding: 1.4rem;
	border-top: 3px solid var(--lab-yellow);
}

.lab-quality-card h3 {
	margin-bottom: .8rem;
	font-size: 1.03rem;
	line-height: 1.25;
}

.lab-quality-card p {
	font-size: .87rem;
	line-height: 1.62;
}

/* Documents */
.lab-page-docs {
	padding: 1.6rem 1.7rem;
}

.lab-page-docs h2 {
	margin-top: 0;
	margin-bottom: .45rem;
}

.lab-page-docs .wp-block-buttons {
	margin-top: 1rem;
}

/* Keep the final CTA visually connected to the page */
.lab-page > .lab-conversion {
	margin-top: 0;
}

/* Tablet */
@media (max-width: 980px) {
	.lab-history-card,
	.lab-page-service,
	.lab-process-step,
	.lab-quality-card {
		min-height: 0;
	}

	.lab-page-service-grid,
	.lab-process-grid,
	.lab-quality-grid {
		gap: .85rem;
	}

	.lab-equipment-media,
	.lab-equipment-media .wp-block-image,
	.lab-equipment-media img {
		min-height: 360px;
	}
}

/* Mobile */
@media (max-width: 640px) {
	.lab-page-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.lab-history-grid,
	.lab-page-service-grid,
	.lab-process-grid,
	.lab-quality-grid {
		margin-top: 1.35rem;
	}

	.lab-fact {
		min-height: 120px;
	}

	.lab-page-service {
		min-height: 0;
		padding: 1.15rem;
	}

	.lab-page-service img {
		width: 76px !important;
		height: 76px !important;
	}

	.lab-process-step {
		padding: 1.25rem 1rem;
	}

	.lab-quality-card {
		padding: 1.2rem;
	}

	.lab-equipment-media,
	.lab-equipment-media .wp-block-image,
	.lab-equipment-media img {
		min-height: 300px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lab-page-service {
		transition: none;
	}
}



/* ==========================================================
   Laboratorium INTROL v1.3.1 — contrast and fact-grid repair
   ========================================================== */

:root {
	--lab-yellow-contrast: #ffe710;
}

/* Yellow section labels on light backgrounds */
.lab-page-kicker {
	color: var(--lab-yellow-contrast);
}

.lab-page-hero .lab-page-kicker,
.lab-page-section.is-dark .lab-page-kicker,
.lab-conversion .lab-page-kicker {
	color: var(--lab-yellow);
}

/* O Laboratorium / facts */
.lab-about-intro {
	align-items: start;
}

.lab-about-facts {
	align-self: start;
}

.lab-fact-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(240px, 1fr));
	grid-auto-rows: 1fr;
	gap: 1rem;
	align-items: stretch;
}

.lab-fact {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	height: 100%;
	min-height: 165px;
	padding: 1.35rem 1.3rem;
}

.lab-fact-value {
	margin: 0 0 .7rem;
	font-size: clamp(2rem, 3vw, 2.7rem);
	line-height: .95;
	letter-spacing: -0.02em;
}

.lab-fact-label {
	display: block;
	margin: 0;
	min-height: 2.8em;
	font-size: .96rem;
	line-height: 1.4;
}

/* Slightly better balance inside the smaller cards */
.lab-fact .wp-block-heading,
.lab-fact p {
	max-width: 100%;
}

@media (max-width: 980px) {
	.lab-fact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.lab-page-kicker {
		font-size: .76rem;
		letter-spacing: .1em;
	}

	.lab-fact-grid {
		grid-template-columns: 1fr;
	}

	.lab-fact {
		min-height: 0;
	}
}

/* ==========================================================
   Laboratorium INTROL v1.3.3 — fact grid exact alignment
   ========================================================== */

.lab-fact-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1rem !important;
	align-items: stretch !important;
}

/* Gutenberg block-gap can add margins to grid children. Remove them. */
.lab-fact-grid > * {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.lab-fact {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;
	width: 100% !important;
	height: 190px !important;
	min-height: 190px !important;
	padding: 1.35rem 1.3rem !important;
}

.lab-fact-value,
.lab-fact-label {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 980px) {
	.lab-fact {
		height: 170px !important;
		min-height: 170px !important;
	}
}

@media (max-width: 640px) {
	.lab-fact-grid {
		grid-template-columns: 1fr !important;
	}

	.lab-fact {
		height: auto !important;
		min-height: 120px !important;
	}
}



/* ==========================================================
   Laboratorium INTROL v1.4.0 — spacing / typography / subpage system
   ========================================================== */

:root {
	--lab-yellow-contrast: #ffe710;
	--lab-section-space: clamp(4.5rem, 6.4vw, 6.2rem);
	--lab-section-space-mobile: 3.5rem;
	--lab-grid-gap: clamp(1rem, 2vw, 1.4rem);
	--lab-copy-max: 72ch;
	--lab-panel-padding: clamp(1.35rem, 2.8vw, 1.8rem);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.has-introl-yellow-color,
.has-introl-yellow-color:where(*) {
	color: var(--lab-yellow) !important;
}

.has-introl-yellow-background-color,
.has-introl-yellow-background-color:where(*) {
	background-color: var(--lab-yellow) !important;
}

.lab-page-section {
	padding-top: var(--lab-section-space);
	padding-bottom: var(--lab-section-space);
}

.lab-page-shell {
	max-width: 1200px;
}

.lab-page-section > .lab-page-shell > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-page-section > .lab-page-shell > * + * {
	margin-block-start: clamp(1rem, 1.9vw, 1.35rem);
}

.lab-page .wp-block-columns,
.lab-page-section .wp-block-columns {
	gap: var(--lab-grid-gap);
}

.lab-page :where(.wp-block-columns, .wp-block-group, .wp-block-buttons, .wp-block-image) {
	min-width: 0;
}

.lab-fact-grid > *,
.lab-history-grid > *,
.lab-page-service-grid > *,
.lab-process-grid > *,
.lab-quality-grid > *,
.lab-reasons > * {
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.lab-page-kicker,
.lab-hub-kicker,
.lab-trust-kicker,
.lab-hero-kicker,
.lab-hero-kicker p,
.lab-service-number,
.lab-process-no,
.lab-footer-accreditation {
	color: var(--lab-yellow);
}

.lab-page-title,
.lab-page-section-heading,
.lab-hub-title,
.lab-trust-title,
.lab-conversion-title {
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.lab-page-copy,
.lab-page-copy p,
.lab-page-copy li,
.lab-history-card p,
.lab-process-step p,
.lab-quality-card p,
.lab-service-copy,
.lab-doc-meta,
.lab-news-card .wp-block-post-excerpt,
.lab-footer-brand-copy {
	line-height: 1.68;
}

.lab-page-copy,
.lab-page-copy p,
.lab-page-copy ul,
.lab-page-copy ol,
.lab-page-copy blockquote {
	max-width: var(--lab-copy-max);
}

.lab-page p:not([class]),
.lab-page li:not([class]),
.lab-hub-intro,
.lab-trust-copy,
.lab-conversion-copy {
	max-width: var(--lab-copy-max);
}

.lab-page a,
.lab-hub a,
.lab-trust a,
.lab-conversion a,
.lab-footer-v08 a {
	text-underline-offset: .16em;
	text-decoration-thickness: .08em;
}

.lab-page .wp-block-button__link,
.lab-page-docs .wp-block-button__link,
.lab-page-hero-actions .wp-block-button__link,
.lab-conversion-actions .wp-block-button__link {
	min-height: 48px;
	padding: .8rem 1.15rem;
	font-weight: 780;
}

.lab-page-panel,
.lab-page-card {
	padding: var(--lab-panel-padding);
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-page-panel.is-soft,
.lab-page-card.is-soft {
	background: var(--lab-gray-100);
}

.lab-page-panel.is-dark,
.lab-page-card.is-dark {
	background: var(--lab-anthracite);
	border-color: rgba(255,255,255,.12);
	color: var(--lab-white);
}

.lab-page-grid-2,
.lab-page-grid-3,
.lab-page-grid-4 {
	display: grid !important;
	gap: var(--lab-grid-gap);
}

.lab-page-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lab-page-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lab-page-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.lab-page-divider {
	height: 1px;
	margin: 0;
	border: 0;
	background: rgba(32,35,38,.12);
}

.lab-about-intro,
.lab-equipment {
	align-items: stretch;
}

.lab-about-copy,
.lab-about-facts,
.lab-equipment-media,
.lab-equipment-copy {
	height: 100%;
}

.lab-page-service-grid,
.lab-history-grid,
.lab-process-grid,
.lab-quality-grid {
	align-items: stretch;
}

.lab-history-card,
.lab-page-service,
.lab-process-step,
.lab-quality-card,
.lab-page-docs {
	box-shadow: none;
}

.lab-page-docs {
	gap: 1rem;
	align-items: center;
}

.lab-page-docs > * {
	margin: 0 !important;
}

.lab-page-docs .wp-block-buttons {
	gap: .75rem;
}

.lab-conversion-copy {
	font-size: clamp(1rem, 1.35vw, 1.12rem);
}

@media (max-width: 980px) {
	.lab-page-grid-3,
	.lab-page-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lab-page-section > .lab-page-shell > * + * {
		margin-block-start: 1rem;
	}
}

@media (max-width: 640px) {
	.lab-page-section {
		padding-top: var(--lab-section-space-mobile);
		padding-bottom: var(--lab-section-space-mobile);
	}

	.lab-page-grid-2,
	.lab-page-grid-3,
	.lab-page-grid-4 {
		grid-template-columns: 1fr;
	}

	.lab-page-panel,
	.lab-page-card {
		padding: 1.2rem;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.5.0 — Usługi landing page
   ========================================================== */
.lab-services-page-hero{background:var(--lab-anthracite);color:var(--lab-white)}
.lab-services-page-hero>.wp-block-columns{margin:0;min-height:520px;align-items:stretch;gap:0}
.lab-services-page-hero-copy{display:flex;align-items:center;padding:clamp(3.6rem,6vw,5.8rem) clamp(2rem,4vw,4.2rem);background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--lab-anthracite);background-size:34px 34px}
.lab-services-page-hero-copy>.wp-block-group{width:min(100%,610px);margin-left:auto}
.lab-services-page-hero-title{margin:0;color:var(--lab-white);font-size:clamp(2.7rem,5vw,4.8rem);font-weight:800;letter-spacing:-.04em;line-height:1.02}
.lab-services-page-hero-lead{max-width:620px;margin:1.25rem 0 0;color:var(--lab-gray-200);font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.65}
.lab-services-page-hero-trust{margin:1.3rem 0 0;color:var(--lab-yellow);font-size:.82rem;font-weight:800;letter-spacing:.06em}
.lab-services-page-hero-actions{gap:.75rem;margin-top:1.9rem}
.lab-services-page-hero-actions .wp-block-button__link{min-height:48px;padding:.8rem 1.15rem;font-weight:800;text-decoration:none}
.lab-services-page-hero-actions .is-style-outline>.wp-block-button__link{border:1px solid rgba(255,255,255,.68);background:transparent;color:var(--lab-white)}
.lab-services-page-hero-visual{display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,4rem);background:var(--lab-gray-100)}
.lab-services-page-hero-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(100%,520px)}
.lab-services-page-hero-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:1.35rem;border:1px solid rgba(32,35,38,.12);background:var(--lab-white)}
.lab-services-page-hero-tile .wp-block-image{margin:0 0 1rem}.lab-services-page-hero-tile img{display:block;width:92px!important;height:92px!important;object-fit:contain}.lab-services-page-hero-tile h3{margin:0;font-size:1.05rem;line-height:1.2}
.lab-services-overview-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem!important;margin-top:2rem}.lab-services-overview-grid>*{margin:0!important}
.lab-services-overview-card{position:relative;display:flex!important;flex-direction:column;min-height:355px;padding:clamp(1.35rem,2.4vw,1.7rem);border:1px solid rgba(32,35,38,.12);background:var(--lab-white);transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease}.lab-services-overview-card:hover,.lab-services-overview-card:focus-within{transform:translateY(-2px);border-color:rgba(32,35,38,.24);box-shadow:0 14px 32px rgba(32,35,38,.07)}
.lab-services-overview-card .wp-block-image{margin:0 0 1rem}.lab-services-overview-card img{display:block;width:96px!important;height:96px!important;object-fit:contain}.lab-services-overview-card-badge{margin:0 0 .75rem;color:var(--lab-yellow);font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.lab-services-overview-card h3{margin:0 0 .7rem;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.08}.lab-services-overview-card p{margin:0;color:var(--lab-graphite);font-size:.94rem;line-height:1.65}.lab-services-overview-card .wp-block-buttons{margin-top:auto;padding-top:1.3rem}.lab-services-overview-card .wp-block-button__link{min-height:46px;padding:.75rem 1rem;font-weight:800;text-decoration:none}
.lab-service-choice-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;margin-top:2rem;border-top:1px solid rgba(32,35,38,.14);border-bottom:1px solid rgba(32,35,38,.14)}.lab-service-choice-grid>*{margin:0!important}.lab-service-choice-step{height:100%;min-height:205px;padding:1.45rem 1.25rem;border-right:1px solid rgba(32,35,38,.14)}.lab-service-choice-grid>*:last-child .lab-service-choice-step{border-right:0}.lab-service-choice-no{margin:0 0 .95rem;color:var(--lab-yellow);font-size:1.55rem;font-weight:850;line-height:1}.lab-service-choice-step h3{margin:0 0 .65rem;font-size:1.08rem;line-height:1.2}.lab-service-choice-step p{margin:0;color:var(--lab-graphite);font-size:.88rem;line-height:1.6}
.lab-services-accreditation{position:relative;overflow:hidden;background:var(--lab-anthracite);color:var(--lab-white)}.lab-services-accreditation:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:36px 36px}.lab-services-accreditation>.lab-page-shell{position:relative;z-index:1}.lab-services-accreditation-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,5vw,5rem)!important;align-items:center}.lab-services-accreditation-grid>*{margin:0!important}.lab-services-accreditation .lab-page-section-heading{color:var(--lab-white)}.lab-services-accreditation-copy{margin:0;color:var(--lab-gray-200);font-size:1rem;line-height:1.7}.lab-services-accreditation-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem!important}.lab-services-accreditation-metric{min-height:155px;padding:1.35rem;border:1px solid rgba(255,255,255,.15);border-top:3px solid var(--lab-yellow);background:rgba(255,255,255,.035)}.lab-services-accreditation-metric .lab-metric-value{display:block;margin:0 0 .55rem;color:var(--lab-yellow);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:800;line-height:1}.lab-services-accreditation-metric .lab-metric-copy{margin:0;color:var(--lab-gray-200);font-size:.86rem;line-height:1.45}.lab-services-accreditation .wp-block-buttons{gap:.75rem;margin-top:1.5rem}.lab-services-accreditation .wp-block-button__link{min-height:48px;padding:.8rem 1.1rem;font-weight:800;text-decoration:none}.lab-services-accreditation .is-style-outline>.wp-block-button__link{border-color:rgba(255,255,255,.65);background:transparent;color:var(--lab-white)}
@media(max-width:980px){.lab-services-page-hero>.wp-block-columns{display:block!important;min-height:auto}.lab-services-page-hero-copy>.wp-block-group{max-width:760px;margin:0 auto}.lab-services-overview-grid,.lab-services-accreditation-grid{grid-template-columns:1fr!important}.lab-service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-service-choice-grid>*:nth-child(2n) .lab-service-choice-step{border-right:0}.lab-service-choice-grid>*:nth-child(-n+2) .lab-service-choice-step{border-bottom:1px solid rgba(32,35,38,.14)}}
@media(max-width:640px){.lab-services-page-hero-copy{padding:3rem 1.1rem}.lab-services-page-hero-visual{padding:1.1rem}.lab-services-page-hero-grid,.lab-services-overview-grid,.lab-service-choice-grid,.lab-services-accreditation-metrics{grid-template-columns:1fr!important}.lab-services-page-hero-tile,.lab-services-overview-card,.lab-service-choice-step,.lab-services-accreditation-metric{min-height:0}.lab-service-choice-step,.lab-service-choice-grid>*:nth-child(2n) .lab-service-choice-step{border-right:0;border-bottom:1px solid rgba(32,35,38,.14)}.lab-service-choice-grid>*:last-child .lab-service-choice-step{border-bottom:0}.lab-services-page-hero-actions,.lab-services-accreditation .wp-block-buttons{display:grid!important;grid-template-columns:1fr;width:100%}.lab-services-page-hero-actions .wp-block-button,.lab-services-page-hero-actions .wp-block-button__link,.lab-services-accreditation .wp-block-button,.lab-services-accreditation .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){.lab-services-overview-card{transition:none}}


/* ==========================================================
   Laboratorium INTROL v1.6.0 — wspólny szablon podstron
   Standard: ograniczona szerokość + zdjęcie w HERO
   ========================================================== */

/* Każda wewnętrzna podstrona korzystająca z .lab-page ma ten sam raster. */
.lab-page > .lab-page-hero {
	width: min(1200px, calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
}

.lab-page-shell {
	width: min(1200px, calc(100% - 48px));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

/* HERO podstron — jeden standard jak na stronie Laboratorium. */
.lab-page-hero-columns {
	min-height: 500px;
}

.lab-page-hero-copy {
	flex-basis: 46%;
}

.lab-page-hero-media {
	flex-basis: 54%;
}

/* Usługi v1.1 korzystają bezpośrednio z tego samego HERO co Laboratorium. */
.lab-services-page-v11 .lab-page-hero {
	margin-top: 0;
}

/* Sekcje pod HERO mają identyczny raster na wszystkich podstronach. */
.lab-page-section > .lab-page-shell,
.lab-services-page-v11 .lab-page-section > .lab-page-shell {
	width: min(1200px, calc(100% - 48px));
}

/* Karty usług wykorzystują cały dostępny raster, bez dodatkowego zwężania. */
.lab-services-page-v11 .lab-services-overview-grid,
.lab-services-page-v11 .lab-service-choice-grid,
.lab-services-page-v11 .lab-services-accreditation-grid {
	width: 100%;
	max-width: none;
}

@media (max-width: 980px) {
	.lab-page > .lab-page-hero,
	.lab-page-shell,
	.lab-page-section > .lab-page-shell,
	.lab-services-page-v11 .lab-page-section > .lab-page-shell {
		width: min(100% - 32px, 1200px);
	}
}

@media (max-width: 640px) {
	.lab-page > .lab-page-hero {
		width: 100%;
	}

	.lab-page-shell,
	.lab-page-section > .lab-page-shell,
	.lab-services-page-v11 .lab-page-section > .lab-page-shell {
		width: calc(100% - 2.2rem);
	}
}


/* ==========================================================
   Laboratorium INTROL v1.6.1 — equal accreditation tiles
   ========================================================== */

.lab-services-accreditation-metrics {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1rem !important;
	align-items: stretch !important;
}

/* Remove Gutenberg block-gap margins that were shifting the second tile. */
.lab-services-accreditation-metrics > * {
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.lab-services-accreditation-metric {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	width: 100% !important;
	height: 195px !important;
	min-height: 195px !important;
	padding: 1.35rem !important;
}

.lab-services-accreditation-metric .lab-metric-value {
	margin: 0 0 .65rem !important;
}

.lab-services-accreditation-metric .lab-metric-copy {
	margin: 0 !important;
}

@media (max-width: 640px) {
	.lab-services-accreditation-metrics {
		grid-template-columns: 1fr !important;
	}

	.lab-services-accreditation-metric {
		height: auto !important;
		min-height: 155px !important;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.7.0 — service detail: pressure
   ========================================================== */

.lab-pressure-page .lab-page-hero .lab-page-shell,
.lab-pressure-page .lab-page-section > .lab-page-shell {
	max-width: 1200px;
	margin-inline: auto;
}

.lab-pressure-page .lab-page-hero-media img {
	object-position: 50% 50%;
}

.lab-pressure-range-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.7rem;
}

.lab-pressure-range-card {
	min-height: 150px;
	padding: 1.35rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-pressure-range-value {
	margin: 0 0 .55rem;
	color: var(--lab-yellow);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.025em;
}

.lab-pressure-range-label {
	margin: 0;
	font-weight: 750;
	line-height: 1.35;
}

.lab-pressure-types-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .8rem;
	margin-top: 1.4rem;
}

.lab-pressure-type {
	padding: 1rem 1.05rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-white);
	font-weight: 700;
	line-height: 1.35;
}

.lab-pressure-accreditation {
	background: var(--lab-anthracite);
	color: var(--lab-white);
}

.lab-pressure-accreditation .lab-page-section-heading,
.lab-pressure-accreditation .lab-page-copy,
.lab-pressure-accreditation p {
	color: var(--lab-white);
}

.lab-pressure-accreditation-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.lab-pressure-accreditation-card {
	padding: 1.45rem;
	border-top: 3px solid var(--lab-yellow);
	border-right: 1px solid rgba(255,255,255,.16);
	border-bottom: 1px solid rgba(255,255,255,.16);
	border-left: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.035);
}

.lab-pressure-accreditation-card strong {
	display: block;
	margin-bottom: .55rem;
	color: var(--lab-yellow);
	font-size: clamp(1.35rem, 2.7vw, 2rem);
}

.lab-pressure-equipment-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.75rem;
}

.lab-pressure-equipment-card {
	display: flex !important;
	flex-direction: column;
	min-height: 225px;
	padding: 1.35rem 1.4rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-pressure-equipment-card h3 {
	margin: 0 0 .9rem;
	font-size: clamp(1.02rem, 1.7vw, 1.2rem);
	line-height: 1.25;
}

.lab-pressure-equipment-card ul {
	margin: 0;
	padding-left: 1.15rem;
}

.lab-pressure-equipment-card li {
	margin-bottom: .45rem;
	line-height: 1.55;
}

.lab-pressure-equipment-kicker {
	margin: 0 0 .55rem;
	color: var(--lab-yellow);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.lab-pressure-related-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.4rem;
}

.lab-pressure-related-card {
	padding: 1.15rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-pressure-related-card a {
	font-weight: 800;
	text-decoration: none;
}

@media (max-width: 980px) {
	.lab-pressure-range-grid,
	.lab-pressure-types-grid,
	.lab-pressure-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lab-pressure-accreditation-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.lab-pressure-range-grid,
	.lab-pressure-types-grid,
	.lab-pressure-equipment-grid,
	.lab-pressure-related-grid {
		grid-template-columns: 1fr;
	}
	.lab-pressure-range-card,
	.lab-pressure-equipment-card {
		min-height: 0;
	}
}

/* ==========================================================
   Laboratorium INTROL v1.7.1 — pressure equipment photo+data cards
   ========================================================== */

.lab-pressure-page .lab-pressure-equipment-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.75rem;
}

.lab-pressure-page .lab-pressure-equipment-card {
	display: grid !important;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: clamp(1.4rem, 3vw, 2.2rem);
	align-items: center;
	min-height: 185px;
	padding: 1.4rem 1.6rem;
	border: 1px solid rgba(32,35,38,.14);
	background: var(--lab-white);
}

.lab-pressure-page .lab-pressure-equipment-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 135px;
	margin: 0 !important;
	padding: .35rem;
}

.lab-pressure-page .lab-pressure-equipment-image img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 165px !important;
	max-height: 135px !important;
	object-fit: contain;
}

.lab-pressure-page .lab-pressure-equipment-copy {
	min-width: 0;
}

.lab-pressure-page .lab-pressure-equipment-copy > * {
	margin-block-start: 0;
}

.lab-pressure-page .lab-pressure-equipment-copy > * + * {
	margin-block-start: .7rem;
}

.lab-pressure-page .lab-pressure-equipment-copy h3 {
	margin-bottom: 0;
	font-size: clamp(1.05rem, 1.55vw, 1.25rem);
	line-height: 1.28;
}

.lab-pressure-page .lab-pressure-equipment-copy ul {
	margin: 0;
	padding-left: 1.15rem;
}

.lab-pressure-page .lab-pressure-equipment-copy li {
	margin-bottom: .38rem;
	line-height: 1.55;
}

@media (max-width: 700px) {
	.lab-pressure-page .lab-pressure-equipment-card {
		grid-template-columns: 1fr;
		gap: .8rem;
		padding: 1.25rem;
	}

	.lab-pressure-page .lab-pressure-equipment-image {
		justify-content: flex-start;
		min-height: 0;
	}

	.lab-pressure-page .lab-pressure-equipment-image img {
		max-width: 145px !important;
		max-height: 120px !important;
	}
}



/* ==========================================================
   Laboratorium INTROL v1.7.2 — pressure tile alignment
   ========================================================== */

/* Two equal primary tiles: accredited range + relative/absolute mode. */
.lab-pressure-page-v12 .lab-pressure-range-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1rem;
	align-items: stretch;
}

.lab-pressure-page-v12 .lab-pressure-range-grid > * {
	margin: 0 !important;
	height: 100%;
}

.lab-pressure-page-v12 .lab-pressure-range-card {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	min-height: 160px;
	height: 100%;
	padding: 1.4rem 1.45rem;
}

/* Six instrument-type tiles: rigid 3 × 2 grid with equal tiles. */
.lab-pressure-page-v12 .lab-pressure-types-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: .85rem;
	align-items: stretch;
}

.lab-pressure-page-v12 .lab-pressure-types-grid > * {
	margin: 0 !important;
}

.lab-pressure-page-v12 .lab-pressure-type {
	display: flex;
	align-items: center;
	min-height: 76px;
	height: 100%;
	margin: 0 !important;
	padding: 1rem 1.05rem;
}

/* Equipment cards keep image + parameters together and share one geometry. */
.lab-pressure-page-v12 .lab-pressure-equipment-card {
	grid-template-columns: 190px minmax(0, 1fr);
	min-height: 190px;
	padding: 1.4rem 1.6rem;
}

.lab-pressure-page-v12 .lab-pressure-equipment-image {
	width: 190px;
	min-height: 140px;
}

.lab-pressure-page-v12 .lab-pressure-equipment-image img {
	max-width: 165px !important;
	max-height: 135px !important;
}

/* Related service tiles use exactly the same height and alignment. */
.lab-pressure-page-v12 .lab-pressure-related-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1rem;
	align-items: stretch;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > * {
	margin: 0 !important;
}

.lab-pressure-page-v12 .lab-pressure-related-card {
	display: flex !important;
	align-items: center;
	min-height: 76px;
	height: 100%;
	padding: 1.15rem;
}

.lab-pressure-page-v12 .lab-pressure-related-card p {
	margin: 0;
}

@media (max-width: 980px) {
	.lab-pressure-page-v12 .lab-pressure-types-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.lab-pressure-page-v12 .lab-pressure-range-grid,
	.lab-pressure-page-v12 .lab-pressure-types-grid,
	.lab-pressure-page-v12 .lab-pressure-related-grid {
		grid-template-columns: 1fr;
	}

	.lab-pressure-page-v12 .lab-pressure-range-card,
	.lab-pressure-page-v12 .lab-pressure-type,
	.lab-pressure-page-v12 .lab-pressure-related-card {
		min-height: 0;
	}

	.lab-pressure-page-v12 .lab-pressure-equipment-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.lab-pressure-page-v12 .lab-pressure-equipment-image {
		width: auto;
		min-height: 0;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.7.3 — related service cards hard alignment
   ========================================================== */

/* Gutenberg's flow layout can inject top margins even when the parent is
   converted to CSS Grid. Reset them explicitly so all three related-service
   cards share one row and one top edge. */
.lab-pressure-page-v12 .lab-pressure-related-grid,
.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1rem !important;
	align-items: stretch !important;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card,
.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow > .lab-pressure-related-card {
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	align-self: stretch !important;
	min-height: 92px;
	height: 100%;
	box-sizing: border-box;
}

.lab-pressure-page-v12 .lab-pressure-related-card > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.lab-pressure-page-v12 .lab-pressure-related-card p,
.lab-pressure-page-v12 .lab-pressure-related-card a {
	display: flex;
	align-items: center;
	height: 100%;
}

@media (max-width: 980px) {
	.lab-pressure-page-v12 .lab-pressure-related-grid,
	.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow {
		grid-template-columns: 1fr;
	}

	.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card,
	.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow > .lab-pressure-related-card {
		min-height: 76px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.7.4 — definitive related-grid fix
   ========================================================== */

/* WordPress flow layouts generate sibling spacing from
   --wp--style--block-gap. Zero it inside this grid and let CSS Grid own
   the spacing. This prevents the 2nd/3rd cards from being pushed down. */
.lab-pressure-page-v12 .lab-pressure-related-grid,
.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow,
.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-constrained {
	--wp--style--block-gap: 0px !important;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-rows: minmax(92px, auto) !important;
	column-gap: 1rem !important;
	row-gap: 1rem !important;
	align-items: stretch !important;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card {
	margin: 0 !important;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	min-height: 92px !important;
	height: 100% !important;
	box-sizing: border-box !important;
	align-self: stretch !important;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card + .lab-pressure-related-card {
	margin-block-start: 0 !important;
}

@media (max-width: 980px) {
	.lab-pressure-page-v12 .lab-pressure-related-grid,
	.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-flow,
	.lab-pressure-page-v12 .lab-pressure-related-grid.is-layout-constrained {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.7.5 — Gutenberg sibling-gap compensation
   ========================================================== */

/*
 * WordPress can retain its generated flow-layout sibling gap on the 2nd and
 * 3rd Group block even after the wrapper is converted to CSS Grid. In a
 * stretched grid row that margin is subtracted from the border-box height,
 * which produced the characteristic aligned bottoms but staggered tops.
 *
 * Make the geometry deterministic: all three cards get the same fixed
 * desktop height, and subsequent cards are moved upward by the exact global
 * block gap (1.35rem in theme.json). This is scoped to this one navigation
 * grid and therefore cannot disturb other page sections.
 */
.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card {
	box-sizing: border-box !important;
	height: 92px !important;
	min-height: 92px !important;
	max-height: 92px !important;
	margin: 0 !important;
	padding: 1.15rem !important;
	align-self: start !important;
	transform: none !important;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card:nth-child(n+2) {
	transform: translateY(-1.35rem) !important;
}

.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card p,
.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card a {
	margin: 0 !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
}

/* Remove the now-unused vertical space from the grid row on desktop. */
.lab-pressure-page-v12 .lab-pressure-related-grid {
	padding-bottom: 0 !important;
}

@media (max-width: 980px) {
	.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card,
	.lab-pressure-page-v12 .lab-pressure-related-grid > .lab-pressure-related-card:nth-child(n+2) {
		height: auto !important;
		min-height: 76px !important;
		max-height: none !important;
		transform: none !important;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.8.0 — pressure page clean replacement
   Fresh v2.0 pattern: native Columns geometry, no legacy grid fixes required.
   ========================================================== */

.lab-pressure-page-v20 .lab-pressure-range-columns,
.lab-pressure-page-v20 .lab-pressure-types-row,
.lab-pressure-page-v20 .lab-pressure-related-columns,
.lab-pressure-page-v20 .lab-pressure-accreditation-columns,
.lab-pressure-page-v20 .lab-pressure-equipment-columns {
	align-items: stretch;
	gap: 1rem;
}

.lab-pressure-page-v20 .lab-pressure-range-columns > .wp-block-column,
.lab-pressure-page-v20 .lab-pressure-types-row > .wp-block-column,
.lab-pressure-page-v20 .lab-pressure-related-columns > .wp-block-column,
.lab-pressure-page-v20 .lab-pressure-accreditation-columns > .wp-block-column {
	display: flex;
	min-width: 0;
}

.lab-pressure-page-v20 .lab-pressure-range-card,
.lab-pressure-page-v20 .lab-pressure-type-card,
.lab-pressure-page-v20 .lab-pressure-related-card,
.lab-pressure-page-v20 .lab-pressure-accreditation-card {
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.lab-pressure-page-v20 .lab-pressure-range-card {
	min-height: 150px;
	padding: 1.35rem 1.4rem;
	border: 1px solid rgba(32,35,38,.12);
	background: #fff;
}

.lab-pressure-page-v20 .lab-pressure-range-value {
	margin: 0 0 .6rem !important;
	color: var(--lab-yellow);
	font-size: clamp(1.55rem,2.6vw,2.2rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.025em;
}

.lab-pressure-page-v20 .lab-pressure-range-label {
	margin: 0 !important;
	font-weight: 700;
	line-height: 1.45;
}

.lab-pressure-page-v20 .lab-pressure-types-block {
	margin-top: 1.6rem;
}

.lab-pressure-page-v20 .lab-pressure-types-row + .lab-pressure-types-row {
	margin-top: 1rem;
}

.lab-pressure-page-v20 .lab-pressure-type-card {
	min-height: 76px;
	display: flex;
	align-items: center;
	padding: 1rem 1.1rem;
	border-left: 3px solid var(--lab-yellow);
	background: #fff;
	font-weight: 700;
	line-height: 1.35;
}

.lab-pressure-page-v20 .lab-pressure-type-card p {
	margin: 0 !important;
}

.lab-pressure-page-v20 .lab-pressure-accreditation-columns {
	align-items: center;
}

.lab-pressure-page-v20 .lab-pressure-accreditation-card {
	min-height: 220px;
	padding: 1.5rem;
	border: 1px solid rgba(255,255,255,.14);
	border-top: 3px solid var(--lab-yellow);
	background: rgba(255,255,255,.04);
	color: #fff;
}

.lab-pressure-page-v20 .lab-pressure-accreditation-card h3 {
	margin: 0 0 .75rem;
	color: var(--lab-yellow);
	font-size: 2rem;
}

.lab-pressure-page-v20 .lab-pressure-equipment-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.5rem;
}

.lab-pressure-page-v20 .lab-pressure-equipment-card-v20 {
	margin: 0 !important;
	padding: 1.25rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-pressure-page-v20 .lab-pressure-equipment-columns {
	margin: 0 !important;
	align-items: center;
}

.lab-pressure-page-v20 .lab-pressure-equipment-photo-col {
	flex-basis: 26%;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-col {
	flex-basis: 74%;
}

.lab-pressure-page-v20 .lab-pressure-equipment-image-v20 {
	margin: 0 !important;
	text-align: center;
}

.lab-pressure-page-v20 .lab-pressure-equipment-image-v20 img {
	display: block;
	width: 100%;
	max-width: 180px;
	height: 125px;
	margin: 0 auto;
	object-fit: contain;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-v20 > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-v20 > * + * {
	margin-block-start: .55rem;
}

.lab-pressure-page-v20 .lab-pressure-equipment-kicker {
	color: var(--lab-yellow);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-v20 h3 {
	font-size: 1.12rem;
	line-height: 1.28;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-v20 ul {
	margin: .35rem 0 0 1.1rem;
	padding: 0;
}

.lab-pressure-page-v20 .lab-pressure-equipment-copy-v20 li {
	margin: .25rem 0;
	line-height: 1.45;
}

.lab-pressure-page-v20 .lab-pressure-related-card {
	min-height: 104px;
	display: flex;
	align-items: center;
	padding: 1.2rem 1.3rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-pressure-page-v20 .lab-pressure-related-card p {
	margin: 0 !important;
}

.lab-pressure-page-v20 .lab-pressure-related-card a {
	color: var(--lab-anthracite);
	font-size: 1.12rem;
	font-weight: 800;
	text-decoration: none;
}

.lab-pressure-page-v20 .lab-pressure-related-card a:hover {
	text-decoration: underline;
}

@media (max-width: 780px) {
	.lab-pressure-page-v20 .lab-pressure-range-columns,
	.lab-pressure-page-v20 .lab-pressure-types-row,
	.lab-pressure-page-v20 .lab-pressure-related-columns,
	.lab-pressure-page-v20 .lab-pressure-accreditation-columns,
	.lab-pressure-page-v20 .lab-pressure-equipment-columns {
		flex-direction: column;
	}

	.lab-pressure-page-v20 .lab-pressure-range-card,
	.lab-pressure-page-v20 .lab-pressure-type-card,
	.lab-pressure-page-v20 .lab-pressure-related-card,
	.lab-pressure-page-v20 .lab-pressure-accreditation-card {
		min-height: 0;
	}

	.lab-pressure-page-v20 .lab-pressure-equipment-photo-col,
	.lab-pressure-page-v20 .lab-pressure-equipment-copy-col {
		flex-basis: auto;
	}

	.lab-pressure-page-v20 .lab-pressure-equipment-image-v20 img {
		max-width: 210px;
		height: 145px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.9.0 — Pomiar temperatury v2.0
   Fresh complete page, native Gutenberg columns.
   ========================================================== */

.lab-temperature-page-v20 .lab-temperature-range-row,
.lab-temperature-page-v20 .lab-temperature-related-columns,
.lab-temperature-page-v20 .lab-temperature-accreditation-columns,
.lab-temperature-page-v20 .lab-temperature-equipment-columns {
	align-items: stretch;
	gap: 1rem;
}

.lab-temperature-page-v20 .lab-temperature-range-row > .wp-block-column,
.lab-temperature-page-v20 .lab-temperature-related-columns > .wp-block-column,
.lab-temperature-page-v20 .lab-temperature-accreditation-columns > .wp-block-column {
	display: flex;
	min-width: 0;
}

.lab-temperature-page-v20 .lab-temperature-range-card,
.lab-temperature-page-v20 .lab-temperature-related-card,
.lab-temperature-page-v20 .lab-temperature-accreditation-card {
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.lab-temperature-page-v20 .lab-temperature-range-row + .lab-temperature-range-row {
	margin-top: 1rem;
}

.lab-temperature-page-v20 .lab-temperature-range-card {
	min-height: 132px;
	padding: 1.25rem 1.35rem;
	border: 1px solid rgba(32,35,38,.12);
	border-left: 3px solid var(--lab-yellow);
	background: #fff;
}

.lab-temperature-page-v20 .lab-temperature-range-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-temperature-page-v20 .lab-temperature-range-card > * + * {
	margin-block-start: .55rem;
}

.lab-temperature-page-v20 .lab-temperature-range-title {
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.3;
}

.lab-temperature-page-v20 .lab-temperature-range-value {
	color: var(--lab-yellow);
	font-size: 1.16rem;
	font-weight: 800;
	line-height: 1.25;
}

.lab-temperature-page-v20 .lab-temperature-accreditation-columns {
	align-items: center;
}

.lab-temperature-page-v20 .lab-temperature-accreditation-card {
	min-height: 220px;
	padding: 1.5rem;
	border: 1px solid rgba(255,255,255,.14);
	border-top: 3px solid var(--lab-yellow);
	background: rgba(255,255,255,.04);
	color: #fff;
}

.lab-temperature-page-v20 .lab-temperature-accreditation-card h3 {
	margin: 0 0 .75rem;
	color: var(--lab-yellow);
	font-size: 2rem;
}

.lab-temperature-page-v20 .lab-temperature-equipment-group {
	margin-top: 2.25rem;
}

.lab-temperature-page-v20 .lab-temperature-equipment-group:first-of-type {
	margin-top: 1.5rem;
}

.lab-temperature-page-v20 .lab-temperature-equipment-group-title {
	margin: 0 0 1rem !important;
	font-size: 1.08rem;
	line-height: 1.35;
}

.lab-temperature-page-v20 .lab-temperature-equipment-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.lab-temperature-page-v20 .lab-temperature-equipment-card {
	margin: 0 !important;
	padding: 1.25rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-temperature-page-v20 .lab-temperature-equipment-columns {
	margin: 0 !important;
	align-items: center;
}

.lab-temperature-page-v20 .lab-temperature-equipment-photo-col {
	flex-basis: 26%;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy-col {
	flex-basis: 74%;
}

.lab-temperature-page-v20 .lab-temperature-equipment-image {
	margin: 0 !important;
	text-align: center;
}

.lab-temperature-page-v20 .lab-temperature-equipment-image img {
	display: block;
	width: 100%;
	max-width: 190px;
	height: 140px;
	margin: 0 auto;
	object-fit: contain;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy > * + * {
	margin-block-start: .55rem;
}

.lab-temperature-page-v20 .lab-temperature-equipment-kicker {
	color: var(--lab-yellow);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy h3 {
	font-size: 1.12rem;
	line-height: 1.28;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy ul {
	margin: .35rem 0 0 1.1rem;
	padding: 0;
}

.lab-temperature-page-v20 .lab-temperature-equipment-copy li {
	margin: .25rem 0;
	line-height: 1.45;
}

.lab-temperature-page-v20 .lab-temperature-note {
	margin-top: 1.5rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	line-height: 1.6;
}

.lab-temperature-page-v20 .lab-temperature-nonacc-card {
	margin-top: 1rem;
	padding: 1.3rem 1.4rem;
	border: 1px solid rgba(32,35,38,.12);
	background: #fff;
}

.lab-temperature-page-v20 .lab-temperature-nonacc-card p {
	margin: 0 !important;
	font-weight: 700;
}

.lab-temperature-page-v20 .lab-temperature-related-card {
	min-height: 104px;
	display: flex;
	align-items: center;
	padding: 1.2rem 1.3rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-temperature-page-v20 .lab-temperature-related-card p {
	margin: 0 !important;
}

.lab-temperature-page-v20 .lab-temperature-related-card a {
	color: var(--lab-anthracite);
	font-size: 1.12rem;
	font-weight: 800;
	text-decoration: none;
}

.lab-temperature-page-v20 .lab-temperature-related-card a:hover {
	text-decoration: underline;
}

@media (max-width: 780px) {
	.lab-temperature-page-v20 .lab-temperature-range-row,
	.lab-temperature-page-v20 .lab-temperature-related-columns,
	.lab-temperature-page-v20 .lab-temperature-accreditation-columns,
	.lab-temperature-page-v20 .lab-temperature-equipment-columns {
		flex-direction: column;
	}

	.lab-temperature-page-v20 .lab-temperature-range-card,
	.lab-temperature-page-v20 .lab-temperature-related-card,
	.lab-temperature-page-v20 .lab-temperature-accreditation-card {
		min-height: 0;
	}

	.lab-temperature-page-v20 .lab-temperature-equipment-photo-col,
	.lab-temperature-page-v20 .lab-temperature-equipment-copy-col {
		flex-basis: auto;
	}

	.lab-temperature-page-v20 .lab-temperature-equipment-image img {
		max-width: 220px;
		height: 155px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.10.0 — Pomiar wilgotności v2.0
   Fresh complete page, native Gutenberg columns.
   ========================================================== */

.lab-humidity-page-v20 .lab-humidity-range-row,
.lab-humidity-page-v20 .lab-humidity-type-row,
.lab-humidity-page-v20 .lab-humidity-related-columns,
.lab-humidity-page-v20 .lab-humidity-accreditation-columns,
.lab-humidity-page-v20 .lab-humidity-equipment-columns {
	align-items: stretch;
	gap: 1rem;
}

.lab-humidity-page-v20 .lab-humidity-range-row > .wp-block-column,
.lab-humidity-page-v20 .lab-humidity-type-row > .wp-block-column,
.lab-humidity-page-v20 .lab-humidity-related-columns > .wp-block-column,
.lab-humidity-page-v20 .lab-humidity-accreditation-columns > .wp-block-column {
	display: flex;
	min-width: 0;
}

.lab-humidity-page-v20 .lab-humidity-range-card,
.lab-humidity-page-v20 .lab-humidity-type-card,
.lab-humidity-page-v20 .lab-humidity-related-card,
.lab-humidity-page-v20 .lab-humidity-accreditation-card {
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.lab-humidity-page-v20 .lab-humidity-range-card {
	min-height: 148px;
	padding: 1.3rem 1.4rem;
	border: 1px solid rgba(32,35,38,.12);
	border-left: 3px solid var(--lab-yellow);
	background: #fff;
}

.lab-humidity-page-v20 .lab-humidity-range-card > *,
.lab-humidity-page-v20 .lab-humidity-type-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-humidity-page-v20 .lab-humidity-range-card > * + *,
.lab-humidity-page-v20 .lab-humidity-type-card > * + * {
	margin-block-start: .55rem;
}

.lab-humidity-page-v20 .lab-humidity-range-title {
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.3;
}

.lab-humidity-page-v20 .lab-humidity-range-value {
	color: var(--lab-yellow);
	font-size: 1.38rem;
	font-weight: 800;
	line-height: 1.2;
}

.lab-humidity-page-v20 .lab-humidity-type-row {
	margin-top: 1rem;
}

.lab-humidity-page-v20 .lab-humidity-type-card {
	min-height: 104px;
	display: flex;
	align-items: center;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba(32,35,38,.12);
	border-left: 3px solid var(--lab-yellow);
	background: #fff;
	font-weight: 750;
	line-height: 1.35;
}

.lab-humidity-page-v20 .lab-humidity-accreditation-columns {
	align-items: center;
}

.lab-humidity-page-v20 .lab-humidity-accreditation-card {
	min-height: 220px;
	padding: 1.5rem;
	border: 1px solid rgba(255,255,255,.14);
	border-top: 3px solid var(--lab-yellow);
	background: rgba(255,255,255,.04);
	color: #fff;
}

.lab-humidity-page-v20 .lab-humidity-accreditation-card h3 {
	margin: 0 0 .75rem;
	color: var(--lab-yellow);
	font-size: 2rem;
}

.lab-humidity-page-v20 .lab-humidity-equipment-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.5rem;
}

.lab-humidity-page-v20 .lab-humidity-equipment-card {
	margin: 0 !important;
	padding: 1.25rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-humidity-page-v20 .lab-humidity-equipment-columns {
	margin: 0 !important;
	align-items: center;
}

.lab-humidity-page-v20 .lab-humidity-equipment-photo-col {
	flex-basis: 28%;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy-col {
	flex-basis: 72%;
}

.lab-humidity-page-v20 .lab-humidity-equipment-image {
	margin: 0 !important;
	text-align: center;
}

.lab-humidity-page-v20 .lab-humidity-equipment-image img {
	display: block;
	width: 100%;
	max-width: 210px;
	height: 155px;
	margin: 0 auto;
	object-fit: contain;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy > * + * {
	margin-block-start: .55rem;
}

.lab-humidity-page-v20 .lab-humidity-equipment-kicker {
	color: var(--lab-yellow);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy h3 {
	font-size: 1.13rem;
	line-height: 1.28;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy ul {
	margin: .35rem 0 0 1.1rem;
	padding: 0;
}

.lab-humidity-page-v20 .lab-humidity-equipment-copy li {
	margin: .25rem 0;
	line-height: 1.45;
}

.lab-humidity-page-v20 .lab-humidity-note {
	margin-top: 1.5rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	line-height: 1.6;
}

.lab-humidity-page-v20 .lab-humidity-related-card {
	min-height: 104px;
	display: flex;
	align-items: center;
	padding: 1.2rem 1.3rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-humidity-page-v20 .lab-humidity-related-card p {
	margin: 0 !important;
}

.lab-humidity-page-v20 .lab-humidity-related-card a {
	color: var(--lab-anthracite);
	font-size: 1.12rem;
	font-weight: 800;
	text-decoration: none;
}

.lab-humidity-page-v20 .lab-humidity-related-card a:hover {
	text-decoration: underline;
}

@media (max-width: 780px) {
	.lab-humidity-page-v20 .lab-humidity-range-row,
	.lab-humidity-page-v20 .lab-humidity-type-row,
	.lab-humidity-page-v20 .lab-humidity-related-columns,
	.lab-humidity-page-v20 .lab-humidity-accreditation-columns,
	.lab-humidity-page-v20 .lab-humidity-equipment-columns {
		flex-direction: column;
	}

	.lab-humidity-page-v20 .lab-humidity-range-card,
	.lab-humidity-page-v20 .lab-humidity-type-card,
	.lab-humidity-page-v20 .lab-humidity-related-card,
	.lab-humidity-page-v20 .lab-humidity-accreditation-card {
		min-height: 0;
	}

	.lab-humidity-page-v20 .lab-humidity-equipment-photo-col,
	.lab-humidity-page-v20 .lab-humidity-equipment-copy-col {
		flex-basis: auto;
	}

	.lab-humidity-page-v20 .lab-humidity-equipment-image img {
		max-width: 230px;
		height: 165px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.11 — Electrical measurements page
   ========================================================== */

.lab-electrical-page-v20 .lab-electrical-scope-row,
.lab-electrical-page-v20 .lab-electrical-related-columns,
.lab-electrical-page-v20 .lab-electrical-status-columns,
.lab-electrical-page-v20 .lab-electrical-equipment-columns {
	gap: 1rem;
}

.lab-electrical-page-v20 .lab-electrical-scope-row > .wp-block-column,
.lab-electrical-page-v20 .lab-electrical-related-columns > .wp-block-column {
	display: flex;
}

.lab-electrical-page-v20 .lab-electrical-scope-card,
.lab-electrical-page-v20 .lab-electrical-related-card {
	width: 100%;
	height: 100%;
	min-height: 126px;
	padding: 1.3rem 1.35rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-electrical-page-v20 .lab-electrical-scope-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.lab-electrical-page-v20 .lab-electrical-scope-value {
	margin: 0 0 .5rem !important;
	color: var(--lab-yellow);
	font-size: clamp(1.65rem, 3vw, 2.15rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.025em;
}

.lab-electrical-page-v20 .lab-electrical-scope-title {
	margin: 0 !important;
	font-weight: 750;
	line-height: 1.4;
}

.lab-electrical-page-v20 .lab-electrical-status-columns {
	align-items: stretch;
}

.lab-electrical-page-v20 .lab-electrical-status-card {
	height: 100%;
	padding: 1.45rem 1.5rem;
	border-top: 3px solid var(--lab-yellow);
	border-right: 1px solid rgba(255,255,255,.14);
	border-bottom: 1px solid rgba(255,255,255,.14);
	border-left: 1px solid rgba(255,255,255,.14);
	background: rgba(255,255,255,.035);
}

.lab-electrical-page-v20 .lab-electrical-status-card h3 {
	margin: 0 0 .75rem;
	color: var(--lab-yellow);
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
}

.lab-electrical-page-v20 .lab-electrical-status-card p {
	margin: 0;
	line-height: 1.65;
}

.lab-electrical-page-v20 .lab-electrical-equipment-list {
	display: grid;
	gap: 1rem;
}

.lab-electrical-page-v20 .lab-electrical-equipment-card {
	padding: 1.35rem 1.5rem;
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
}

.lab-electrical-page-v20 .lab-electrical-equipment-columns {
	align-items: center;
}

.lab-electrical-page-v20 .lab-electrical-equipment-photo-col {
	flex-basis: 28%;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy-col {
	flex-basis: 72%;
}

.lab-electrical-page-v20 .lab-electrical-equipment-image {
	margin: 0 !important;
	text-align: center;
}

.lab-electrical-page-v20 .lab-electrical-equipment-image img {
	width: auto;
	max-width: 240px;
	height: 170px;
	object-fit: contain;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy > * + * {
	margin-block-start: .55rem;
}

.lab-electrical-page-v20 .lab-electrical-equipment-kicker {
	color: var(--lab-yellow);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy h3 {
	font-size: 1.13rem;
	line-height: 1.28;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy ul {
	margin: .35rem 0 0 1.1rem;
	padding: 0;
}

.lab-electrical-page-v20 .lab-electrical-equipment-copy li {
	margin: .25rem 0;
	line-height: 1.45;
}

.lab-electrical-page-v20 .lab-electrical-summary-note {
	margin-top: 1.5rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	font-weight: 700;
	line-height: 1.6;
}

.lab-electrical-page-v20 .lab-electrical-related-card {
	display: flex;
	align-items: center;
	min-height: 104px;
}

.lab-electrical-page-v20 .lab-electrical-related-card p {
	margin: 0 !important;
}

.lab-electrical-page-v20 .lab-electrical-related-card a {
	color: var(--lab-anthracite);
	font-size: 1.12rem;
	font-weight: 800;
	text-decoration: none;
}

.lab-electrical-page-v20 .lab-electrical-related-card a:hover {
	text-decoration: underline;
}

@media (max-width: 780px) {
	.lab-electrical-page-v20 .lab-electrical-scope-row,
	.lab-electrical-page-v20 .lab-electrical-related-columns,
	.lab-electrical-page-v20 .lab-electrical-status-columns,
	.lab-electrical-page-v20 .lab-electrical-equipment-columns {
		flex-direction: column;
	}

	.lab-electrical-page-v20 .lab-electrical-scope-card,
	.lab-electrical-page-v20 .lab-electrical-related-card,
	.lab-electrical-page-v20 .lab-electrical-status-card {
		min-height: 0;
	}

	.lab-electrical-page-v20 .lab-electrical-equipment-photo-col,
	.lab-electrical-page-v20 .lab-electrical-equipment-copy-col {
		flex-basis: auto;
	}

	.lab-electrical-page-v20 .lab-electrical-equipment-image img {
		max-width: 230px;
		height: 165px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.12.0 — Akredytacja page
   ========================================================== */

.lab-accreditation-page .lab-page-hero-copy {
	flex-basis: 46%;
}

.lab-accreditation-page .lab-page-hero-media {
	flex-basis: 54%;
}

.lab-accreditation-facts,
.lab-accreditation-benefits,
.lab-accreditation-areas,
.lab-accreditation-scope-compare {
	align-items: stretch;
	gap: 1rem;
}

.lab-accreditation-facts > .wp-block-column,
.lab-accreditation-benefits > .wp-block-column,
.lab-accreditation-areas > .wp-block-column,
.lab-accreditation-scope-compare > .wp-block-column {
	display: flex;
}

.lab-accreditation-fact,
.lab-accreditation-benefit,
.lab-accreditation-area,
.lab-accreditation-scope-card {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	height: 100%;
	padding: 1.35rem;
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-accreditation-fact {
	min-height: 165px;
	justify-content: center;
}

.lab-accreditation-fact-value {
	margin: 0 0 .55rem;
	color: var(--lab-yellow);
	font-size: clamp(1.9rem, 3vw, 2.65rem);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.03em;
}

.lab-accreditation-fact-label {
	margin: 0;
	font-size: .94rem;
	font-weight: 750;
	line-height: 1.4;
}

.lab-accreditation-benefit {
	min-height: 220px;
	border-top: 3px solid var(--lab-yellow);
}

.lab-accreditation-benefit h3,
.lab-accreditation-area h3,
.lab-accreditation-scope-card h3 {
	margin: 0 0 .7rem;
	font-size: 1.08rem;
	line-height: 1.25;
}

.lab-accreditation-benefit p,
.lab-accreditation-area p,
.lab-accreditation-scope-card p {
	margin: 0;
	color: var(--lab-graphite);
	font-size: .9rem;
	line-height: 1.65;
}

.lab-accreditation-area {
	min-height: 210px;
	position: relative;
}

.lab-accreditation-area-label {
	margin: 0 0 .7rem;
	color: var(--lab-yellow);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lab-accreditation-area > p:last-child {
	margin-top: auto;
	padding-top: 1rem;
}

.lab-accreditation-area a {
	font-weight: 800;
	text-decoration: none;
}

.lab-accreditation-area.is-outside {
	background: var(--lab-gray-100);
	border-style: dashed;
}

.lab-accreditation-area.is-outside .lab-accreditation-area-label {
	color: var(--lab-graphite);
}

.lab-accreditation-scope-card {
	min-height: 240px;
}

.lab-accreditation-scope-card.is-accredited {
	border-top: 4px solid var(--lab-yellow);
}

.lab-accreditation-scope-card.is-outside {
	background: var(--lab-gray-100);
}

.lab-accreditation-scope-card ul {
	margin: .8rem 0 0;
	padding-left: 1.15rem;
}

.lab-accreditation-scope-card li {
	margin-bottom: .45rem;
	font-size: .9rem;
	line-height: 1.55;
}

/* v1.12.1 — reset koloru tekstu w jasnych kartach porównania wewnątrz ciemnej sekcji */
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-scope-card,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-scope-card h3,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-scope-card p,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-scope-card ul,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-scope-card li {
	color: var(--lab-graphite) !important;
}

.lab-accreditation-docs {
	padding: 1.6rem 1.7rem;
	border-left: 4px solid var(--lab-yellow);
	background: var(--lab-gray-100);
}

.lab-accreditation-docs h2 {
	margin: 0 0 .55rem;
}

.lab-accreditation-docs p {
	margin: 0;
	max-width: 760px;
}

.lab-accreditation-docs .wp-block-buttons {
	margin-top: 1.15rem;
	gap: .75rem;
}

.lab-accreditation-note {
	margin-top: 1rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
	font-size: .88rem;
	line-height: 1.6;
}

.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-benefit,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-fact {
	border-color: rgba(255,255,255,.14);
	background: rgba(255,255,255,.03);
}

.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-benefit h3,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-benefit p,
.lab-accreditation-page .lab-page-section.is-dark .lab-accreditation-fact-label {
	color: var(--lab-white);
}

@media (max-width: 980px) {
	.lab-accreditation-benefits,
	.lab-accreditation-areas {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.lab-accreditation-facts,
	.lab-accreditation-scope-compare {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.lab-accreditation-benefits > .wp-block-column,
	.lab-accreditation-areas > .wp-block-column,
	.lab-accreditation-facts > .wp-block-column,
	.lab-accreditation-scope-compare > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-accreditation-benefits,
	.lab-accreditation-areas,
	.lab-accreditation-facts,
	.lab-accreditation-scope-compare {
		grid-template-columns: 1fr !important;
	}

	.lab-accreditation-benefit,
	.lab-accreditation-area,
	.lab-accreditation-fact,
	.lab-accreditation-scope-card {
		min-height: 0;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.12.2 — aktywne dokumenty akredytacji
   ========================================================== */
.lab-accreditation-source-links {
	grid-template-columns: repeat(2,minmax(0,1fr));
}

.lab-accreditation-fact-link {
	position: relative;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lab-accreditation-fact-link:hover,
.lab-accreditation-fact-link:focus-within {
	transform: translateY(-2px);
	border-color: var(--lab-yellow);
	box-shadow: 0 10px 24px rgba(32,35,38,.08);
}

.lab-accreditation-fact-link .lab-accreditation-fact-value a {
	color: var(--lab-yellow);
	text-decoration: none;
}

.lab-accreditation-fact-link .lab-accreditation-fact-value a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

.lab-accreditation-fact-action {
	display: inline-block;
	margin-top: .55rem;
	font-weight: 800;
}

@media (max-width: 640px) {
	.lab-accreditation-source-links {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.13.1 — Do pobrania
   ========================================================== */
.lab-downloads-primary-grid,
.lab-downloads-secondary-grid {
	gap: 1.35rem;
	align-items: stretch;
}

.lab-downloads-primary-grid > .wp-block-column,
.lab-downloads-secondary-grid > .wp-block-column {
	display: flex;
}

.lab-download-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 310px;
	padding: clamp(1.6rem,3vw,2.2rem);
	border: 1px solid rgba(32,35,38,.14);
	background: #fff;
	box-sizing: border-box;
}

.lab-download-card.is-primary {
	min-height: 355px;
	border-top: 4px solid var(--lab-yellow);
}

.lab-download-card h3 {
	margin-top: .25rem;
	margin-bottom: .85rem;
	font-size: clamp(1.55rem,2.5vw,2.15rem);
	line-height: 1.08;
}

.lab-download-card p {
	max-width: 62ch;
}

.lab-download-type {
	margin: 0 0 .6rem;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: #202326;
}

.lab-download-card.is-primary .lab-download-type,
.lab-download-card .lab-download-action a {
	color: #202326;
}

.lab-download-meta {
	margin-top: auto !important;
	padding-top: 1.2rem;
	font-size: .9rem;
	font-weight: 800;
	color: rgba(32,35,38,.68);
}

.lab-download-card .wp-block-buttons {
	margin-top: 1rem;
}

.lab-download-card .wp-block-button__link,
.lab-download-feature .wp-block-button__link {
	font-weight: 800;
}

.lab-download-action {
	margin-top: auto !important;
	padding-top: 1.2rem;
	font-weight: 850;
}

.lab-download-action a {
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
	text-decoration-color: var(--lab-yellow);
}

.lab-download-feature {
	padding: clamp(2rem,4vw,3rem);
	border-top: 4px solid var(--lab-yellow);
	background: #fff;
}

.lab-download-feature-columns {
	align-items: center;
	gap: 2rem;
	margin: 0;
}

.lab-download-feature-action {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.lab-download-feature-action .wp-block-buttons {
	justify-content: flex-end;
}

.lab-downloads-note {
	max-width: 900px;
	margin-top: 1.45rem !important;
	padding-left: 1rem;
	border-left: 3px solid var(--lab-yellow);
	font-size: .92rem;
	color: rgba(32,35,38,.72);
}

@media (max-width: 820px) {
	.lab-downloads-primary-grid,
	.lab-downloads-secondary-grid {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.lab-downloads-primary-grid > .wp-block-column,
	.lab-downloads-secondary-grid > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}

	.lab-download-card,
	.lab-download-card.is-primary {
		min-height: 0;
	}

	.lab-download-feature-columns {
		display: block !important;
	}

	.lab-download-feature-action {
		justify-content: flex-start;
		margin-top: 1.35rem;
	}

	.lab-download-feature-action .wp-block-buttons {
		justify-content: flex-start;
	}
}


/* v1.13.1 — dokumenty Do pobrania */
.lab-download-dual-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
}

.lab-download-dual-actions .wp-block-button__link {
	font-size: .78rem;
	letter-spacing: .02em;
}

.lab-download-feature-with-cover {
	align-items: center;
	gap: clamp(2rem,5vw,4rem);
}

.lab-download-feature-cover-col {
	display: flex;
	justify-content: center;
}

.lab-download-feature-cover {
	margin: 0;
	max-width: 330px;
}

.lab-download-feature-cover img {
	display: block;
	width: 100%;
	height: auto;
	background: #fff;
	border: 1px solid rgba(32,35,38,.15);
	box-shadow: 0 18px 45px rgba(32,35,38,.13);
}

.lab-download-feature-copy .lab-download-meta {
	margin-top: 1.35rem !important;
}

.lab-download-feature-buttons {
	margin-top: 1.1rem;
}

@media (max-width: 820px) {
	.lab-download-feature-with-cover {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.lab-download-feature-cover-col,
	.lab-download-feature-copy {
		width: auto !important;
		flex-basis: auto !important;
	}

	.lab-download-feature-cover-col {
		justify-content: flex-start;
	}

	.lab-download-feature-cover {
		max-width: 270px;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.13.2 — spójne żółte przyciski
   ========================================================== */
/* Jeden rozmiar typografii dla wszystkich głównych, żółtych CTA. */
.lab-header
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content,
.wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.wp-site-blocks .wp-block-button:not(.is-style-outline) > .wp-element-button {
	font-size: .95rem !important;
	line-height: 1.2;
}

/* Drugorzędne dokumenty na stronie Do pobrania również jako żółte przyciski. */
.lab-download-action {
	margin-top: auto !important;
	padding-top: 1.2rem;
}

.lab-download-action a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .8rem 1.15rem;
	background: var(--lab-yellow);
	border: 1px solid var(--lab-yellow);
	border-radius: 2px;
	color: var(--lab-anthracite) !important;
	font-size: .95rem !important;
	font-weight: 780;
	line-height: 1.2;
	text-decoration: none;
}

.lab-download-action a:hover,
.lab-download-action a:focus-visible {
	background: var(--lab-anthracite);
	border-color: var(--lab-anthracite);
	color: var(--lab-white) !important;
}

/* ==========================================================
   Laboratorium INTROL v1.13.3 — równe przyciski w HERO „Do pobrania”
   ========================================================== */
.lab-downloads-page .lab-page-hero-actions .wp-block-button {
	min-width: 150px;
}

.lab-downloads-page .lab-page-hero-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	padding: .8rem 1.15rem;
	font-size: .95rem !important;
	font-weight: 780;
	line-height: 1.2;
}

.lab-downloads-page .lab-page-hero-actions .is-style-outline > .wp-block-button__link {
	border-width: 1px;
}

@media (max-width: 640px) {
	.lab-downloads-page .lab-page-hero-actions .wp-block-button {
		min-width: 0;
		width: 100%;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.14.0 — Kontakt + CF7 ID 1903
   ========================================================== */
.lab-contact-access-columns {
	gap: 1.4rem;
	align-items: stretch;
	margin-top: 2rem;
}

.lab-contact-access-columns > .wp-block-column {
	display: flex;
}

.lab-contact-card,
.lab-contact-map-card {
	width: 100%;
	min-height: 100%;
	border: 1px solid rgba(32,35,38,.13);
	background: var(--lab-white);
}

.lab-contact-card {
	display: flex;
	flex-direction: column;
	padding: clamp(1.35rem, 2.6vw, 2rem);
}

.lab-contact-card-kicker {
	margin: 0 0 .55rem;
	color: var(--lab-yellow);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.lab-contact-card h3 {
	margin: 0 0 1.25rem;
	font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.lab-contact-card p {
	margin: 0 0 1rem;
	line-height: 1.65;
}

.lab-contact-card a:not(.wp-block-button__link) {
	color: var(--lab-anthracite);
	font-weight: 750;
}

.lab-contact-delivery-note {
	margin-top: .3rem !important;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(32,35,38,.12);
	color: var(--lab-graphite);
	font-size: .92rem;
}

.lab-contact-card-actions {
	margin-top: auto;
	padding-top: .45rem;
}

.lab-contact-map-card {
	overflow: hidden;
}

.lab-contact-map-frame {
	width: 100%;
	height: 100%;
	min-height: 470px;
	background: var(--lab-gray-200);
}

.lab-contact-map-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 470px;
}

.lab-contact-form-shell {
	max-width: 960px;
	margin: 0 auto;
}

.lab-contact-form {
	margin-top: 2rem;
	padding: clamp(1.25rem, 3vw, 2.2rem);
	border: 1px solid rgba(32,35,38,.13);
	background: var(--lab-gray-100);
}

.lab-contact-form .wpcf7-form {
	margin: 0;
}

.lab-contact-form .wpcf7-form > p {
	margin: 0 0 1.15rem;
	color: var(--lab-graphite);
	font-size: .94rem;
	line-height: 1.62;
}

.lab-contact-form .wpcf7-form label {
	color: var(--lab-anthracite);
	font-weight: 720;
}

.lab-contact-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: .42rem;
}

.lab-contact-form input[type="text"],
.lab-contact-form input[type="email"],
.lab-contact-form input[type="tel"],
.lab-contact-form input[type="url"],
.lab-contact-form input[type="number"],
.lab-contact-form input[type="date"],
.lab-contact-form select,
.lab-contact-form textarea {
	width: 100%;
	max-width: none;
	padding: .86rem .92rem;
	border: 1px solid rgba(32,35,38,.25);
	border-radius: 2px;
	background: var(--lab-white);
	color: var(--lab-anthracite);
	font: inherit;
	line-height: 1.35;
}

.lab-contact-form textarea {
	min-height: 190px;
	resize: vertical;
}

.lab-contact-form input[type="text"]:focus,
.lab-contact-form input[type="email"]:focus,
.lab-contact-form input[type="tel"]:focus,
.lab-contact-form input[type="url"]:focus,
.lab-contact-form input[type="number"]:focus,
.lab-contact-form input[type="date"]:focus,
.lab-contact-form select:focus,
.lab-contact-form textarea:focus {
	border-color: var(--lab-anthracite);
	outline: 3px solid rgba(255,231,16,.6);
	outline-offset: 1px;
}

.lab-contact-form .wpcf7-list-item {
	margin-left: 0;
}

.lab-contact-form .wpcf7-acceptance label,
.lab-contact-form .wpcf7-checkbox label {
	display: grid;
	grid-template-columns: 20px minmax(0,1fr);
	gap: .65rem;
	align-items: start;
	font-weight: 450;
	line-height: 1.55;
}

.lab-contact-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: .15rem 0 0;
	accent-color: var(--lab-yellow);
}

.lab-contact-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .8rem 1.25rem;
	border: 1px solid var(--lab-yellow);
	border-radius: 2px;
	background: var(--lab-yellow);
	color: var(--lab-anthracite);
	font-size: .95rem;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
}

.lab-contact-form input[type="submit"]:hover,
.lab-contact-form input[type="submit"]:focus-visible {
	border-color: var(--lab-anthracite);
	background: var(--lab-anthracite);
	color: var(--lab-white);
}

.lab-contact-form .wpcf7-not-valid-tip {
	margin-top: .35rem;
	font-size: .85rem;
}

.lab-contact-form .wpcf7-response-output {
	margin: 1.4rem 0 0 !important;
	padding: .9rem 1rem !important;
	border-width: 1px !important;
}

.lab-contact-form .wpcf7-spinner {
	vertical-align: middle;
}

@media (max-width: 900px) {
	.lab-contact-access-columns {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.lab-contact-access-columns > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}

	.lab-contact-map-frame,
	.lab-contact-map-frame iframe {
		min-height: 390px;
	}
}

@media (max-width: 640px) {
	.lab-contact-map-frame,
	.lab-contact-map-frame iframe {
		min-height: 330px;
	}

	.lab-contact-form {
		padding: 1rem;
	}

	.lab-contact-card-actions .wp-block-button,
	.lab-contact-card-actions .wp-block-button__link {
		width: 100%;
	}
}


/* ==========================================================
   Laboratorium INTROL v1.14.2 — Kontakt / korekta proporcji
   Działa także na sekcji zapisanej wcześniej w treści strony.
   ========================================================== */
@media (min-width: 901px) {
	.lab-contact-access-columns > .wp-block-column:first-child {
		flex-basis: 66.666% !important;
		width: 66.666% !important;
	}

	.lab-contact-access-columns > .wp-block-column:last-child {
		flex-basis: 33.333% !important;
		width: 33.333% !important;
	}
}

/* ==========================================================
   Laboratorium INTROL v1.15 — Wyceń wzorcowanie
   ========================================================== */
.lab-quote-info-grid,
.lab-quote-send-grid,
.lab-quote-order-grid,
.lab-quote-service-grid {
	align-items: stretch;
}

.lab-quote-info-grid > .wp-block-column,
.lab-quote-send-grid > .wp-block-column,
.lab-quote-service-grid > .wp-block-column {
	display: flex;
}

.lab-quote-info-card,
.lab-quote-send-card,
.lab-quote-service-card {
	width: 100%;
	height: 100%;
}

.lab-quote-info-card {
	min-height: 220px;
	padding: clamp(1.4rem, 2.8vw, 1.8rem);
	border: 1px solid rgba(32,35,38,.12);
	border-top: 3px solid var(--lab-yellow);
	background: var(--lab-white);
}

.lab-quote-info-no {
	margin: 0 0 1.2rem;
	color: var(--lab-yellow);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	font-weight: 800;
	line-height: 1;
}

.lab-quote-info-card h3,
.lab-quote-send-card h3,
.lab-quote-service-card h3,
.lab-quote-address-card h3 {
	margin: 0 0 .75rem;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.15;
}

.lab-quote-info-card p:last-child,
.lab-quote-send-card p,
.lab-quote-address-card p,
.lab-quote-service-card li {
	line-height: 1.65;
}

.lab-quote-send-grid {
	margin-top: clamp(1.8rem, 3vw, 2.4rem) !important;
}

.lab-quote-send-card {
	padding: clamp(1.6rem, 3vw, 2rem);
	border: 1px solid rgba(255,255,255,.14);
	border-top: 3px solid var(--lab-yellow);
	background: rgba(255,255,255,.045);
}

.lab-quote-send-card h3,
.lab-quote-send-card p,
.lab-quote-send-card a:not(.wp-block-button__link) {
	color: var(--lab-white);
}

.lab-quote-send-kicker,
.lab-quote-address-kicker,
.lab-quote-service-status {
	margin: 0 0 .8rem;
	color: var(--lab-yellow);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.lab-quote-email {
	margin: 1.35rem 0;
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	font-weight: 800;
}

.lab-quote-send-card .wp-block-buttons {
	margin-top: 1.35rem;
}

.lab-quote-send-card .wp-block-button__link {
	min-height: 48px;
	padding: .8rem 1.15rem;
	background: var(--lab-yellow);
	color: var(--lab-anthracite);
	font-size: .95rem;
	font-weight: 800;
	text-decoration: none;
}

.lab-quote-order-grid {
	grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr);
	gap: clamp(2rem, 5vw, 5rem) !important;
	align-items: center;
}

.lab-quote-address-card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid rgba(32,35,38,.13);
	border-top: 3px solid var(--lab-yellow);
	background: var(--lab-gray-100);
}

.lab-quote-address-card .wp-block-buttons {
	margin-top: 1.3rem;
}

.lab-quote-service-grid {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: var(--lab-grid-gap) !important;
}

.lab-quote-service-grid > .wp-block-column {
	width: auto !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.lab-quote-service-card {
	position: relative;
	min-height: 300px;
	padding: clamp(1.35rem, 2.6vw, 1.7rem);
	border: 1px solid rgba(32,35,38,.12);
	background: var(--lab-white);
}

.lab-quote-service-status.is-outside {
	color: var(--lab-graphite);
}

.lab-quote-service-card ul {
	margin: .9rem 0 1.3rem;
	padding-left: 1.2rem;
}

.lab-quote-service-link {
	margin-top: auto;
	font-weight: 800;
}

.lab-quote-service-card {
	display: flex;
	flex-direction: column;
}

.lab-quote-service-card .lab-quote-service-link {
	margin-top: auto;
}

@media (max-width: 980px) {
	.lab-quote-info-grid,
	.lab-quote-send-grid,
	.lab-quote-order-grid {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.lab-quote-service-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.lab-quote-info-grid > .wp-block-column,
	.lab-quote-send-grid > .wp-block-column,
	.lab-quote-order-grid > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
}

@media (max-width: 640px) {
	.lab-quote-service-grid {
		grid-template-columns: 1fr;
	}

	.lab-quote-info-card,
	.lab-quote-service-card {
		min-height: 0;
	}

	.lab-quote-send-card .wp-block-button,
	.lab-quote-send-card .wp-block-button__link,
	.lab-quote-address-card .wp-block-button,
	.lab-quote-address-card .wp-block-button__link {
		width: 100%;
	}
}

/* v1.15.1 — Wycena: trzy opcje + formularze */
.lab-quote-page-v11 .lab-quote-choice-grid {
  align-items: stretch;
  gap: 22px;
}
.lab-quote-page-v11 .lab-quote-choice-grid > .wp-block-column { display: flex; }
.lab-quote-page-v11 .lab-quote-choice-card {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(32,35,38,.14);
  background: #fff;
}
.lab-quote-page-v11 .lab-quote-choice-card.is-primary { border-top: 4px solid #ffe710; }
.lab-quote-page-v11 .lab-quote-choice-no {
  margin: 0;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 800;
  color: #ffe710;
}
.lab-quote-page-v11 .lab-quote-choice-card h3 { margin: 0; font-size: 1.45rem; }
.lab-quote-page-v11 .lab-quote-choice-card p:not(.lab-quote-choice-no) { margin: 0; }
.lab-quote-page-v11 .lab-quote-choice-card .wp-block-buttons { margin-top: auto; padding-top: 8px; }
.lab-quote-form-card {
  margin-top: 28px;
  padding: clamp(24px, 4vw, 42px);
  background: #fff;
  border: 1px solid rgba(32,35,38,.14);
}
.lab-quote-form-card .wpcf7 form > p { margin: 0 0 18px; }
.lab-cf7-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px 22px;
  margin-bottom: 20px;
}
.lab-quote-form-card label {
  display: block;
  font-weight: 700;
  font-size: .95rem;
  line-height: 1.35;
}
.lab-quote-form-card input[type="text"],
.lab-quote-form-card input[type="email"],
.lab-quote-form-card input[type="tel"],
.lab-quote-form-card input[type="number"],
.lab-quote-form-card textarea {
  width: 100%;
  margin-top: 8px;
  border: 1px solid rgba(32,35,38,.25);
  background: #fff;
  color: #202326;
  padding: 12px 13px;
  font: inherit;
  border-radius: 0;
}
.lab-quote-form-card textarea { min-height: 120px; resize: vertical; }
.lab-quote-form-card input:focus,
.lab-quote-form-card textarea:focus { outline: 3px solid rgba(255,231,16,.35); border-color: #202326; }
.lab-quote-form-card input[type="submit"] {
  appearance: none;
  border: 0;
  background: #ffe710;
  color: #202326;
  font-weight: 800;
  font-size: .95rem;
  line-height: 1.2;
  padding: 14px 20px;
  cursor: pointer;
}
.lab-quote-form-card .wpcf7-acceptance { display: block; margin: 20px 0; }
.lab-quote-form-card .wpcf7-not-valid-tip { margin-top: 6px; font-size: .86rem; }
.lab-quote-form-card .wpcf7-response-output { margin: 22px 0 0 !important; padding: 14px 16px !important; }
.lab-quote-service-table { margin: 26px 0; border: 1px solid rgba(32,35,38,.16); }
.lab-quote-service-head,
.lab-quote-service-row {
  display: grid;
  grid-template-columns: 2fr 2fr 1.25fr .55fr .9fr;
  gap: 0;
  align-items: stretch;
}
.lab-quote-service-head { background: #202326; color: #fff; font-weight: 800; font-size: .86rem; }
.lab-quote-service-head span,
.lab-quote-service-row > span { padding: 11px 10px; border-right: 1px solid rgba(32,35,38,.12); }
.lab-quote-service-head span { border-right-color: rgba(255,255,255,.12); }
.lab-quote-service-row { border-top: 1px solid rgba(32,35,38,.12); font-size: .85rem; line-height: 1.35; }
.lab-quote-service-row:nth-child(odd) { background: #f7f7f7; }
.lab-quote-service-row.is-selected { background: rgba(255,231,16,.18); }
.lab-quote-service-row input[type="number"] { margin: 0; min-width: 56px; padding: 8px; }
.lab-quote-service-row code { font-size: .78rem; white-space: nowrap; }
.lab-quote-pdf-note { padding: 14px 16px; border-left: 4px solid #ffe710; background: #f6f7f8; }
.lab-quote-download-grid { align-items: center; }
.lab-quote-download .lab-page-copy a { color: #fff; }
@media (max-width: 900px) {
  .lab-quote-page-v11 .lab-quote-choice-grid { flex-wrap: wrap !important; }
  .lab-quote-page-v11 .lab-quote-choice-grid > .wp-block-column { flex-basis: 100% !important; }
  .lab-cf7-grid { grid-template-columns: 1fr; }
  .lab-quote-service-head { display: none; }
  .lab-quote-service-row { grid-template-columns: 1fr; padding: 14px; gap: 4px; }
  .lab-quote-service-row > span { padding: 4px 0; border: 0; }
  .lab-quote-service-row > span:nth-child(2)::before { content: "Charakterystyka: "; font-weight: 700; }
  .lab-quote-service-row > span:nth-child(3)::before { content: "Punkty: "; font-weight: 700; }
  .lab-quote-service-row > span:nth-child(4)::before { content: "Ilość: "; font-weight: 700; }
  .lab-quote-service-row > span:nth-child(5)::before { content: "Kod: "; font-weight: 700; }
}
