/* mod_kontakty 1.0.0 */
.mod-kontakty {
	--kt-accent: #1b5e9e;
	--kt-on-accent: #fff;
	--kt-bg: #fff;
	--kt-text: #1d2733;
	--kt-muted: #5a6777;
	--kt-border: #d9e1ea;
	--kt-soft: #edf3f9;
	--kt-shadow: none;
	--kt-radius: 10px;
	--kt-gap: 20px;
	--kt-min: 300px;
	--kt-cols: 3;
	--kt-scale: 1;
	font-size: calc(1rem * var(--kt-scale));
	line-height: 1.5;
	color: var(--kt-text);
}
.mod-kontakty *,
.mod-kontakty *::before,
.mod-kontakty *::after { box-sizing: border-box; }

.mod-kontakty .kt-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.mod-kontakty .kt-ico { width: 1em; height: 1em; flex: none; }

/* Wstęp i narzędzia */
.kt__intro { max-width: 70ch; margin: 0 0 var(--kt-gap); }
.kt__intro > :last-child { margin-bottom: 0; }

.kt__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75em 1.5em;
	margin: 0 0 var(--kt-gap);
}
.kt__filters { display: flex; flex-wrap: wrap; gap: .5em; }
.kt__chip {
	font: inherit;
	font-size: .9em;
	font-weight: 600;
	line-height: 1.2;
	padding: .55em 1.05em;
	border: 1px solid var(--kt-border);
	border-radius: 999px;
	background: var(--kt-bg);
	color: var(--kt-text);
	cursor: pointer;
}
.kt__chip:hover { border-color: var(--kt-accent); }
.kt__chip[aria-pressed="true"] {
	background: var(--kt-accent);
	border-color: var(--kt-accent);
	color: var(--kt-on-accent);
}

.kt__search { position: relative; flex: 1 1 16rem; max-width: 26rem; margin-left: auto; }
.kt__search .kt-ico {
	position: absolute;
	left: .85em; top: 50%;
	transform: translateY(-50%);
	color: var(--kt-muted);
	pointer-events: none;
}
.kt__search input {
	width: 100%;
	margin: 0;
	font: inherit;
	font-size: .95em;
	padding: .6em .9em .6em 2.5em;
	border: 1px solid var(--kt-border);
	border-radius: calc(var(--kt-radius) * .7);
	background: var(--kt-bg);
	color: var(--kt-text);
}
.kt__search input::placeholder { color: var(--kt-muted); opacity: 1; }

.kt__empty {
	margin: 0 0 var(--kt-gap);
	padding: 1.1em 1.25em;
	border: 1px dashed var(--kt-border);
	border-radius: var(--kt-radius);
	color: var(--kt-muted);
}
.kt__empty[hidden] { display: none; }

/* Siatka */
.kt__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--kt-gap);
	grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--kt-min)), calc((100% - (var(--kt-cols) - 1) * var(--kt-gap)) / var(--kt-cols))), 1fr));
}
.kt--masonry .kt__grid {
	display: block;
	column-width: var(--kt-min);
	column-count: var(--kt-cols);
	column-gap: var(--kt-gap);
}

/* Kafel */
.kt-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: var(--kt-bg);
	border-radius: var(--kt-radius);
	box-shadow: var(--kt-shadow);
	overflow: hidden;
}
.kt--masonry .kt-card { break-inside: avoid; margin-bottom: var(--kt-gap); }
.kt-card[hidden] { display: none; }
.kt--bordered .kt-card { border: 1px solid var(--kt-border); }

.kt-card__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .45em;
	padding: 1em 1.15em .95em;
}
.mod-kontakty .kt-card__title {
	margin: 0;
	font-size: 1.08em;
	font-weight: 700;
	line-height: 1.3;
	color: inherit;
	text-wrap: balance;
}
.kt-card__meta { margin: 0; font-size: .88em; color: var(--kt-muted); }
.kt-card__meta > :last-child { margin-bottom: 0; }

/* Style nagłówka */
.kt--head-band .kt-card__head {
	background: var(--kt-soft);
	box-shadow: inset 4px 0 0 var(--kt-accent);
	border-bottom: 1px solid var(--kt-border);
}
.kt--head-line .kt-card { border-top: 4px solid var(--kt-accent); }
.kt--head-line .kt-card__head { padding-bottom: .35em; }
.kt--head-solid .kt-card__head { background: var(--kt-accent); color: var(--kt-on-accent); }
.kt--head-solid .kt-card__meta { color: inherit; opacity: .88; }
.kt--head-solid .kt-badge {
	background: var(--kt-on-accent);
	color: var(--kt-badge, var(--kt-accent));
}
.kt--head-plain .kt-card__head { padding-bottom: .35em; }

/* Etykieta */
.kt-badge {
	display: inline-block;
	font-size: .76em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	padding: .4em .72em;
	border-radius: 999px;
	background: var(--kt-badge, var(--kt-accent));
	color: var(--kt-badge-text, var(--kt-on-accent));
	white-space: nowrap;
}

/* Osoby */
.kt-people {
	list-style: none;
	flex: 1;
	margin: 0;
	padding: .2em 1.15em .55em;
}
.kt-person { margin: 0; padding: .72em 0; border-top: 1px solid var(--kt-border); }
.kt-person:first-child { border-top: 0; }
.kt-person__name { margin: 0 0 .25em; font-weight: 600; line-height: 1.35; }
.kt-person__role { display: block; font-size: .86em; font-weight: 400; color: var(--kt-muted); }
.kt-person__links { display: flex; flex-wrap: wrap; gap: .15em 1.1em; margin: 0; }

.kt-link {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	min-width: 0;
	min-height: 2em;
	font-size: .95em;
	color: var(--kt-accent);
	text-decoration: none;
	overflow-wrap: anywhere;
}
.kt-link a { color: inherit; text-decoration: none; }
a.kt-link:hover,
.kt-link a:hover { text-decoration: underline; text-underline-offset: .18em; }
span.kt-link--tel { color: var(--kt-text); }

.kt--links-buttons .kt-person__links { gap: .4em; padding-top: .15em; }
.kt--links-buttons .kt-link {
	min-height: 2.6em;
	padding: .35em .8em;
	border: 1px solid var(--kt-border);
	border-radius: calc(var(--kt-radius) * .6);
	background: var(--kt-soft);
}
.kt--links-buttons a.kt-link:hover,
.kt--links-buttons .kt-link a:hover { text-decoration: none; }
.kt--links-buttons a.kt-link:hover,
.kt--links-buttons .kt-link:has(a:hover) { border-color: var(--kt-accent); }

/* Zwijanie */
.kt-card__more { display: none; }
.kt--js .kt-card__more {
	display: block;
	width: 100%;
	margin: 0;
	padding: .75em 1.15em;
	font: inherit;
	font-size: .9em;
	font-weight: 600;
	text-align: left;
	color: var(--kt-accent);
	background: transparent;
	border: 0;
	border-top: 1px solid var(--kt-border);
	cursor: pointer;
}
.kt--js .kt-card__more:hover { background: var(--kt-soft); }
.kt--js .kt-card:not(.is-open):not(.is-search) .is-extra { display: none; }
.kt--js .kt-card.is-search .kt-card__more { display: none; }

/* Fokus */
.mod-kontakty a:focus-visible,
.mod-kontakty button:focus-visible,
.mod-kontakty input:focus-visible {
	outline: 2px solid var(--kt-accent);
	outline-offset: 2px;
}
.mod-kontakty input:focus-visible { outline-offset: 0; border-color: var(--kt-accent); }

@media (max-width: 600px) {
	.kt__search { max-width: none; margin-left: 0; flex-basis: 100%; }
}

@media print {
	.kt__tools, .kt__status, .kt__empty, .kt-card__more { display: none !important; }
	.mod-kontakty .is-extra { display: block !important; }
	.kt-card { box-shadow: none; break-inside: avoid; border: 1px solid #999; }
	.kt-link { color: #000; }
}
