/* Wspólny rytm stron ZGK Tools – zgodny z szerokością strony głównej. */
:root {
	--zgk-page-width: 1760px;
	--zgk-hero-width: 1800px;
	--zgk-page-gutter: 40px;
}

@media (min-width: 901px) {
	/* Wspólna proporcja hero z ilustracją: dokładnie pół na pół. */
	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (min-width: 901px) {
	/* Jeden kontener dla wszystkich głównych modułów. */
	.zgk-about__inner,
	.zgk-scope__inner,
	.zgk-client-zone__inner,
	.zgk-contact__inner,
	.zgk-tariffs__inner,
	.zgk-price-list__inner,
	.zgk-water__section,
	.zgk-meter__layout,
	.zgk-fault__layout,
	.zgk-procurement__stats,
	.zgk-procurement__filters,
	.zgk-procurement__list,
	.zgk-procurement__contact,
	.zgk-communications__urgent,
	.zgk-communications__filters,
	.zgk-communications__grid,
	.zgk-communications__more {
		width: min(var(--zgk-page-width), calc(100% - (var(--zgk-page-gutter) * 2))) !important;
	}

	.zgk-documents__hero-content,
	.zgk-documents__categories,
	.zgk-documents__toolbar,
	.zgk-documents__main,
	.zgk-documents__list,
	.zgk-documents-pagination {
		max-width: var(--zgk-page-width) !important;
	}

	/* Wspólna wysokość głównych hero – ilustracja wypełnia tło bez odcięcia. */
	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero {
		min-height: 430px !important;
	}

	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-meter__hero,
	.zgk-fault__hero {
		padding-inline: max(var(--zgk-page-gutter), calc((100vw - var(--zgk-page-width)) / 2)) !important;
	}

	.zgk-documents__hero-content {
		width: min(var(--zgk-page-width), calc(100% - (var(--zgk-page-gutter) * 2))) !important;
	}

	/* Hero z formularzami i komunikatami również trzymają identyczną linię treści. */
	.zgk-meter__hero,
	.zgk-fault__hero,
	.zgk-documents__hero,
	.zgk-documents-category-header {
		padding-inline: max(var(--zgk-page-gutter), calc((100vw - var(--zgk-page-width)) / 2)) !important;
	}

	/* Hero nie rozlewa się na całą szerokość monitora. Wszystkie moduły
	   korzystają z tej samej, wyśrodkowanej ramy jak pozostała treść strony. */
	.zgk-about__hero,
	.zgk-scope__hero,
	.zgk-client-zone__hero,
	.zgk-contact__hero,
	.zgk-tariffs__hero,
	.zgk-price-list__hero,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero,
	.zgk-meter__hero,
	.zgk-fault__hero {
		width: min(var(--zgk-hero-width), calc(100% - (var(--zgk-page-gutter) * 2))) !important;
		margin-inline: auto !important;
	}

	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero,
	.zgk-meter__hero,
	.zgk-fault__hero {
		padding-inline: var(--zgk-page-gutter) !important;
	}

	/* Hero zawierające ilustrację mają identyczną wysokość. */
	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero,
	.zgk-documents__hero-content {
		height: 430px !important;
		min-height: 430px !important;
	}

	/* Ilustracja nie jest osobnym prostokątem: od lewej miękko wtapia się
	   w dokładnie ten sam gradient, który ma całe hero. */
	.zgk-about__hero,
	.zgk-scope__hero,
	.zgk-client-zone__hero,
	.zgk-contact__hero,
	.zgk-tariffs__hero,
	.zgk-price-list__hero,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero {
		background: linear-gradient(90deg, #fff 0%, #f9fdf9 40%, #f1faf4 56%, #e8f6eb 100%) !important;
	}

	.zgk-about__art,
	.zgk-scope__art,
	.zgk-client-zone__art,
	.zgk-contact__art,
	.zgk-tariffs__hero-art,
	.zgk-price-list__hero-art,
	.zgk-water__hero-art,
	.zgk-communications__illustration,
	.zgk-documents__hero-visual {
		background: transparent !important;
	}

	.zgk-about__art img,
	.zgk-scope__art img,
	.zgk-client-zone__art img,
	.zgk-contact__art img,
	.zgk-tariffs__hero-art img,
	.zgk-price-list__hero-art img,
	.zgk-water__hero-art img,
	.zgk-procurement__hero > img,
	.zgk-communications__illustration img,
	.zgk-documents__hero-illustration {
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .45) 15%, #000 34%, #000 100%);
		mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .45) 15%, #000 34%, #000 100%);
	}
}

@media (max-width: 900px) {
	:root { --zgk-page-gutter: 20px; }
	.zgk-about__inner,
	.zgk-scope__inner,
	.zgk-client-zone__inner,
	.zgk-contact__inner,
	.zgk-tariffs__inner,
	.zgk-price-list__inner,
	.zgk-water__section,
	.zgk-meter__layout,
	.zgk-fault__layout,
	.zgk-procurement__stats,
	.zgk-procurement__filters,
	.zgk-procurement__list,
	.zgk-procurement__contact,
	.zgk-communications__urgent,
	.zgk-communications__filters,
	.zgk-communications__grid,
	.zgk-communications__more,
	.zgk-documents__hero-content {
		width: calc(100% - (var(--zgk-page-gutter) * 2)) !important;
	}
}

/* ================================================================
 * Ujednolicony system hero
 * - wariant główny dla podstron informacyjnych,
 * - wariant kompaktowy dla dwóch formularzy operacyjnych.
 * Reguły typografii nie używają !important, dzięki czemu regulacja
 * rozmiaru tekstu nadal może nadpisać rozmiar stylem bezpośrednim.
 * ================================================================ */
@media (min-width: 901px) {
	/* Wszystkie informacyjne hero korzystają z tej samej ramy. */
	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-company-data__hero-inner,
	.zgk-organization__hero > .zgk-organization__inner,
	.zgk-objects__hero-inner,
	.zgk-fleet__hero-grid,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero-content,
	.zgk-news-archive__hero {
		height:430px !important;
		min-height:430px !important;
		box-sizing:border-box;
	}

	.zgk-company-data__hero-inner,
	.zgk-organization__hero > .zgk-organization__inner,
	.zgk-objects__hero-inner,
	.zgk-fleet__hero-grid,
	.zgk-news-archive__hero {
		width:min(var(--zgk-hero-width),calc(100% - (var(--zgk-page-gutter) * 2))) !important;
		margin-inline:auto !important;
		padding-inline:40px;
	}

	.zgk-company-data__hero-inner,
	.zgk-organization__hero > .zgk-organization__inner,
	.zgk-objects__hero-inner,
	.zgk-fleet__hero-grid,
	.zgk-news-archive__hero {
		grid-template-columns:1fr 1fr !important;
		align-items:center;
	}

	/* Jeden rozmiar i rytm tytułu niezależnie od modułu. */
	.zgk-about__hero h1,
	.zgk-scope__hero h1,
	.zgk-company-data__hero h1,
	.zgk-organization__hero h1,
	.zgk-objects__hero h1,
	.zgk-fleet__hero h1,
	.zgk-client-zone__hero h1,
	.zgk-contact__hero h1,
	.zgk-tariffs__hero h1,
	.zgk-price-list__hero h1,
	.zgk-water__hero h1,
	.zgk-procurement__hero h1,
	.zgk-communications__hero h1,
	.zgk-documents__hero h1,
	.zgk-news-archive__hero h1 {
		margin:14px 0 16px;
		font-size:58px !important;
		font-weight:700 !important;
		line-height:1.06 !important;
		letter-spacing:-1.8px !important;
	}

	.zgk-about__hero p,
	.zgk-scope__hero p,
	.zgk-company-data__hero p,
	.zgk-organization__hero p,
	.zgk-objects__hero p,
	.zgk-fleet__hero-copy > p,
	.zgk-client-zone__intro > p,
	.zgk-contact__hero p,
	.zgk-tariffs__hero p,
	.zgk-price-list__hero p,
	.zgk-water__hero p,
	.zgk-procurement__hero > div > p:last-child,
	.zgk-communications__hero p:last-child,
	.zgk-documents__hero-intro > p,
	.zgk-news-archive__hero p {
		max-width:620px;
		margin-top:0;
		font-size:19px !important;
		font-weight:400 !important;
		line-height:1.55 !important;
	}

	/* Dokumenty otrzymują tę samą grubość i pozycję treści. */
	.zgk-documents__hero-content { padding-inline:40px; }
	.zgk-documents__hero-intro { align-self:center; }
	.zgk-documents__categories,
	.zgk-documents__toolbar,
	.zgk-documents__main,
	.zgk-documents__list,
	.zgk-documents-pagination {
		width:min(var(--zgk-hero-width),calc(100% - (var(--zgk-page-gutter) * 2))) !important;
		max-width:none !important;
		margin-inline:auto !important;
	}
	.zgk-documents__categories { margin-top:0 !important; }

	/* Brakujące hero archiwum aktualności korzysta z tego samego wzorca. */
	.zgk-news-archive__hero {
		display:grid;
		overflow:hidden;
		background:linear-gradient(90deg,#fff 0%,#f9fdf9 40%,#f1faf4 56%,#e8f6eb 100%);
	}
	.zgk-news-archive__hero-copy { align-self:center; }
	.zgk-news-archive__hero img {
		display:block;
		width:100%;
		height:430px;
		object-fit:cover;
		object-position:63% 52%;
		-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 15%,#000 34%,#000 100%);
		mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 15%,#000 34%,#000 100%);
	}

	/* Wspólny kompaktowy wariant formularzy. */
	.zgk-meter__hero,
	.zgk-fault__hero {
		height:300px !important;
		min-height:300px !important;
		margin-bottom:34px;
		padding:28px 40px !important;
		grid-template-columns:minmax(0,1fr) 445px;
		align-items:center;
		gap:48px;
	}
	.zgk-meter__hero { display:grid; }
	.zgk-meter__hero-title { gap:22px; }
	.zgk-meter__hero-icon,
	.zgk-fault h1 span {
		width:96px;
		height:96px;
		flex-basis:96px;
		margin-right:18px;
	}
	.zgk-meter__hero h1,
	.zgk-fault__hero h1 {
		font-size:54px;
		font-weight:700;
		line-height:1.08;
		letter-spacing:-1.6px;
	}
	.zgk-meter__hero h1 + p,
	.zgk-fault__hero > div > p:last-child {
		margin-top:12px;
		font-size:18px;
		font-weight:400;
		line-height:1.5;
	}
	.zgk-fault__hero > div > p:last-child { margin-left:118px; }
	.zgk-meter__hero aside,
	.zgk-fault__emergency {
		width:100%;
		max-width:445px;
		box-sizing:border-box;
	}
}

.zgk-standard-hero-original-meta { display:none !important; }
.zgk-standard-hero-meta { display:block; margin-bottom:0; }
.zgk-standard-hero-breadcrumb {
	display:flex;
	align-items:center;
	gap:14px;
	margin:0 0 26px;
	color:#587496;
	font-size:15px !important;
	font-weight:700;
	line-height:1.3;
}
.zgk-standard-hero-breadcrumb a { color:inherit; text-decoration:none; }
.zgk-standard-hero .zgk-standard-hero-breadcrumb a {
	display:inline !important;
	width:auto !important;
	min-width:0 !important;
	min-height:0 !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	color:inherit !important;
	background:transparent !important;
	box-shadow:none !important;
	text-decoration:none !important;
}
.zgk-standard-hero-breadcrumb > span[aria-hidden="true"] { color:#4bad2d; }
.zgk-standard-hero-label {
	display:inline-flex;
	min-height:42px;
	align-items:center;
	margin-bottom:18px;
	padding:8px 15px;
	border:1px solid #a9d996;
	border-radius:999px;
	color:#3c9624;
	background:rgba(255,255,255,.45);
	font-size:13px !important;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.7px;
}

/* Liczniki w hero dokumentów powielały informacje z kafelków i nie mieściły
   się przy powiększonym tekście. Kategorie zaczynają się bezpośrednio pod hero. */
.zgk-documents__hero-stats { display:none !important; }

@media (min-width:901px) {
	.zgk-standard-hero > :first-child:not(img),
	.zgk-standard-hero-copy,
	.zgk-standard-hero .zgk-about__intro,
	.zgk-standard-hero .zgk-scope__intro,
	.zgk-standard-hero .zgk-company-data__intro,
	.zgk-standard-hero .zgk-organization__intro,
	.zgk-standard-hero .zgk-client-zone__intro,
	.zgk-standard-hero .zgk-contact__intro,
	.zgk-standard-hero .zgk-documents__hero-intro {
		align-self:center;
	}
}

/* Ilustracje hero: pełny kadr i miękkie wtopienie w tło sekcji. */
@media (min-width:901px) {
	.zgk-about__art,
	.zgk-scope__art,
	.zgk-company-data__art,
	.zgk-objects__hero-art,
	.zgk-client-zone__art,
	.zgk-contact__art,
	.zgk-tariffs__hero-art,
	.zgk-price-list__hero-art,
	.zgk-water__hero-art,
	.zgk-communications__illustration,
	.zgk-documents__hero-visual {
		align-self:stretch !important;
		display:flex !important;
		align-items:center !important;
		justify-content:flex-end !important;
		height:360px !important;
		background:transparent !important;
		overflow:visible !important;
	}

	.zgk-about__art img,
	.zgk-scope__art img,
	.zgk-company-data__art img,
	.zgk-objects__hero-art img,
	.zgk-client-zone__art img,
	.zgk-contact__art img,
	.zgk-tariffs__hero-art img,
	.zgk-price-list__hero-art img,
	.zgk-water__hero-art img,
	.zgk-procurement__hero > img,
	.zgk-communications__illustration img,
	.zgk-documents__hero-illustration {
		display:block !important;
		width:100% !important;
		height:100% !important;
		min-height:0 !important;
		max-height:360px !important;
		object-fit:contain !important;
		object-position:right center !important;
		background:transparent !important;
		mix-blend-mode:multiply;
		-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 12%,#000 38%,#000 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
	-webkit-mask-composite:source-in;
	mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 12%,#000 38%,#000 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
	mask-composite:intersect;
	}

	.zgk-fleet__hero-art {
		height:360px !important;
		min-height:0 !important;
		background-color:transparent !important;
		background-position:right center !important;
		background-size:contain !important;
		background-repeat:no-repeat !important;
		-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 12%,#000 38%,#000 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%) !important;
	-webkit-mask-composite:source-in !important;
	mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 12%,#000 38%,#000 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%) !important;
		mask-composite:intersect !important;
	}

	.zgk-about__art,
	.zgk-scope__art,
	.zgk-company-data__art,
	.zgk-objects__hero-art,
	.zgk-fleet__hero-art,
	.zgk-client-zone__art,
	.zgk-contact__art,
	.zgk-tariffs__hero-art,
	.zgk-price-list__hero-art,
	.zgk-water__hero-art,
	.zgk-communications__illustration,
	.zgk-documents__hero-visual {
		position:relative !important;
	}

	.zgk-about__art::after,
	.zgk-scope__art::after,
	.zgk-company-data__art::after,
	.zgk-objects__hero-art::after,
	.zgk-fleet__hero-art::after,
	.zgk-client-zone__art::after,
	.zgk-contact__art::after,
	.zgk-tariffs__hero-art::after,
	.zgk-price-list__hero-art::after,
	.zgk-water__hero-art::after,
	.zgk-communications__illustration::after,
	.zgk-documents__hero-visual::after {
		position:absolute;
		z-index:2;
		inset:0;
		pointer-events:none;
		content:"";
		background:linear-gradient(90deg,#f3faf5 0%,rgba(243,250,245,.94) 9%,rgba(243,250,245,0) 42%),linear-gradient(180deg,rgba(238,248,241,.9) 0%,rgba(238,248,241,0) 9%,rgba(238,248,241,0) 91%,rgba(238,248,241,.9) 100%);
	}
}

@media (max-width:900px) {
	.zgk-standard-hero-breadcrumb { margin-bottom:20px; font-size:14px !important; }
	.zgk-standard-hero-label { min-height:38px; margin-bottom:15px; font-size:12px !important; }
}

@media (max-width:900px) {
	.zgk-news-archive__hero {
		width:calc(100% - 40px);
		margin-inline:auto;
		padding:42px 20px;
		background:linear-gradient(90deg,#fff,#eff9f3);
	}
	.zgk-news-archive__hero img { display:none; }
	.zgk-news-archive__hero h1 { font-size:45px; line-height:1.08; }
	.zgk-news-archive__hero p { font-size:17px; line-height:1.55; }
}

/* Stała wysokość 430 px jest wysokością minimalną, nie limitem. Dzięki temu
   dłuższe hero i powiększony tekst nie wypychają przycisków poza kontener. */
@media (min-width:901px) {
	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-company-data__hero-inner,
	.zgk-organization__hero > .zgk-organization__inner,
	.zgk-objects__hero-inner,
	.zgk-fleet__hero-grid,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero-content,
	.zgk-news-archive__hero {
		height:auto !important;
		min-height:430px !important;
		padding-block:28px !important;
	}

	.zgk-about__hero,
	.zgk-scope__hero,
	.zgk-client-zone__hero,
	.zgk-contact__hero,
	.zgk-tariffs__hero,
	.zgk-price-list__hero,
	.zgk-documents__hero {
		height:auto !important;
		min-height:430px !important;
	}

	.zgk-organization__hero {
		height:auto !important;
		min-height:360px !important;
	}

	.zgk-organization__hero > .zgk-organization__inner {
		min-height:360px !important;
		padding-block:12px !important;
	}

	.zgk-organization__hero h1 {
		margin-block:8px 10px;
		font-size:50px !important;
	}

	.zgk-organization__hero p {
		font-size:17px !important;
		line-height:1.45 !important;
	}
}

/* Struktura organizacyjna miała własne sztywne 430 px i jako jedyna nadal
   obcinała opis oraz ilustrację po powiększeniu tekstu. */
@media (max-width:900px) {
	.zgk-organization__hero {
		height:auto !important;
		min-height:0 !important;
		overflow:hidden;
	}
	.zgk-organization__hero > .zgk-organization__inner {
		height:auto !important;
		min-height:0 !important;
		padding:38px 0 !important;
	}
	.zgk-organization__hero .zgk-organization__art { display:none !important; }
}

/* Blok nagłówka dodany w treści strony Aktualności nie może zachowywać
   desktopowej szerokości na telefonie. */
@media (max-width:600px) {
	body:has(.zgk-news-archive__hero) .wp-block-uagb-advanced-heading {
		width:auto !important;
		max-width:calc(100% - 40px) !important;
		margin-inline:20px !important;
	}
	body:has(.zgk-news-archive__hero) .wp-block-uagb-advanced-heading .uagb-heading-text {
		width:auto !important;
		max-width:100% !important;
	}
}

/* Jedna, kompaktowa wysokość wszystkich głównych hero podstron. */
@media (min-width:901px) {
	.zgk-about__hero,
	.zgk-scope__hero,
	.zgk-company-data__hero,
	.zgk-organization__hero,
	.zgk-objects__hero,
	.zgk-fleet__hero,
	.zgk-client-zone__hero,
	.zgk-contact__hero,
	.zgk-tariffs__hero,
	.zgk-price-list__hero,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero,
	.zgk-news-archive__hero {
		height:360px !important;
		min-height:360px !important;
		max-height:360px !important;
		overflow:hidden;
	}

	.zgk-about__hero > .zgk-about__inner,
	.zgk-scope__hero > .zgk-scope__inner,
	.zgk-company-data__hero-inner,
	.zgk-organization__hero > .zgk-organization__inner,
	.zgk-objects__hero-inner,
	.zgk-fleet__hero-grid,
	.zgk-client-zone__hero-inner,
	.zgk-contact__hero > .zgk-contact__inner,
	.zgk-tariffs__hero > .zgk-tariffs__inner,
	.zgk-price-list__hero > .zgk-price-list__inner,
	.zgk-water__hero,
	.zgk-procurement__hero,
	.zgk-communications__hero,
	.zgk-documents__hero-content,
	.zgk-news-archive__hero {
		height:360px !important;
		min-height:360px !important;
		max-height:360px !important;
		padding-block:20px !important;
	}

	.zgk-about__art img,
	.zgk-scope__art img,
	.zgk-company-data__art img,
	.zgk-organization__art img,
	.zgk-objects__hero-art img,
	.zgk-fleet__hero-art img,
	.zgk-client-zone__art img,
	.zgk-contact__art img,
	.zgk-tariffs__hero-art img,
	.zgk-price-list__hero-art img,
	.zgk-water__hero-art img,
	.zgk-procurement__hero > img,
	.zgk-communications__illustration img,
	.zgk-documents__hero-illustration {
		height:360px !important;
		min-height:0 !important;
		max-height:360px !important;
	}
}
