/* Karta kontaktu – zmienne do nadpisania w motywie: --tbt-karta-tlo, --tbt-karta-tekst, --tbt-karta-akcent, --tbt-karta-promien */
:where(.tbt-karta) {
	display: flex;
	flex-direction: column;
	gap: .8em;
	margin: 0;
	padding: var(--tbt-karta-padding, 24px);
	font-style: normal;
	border-radius: var(--tbt-karta-promien, 12px);
	background: var(--tbt-karta-tlo, transparent);
	color: var(--tbt-karta-tekst, inherit);
}
:where(.tbt-karta--jasna) {
	--tbt-karta-tlo: #f5f6f7;
	--tbt-karta-tekst: #1d2327;
}
:where(.tbt-karta--ciemna) {
	--tbt-karta-tlo: #16191d;
	--tbt-karta-tekst: #f4f5f6;
}
:where(.tbt-karta--bez) { padding: 0; }
:where(.tbt-karta__tytul) { margin: 0; font-weight: 700; font-size: 1.15em; }
:where(.tbt-karta__nazwa) { margin: 0; font-weight: 600; }
:where(.tbt-karta__wiersz) { display: flex; align-items: flex-start; gap: .65em; line-height: 1.45; }
:where(.tbt-karta__ikona) {
	display: inline-flex; flex-shrink: 0; margin-top: .2em;
	color: var(--tbt-karta-akcent, currentColor);
}
:where(.tbt-karta a) { color: inherit; text-decoration: none; }
:where(.tbt-karta a:hover) { text-decoration: underline; }

/* ------------------------------------------------------------------
 * Układ CTA (.tbt-kk) i status (.tbt-status). Zmienne: --tbt-akcent, --tbt-akcent-hover.
 * ------------------------------------------------------------------ */
:where(.tbt-kk, .tbt-kk *) { box-sizing: border-box; }
:where(.tbt-kk) { display: flex; flex-direction: column; width: 100%; border-radius: 16px; font-style: normal; }
:where(.tbt-kk__gora) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
:where(.tbt-kk__awatary) { display: flex; }
:where(.tbt-kk__awatar) { width: 52px; height: 52px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 2px 6px rgba(26, 26, 24, .12); }
:where(.tbt-kk__awatar + .tbt-kk__awatar) { margin-left: -12px; }
:where(.tbt-kk__etykieta) { margin-top: 18px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tbt-akcent, #bc0000); }
:where(.tbt-kk__tytul) { margin: 18px 0 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
:where(.tbt-kk__etykieta + .tbt-kk__tytul) { margin-top: 4px; }
:where(.tbt-kk__tekst) { margin: 6px 0 0; font-size: 14.5px; line-height: 1.6; }
:where(.tbt-kk__numer) { margin-top: 16px; font-size: 22px; font-weight: 700; line-height: 1.15; }
:where(.tbt-kk__numer a, .tbt-kk__mail a) { color: inherit; text-decoration: none; }
:where(.tbt-kk__numer a:hover) { color: var(--tbt-akcent, #bc0000); }
:where(.tbt-kk__godziny) { margin-top: 4px; font-size: 13px; line-height: 1.5; opacity: .75; }
:where(.tbt-kk__mail) { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(127, 127, 127, .25); font-size: 13.5px; }
:where(.tbt-kk__mail a) { text-decoration: underline; text-underline-offset: 3px; }
:where(.tbt-kk__przycisk) {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin-top: 18px; padding: 10px 18px;
	border-radius: 8px; background: var(--tbt-akcent, #bc0000); color: #fff; font-size: 15px; font-weight: 700; text-align: center; text-decoration: none; transition: background .2s;
}
:where(.tbt-kk__przycisk:hover, .tbt-kk__przycisk:focus-visible) { background: var(--tbt-akcent-hover, #1a1a18); color: #fff; }

:where(.tbt-kk--jasna) { padding: 24px; border: 1px solid #f1e3e1; background: #fff8f7; color: #1a1a1a; }
:where(.tbt-kk--jasna .tbt-kk__tekst) { color: #6b6564; }
:where(.tbt-kk--jasna .tbt-status) { border: 1px solid #eee7e6; background: #fff; color: #1a1a1a; }
:where(.tbt-kk--ciemna) { padding: 28px; border: 1px solid rgba(255, 255, 255, .16); background: #16191d; color: #fff; }
:where(.tbt-kk--ciemna .tbt-kk__tekst) { color: rgba(255, 255, 255, .75); }
:where(.tbt-kk--ciemna .tbt-kk__numer) { font-size: 28px; }
:where(.tbt-kk--bez) { padding: 0; }

:where(.tbt-status) {
	display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px;
	background: rgba(255, 255, 255, .1); font-size: 12.5px; font-weight: 600; line-height: 1.3;
}
:where(.tbt-status__kropka) { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #b9b4b3; }
.tbt-status.is-teraz .tbt-status__kropka { background: #3ddc84; animation: tbt-puls 2s infinite; }
.tbt-status.is-czasem .tbt-status__kropka { background: #ffb547; }
@keyframes tbt-puls { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, .55); } 70% { box-shadow: 0 0 0 8px rgba(61, 220, 132, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0); } }
@media (prefers-reduced-motion: reduce) { .tbt-status.is-teraz .tbt-status__kropka { animation: none; } }
