/* =========================================================
   ZTM Kielce — Widget "Kontakt"
   Styl stonowany, urzędowy: bez dekoracyjnych akcentów (żółte podkreślenia,
   kolorowe ikony) — navy zarezerwowany dla nagłówków/linków, ikony i tekst
   pomocniczy w neutralnym szarym. Sekcje rozdzielone cienką linią, nie
   samym marginesem, żeby hierarchia była czytelna bez nadmiaru kontrastu.

   Tytuł używa unikalnej klasy (.ztm-kontakt-title), NIE współdzielonej
   .ztm-widget-title — w projekcie ta klasa jest już zdefiniowana globalnie
   z różnymi stylami w dwóch innych plikach (widget-rozklad-jazdy.css i
   widget-informacje.css), co tworzy kolizję specyficzności. Nie naprawiam
   tego tutaj (poza zakresem tego zadania), ale unikam jej pogłębiania.
   ========================================================= */

.ztm-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ztm-widget--kontakt {
	padding: 30px 28px 32px;
}

.ztm-kontakt-title {
	font-size: calc(18px * var(--ztm-font-scale, 1));
	font-weight: 700;
	color: var(--ztm-navy);
	margin: 0;
	line-height: 1.3;
}

/* =========================================================
   DANE ORGANIZACJI
   ========================================================= */

.ztm-kontakt-org {
	margin: 18px 0 0;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ztm-border-grey);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ztm-kontakt-org-name {
	font-size: calc(15px * var(--ztm-font-scale, 1));
	font-weight: 600;
	color: #1c2230;
	margin: 0 0 4px;
}

.ztm-kontakt-line {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: calc(14px * var(--ztm-font-scale, 1));
	line-height: 1.6;
	color: var(--ztm-tabs-text);
	margin: 0;
	font-style: normal; /* resetuje kursywę domyślną na <address> */
}

.ztm-kontakt-line svg {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--ztm-text-muted);
}

.ztm-kontakt-line a {
	color: var(--ztm-navy);
}

.ztm-kontakt-line a:hover {
	text-decoration: underline;
}

.ztm-kontakt-bank-number {
	font-weight: 600;
	color: #1c2230;
	letter-spacing: 0.2px;
}

/* "Kopiuj" jako mały link tekstowy, nie osobna ikona-przycisk — mniej
   elementów wizualnych konkurujących o uwagę na stronie informacyjnej. */
.ztm-kontakt-copy {
	display: inline;
	border: none;
	background: none;
	padding: 0;
	margin-left: 6px;
	font-size: calc(12.5px * var(--ztm-font-scale, 1));
	font-weight: 600;
	color: var(--ztm-navy);
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: rgba(0, 57, 156, 0.35);
}

.ztm-kontakt-copy:hover {
	text-decoration-color: var(--ztm-navy);
}

.ztm-kontakt-copy-feedback {
	margin: 4px 0 0;
	font-size: calc(12.5px * var(--ztm-font-scale, 1));
	color: var(--ztm-text-muted);
	min-height: 16px;
}

/* =========================================================
   TABELA "SPIS KONTAKTÓW"
   ========================================================= */

.ztm-kontakt-subtitle {
	font-size: calc(14px * var(--ztm-font-scale, 1));
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	color: var(--ztm-text-muted);
	margin: 22px 0 12px;
}

.ztm-kontakt-table-wrap {
	margin-bottom: 22px;
}

.ztm-kontakt-table {
	width: 100%;
	border-collapse: collapse;
	font-size: calc(13.5px * var(--ztm-font-scale, 1));
}

.ztm-kontakt-table thead th {
	text-align: left;
	color: var(--ztm-text-muted);
	font-size: calc(11.5px * var(--ztm-font-scale, 1));
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 0 0 8px;
	border-bottom: 1px solid var(--ztm-border-grey);
}

.ztm-kontakt-table tbody td {
	padding: 11px 0;
	border-bottom: 1px solid var(--ztm-border-grey);
	vertical-align: top;
	color: var(--ztm-tabs-text);
}

.ztm-kontakt-table tbody td:first-child {
	padding-right: 14px;
}

.ztm-kontakt-table tbody tr:last-child td {
	border-bottom: none;
}

.ztm-kontakt-row-name {
	display: block;
	font-weight: 600;
	color: #1c2230;
}

.ztm-kontakt-row-note {
	display: block;
	font-size: calc(12px * var(--ztm-font-scale, 1));
	color: var(--ztm-text-muted);
	margin-top: 1px;
}

.ztm-kontakt-row-email {
	display: block;
	font-size: calc(12.5px * var(--ztm-font-scale, 1));
	color: var(--ztm-navy);
	margin-top: 3px;
}

.ztm-kontakt-row-email:hover {
	text-decoration: underline;
}

.ztm-kontakt-table tbody td a {
	color: var(--ztm-navy);
}

.ztm-kontakt-table tbody td a:hover {
	text-decoration: underline;
}

.ztm-kontakt-row-empty {
	color: var(--ztm-border-grey);
}

/* =========================================================
   SEKCJA "ZAŁATW SPRAWĘ" — adresy do doręczeń elektronicznych.
   <dl> (description list): para etykieta/wartość, nie tabela ani CTA —
   to dane do odczytania/skopiowania, nie akcja do wykonania.
   ========================================================= */

.ztm-kontakt-edoreczenia {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ztm-kontakt-edoreczenia-row {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ztm-kontakt-edoreczenia-row dt {
	font-size: calc(12px * var(--ztm-font-scale, 1));
	color: var(--ztm-text-muted);
}

.ztm-kontakt-edoreczenia-row dd {
	margin: 0;
	font-size: calc(13.5px * var(--ztm-font-scale, 1));
	font-weight: 600;
	color: #1c2230;
	font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
	letter-spacing: 0.2px;
}

/* =========================================================
   DOSTĘPNOŚĆ
   ========================================================= */

.ztm-widget--kontakt a:focus-visible,
.ztm-widget--kontakt button:focus-visible {
	outline: 3px solid var(--ztm-blue-light);
	outline-offset: 2px;
	border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.ztm-widget--kontakt * {
		transition-duration: 0.01ms !important;
	}
}

/* =========================================================
   RESPONSYWNOŚĆ — tabela zamienia się w stos "kart" na wąskich ekranach,
   z etykietami z atrybutu data-label (technika bez JS, czysto CSS).
   ========================================================= */

@media (max-width: 560px) {
	.ztm-widget--kontakt {
		padding: 24px 20px 26px;
	}

	.ztm-kontakt-table thead {
		position: absolute;
		left: -9999px; /* chowa nagłówek wizualnie, ale zostaje w DOM dla czytników ekranu */
	}

	.ztm-kontakt-table,
	.ztm-kontakt-table tbody,
	.ztm-kontakt-table tr,
	.ztm-kontakt-table td {
		display: block;
		width: 100%;
	}

	.ztm-kontakt-table tr {
		padding: 10px 0;
		border-bottom: 1px solid var(--ztm-border-grey);
	}

	.ztm-kontakt-table tbody tr:last-child {
		border-bottom: none;
	}

	.ztm-kontakt-table td {
		padding: 3px 0;
		border-bottom: none;
	}

	.ztm-kontakt-table td:first-child {
		padding-bottom: 4px;
	}

	.ztm-kontakt-table td::before {
		content: attr(data-label);
		display: block;
		font-size: calc(10.5px * var(--ztm-font-scale, 1));
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.3px;
		color: var(--ztm-text-muted);
		margin-bottom: 2px;
	}
}