/* Taksa – kalkulator nadpłaty i taryfa stawek. Kolory zmienisz w zmiennych poniżej. */
.tn-hero, .tn-facts, .tn-check, .tn-tariff, .tn-q, .tn-links, .tn-oath, .tn-law, .tn-facts2, .tn-alert, .tn-end, .tn-ret, .tn-share {
	--tn-serif: Georgia, "Times New Roman", serif;
	--tn-bg: #ecf4f3;
	--tn-surface: #ffffff;
	--tn-ink: #0f2623;
	--tn-muted: #4f6662;
	--tn-line: #d3e3e0;
	--tn-accent: #097c6e;
	--tn-accent-2: #2a9d8f;
	--tn-warn: #a33a2c;
	--tn-warn-soft: #fbeeec;
	--tn-band: #0f2623;
	--tn-on-band: #ecf4f3;
	--tn-siren: #ff6a55;
	--tn-display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-family: var(--tn-body);
	font-size: 16px;
	line-height: 1.6;
	box-sizing: border-box;
}
.tn-hero *, .tn-facts *, .tn-check *, .tn-tariff *, .tn-q *, .tn-links *, .tn-oath *, .tn-law *, .tn-facts2 *, .tn-alert *, .tn-end *, .tn-ret *, .tn-share *, .tn-hero *::before, .tn-check *::before, .tn-tariff *::before { box-sizing: border-box; }
.tn-hero p, .tn-check p, .tn-tariff p, .tn-q p, .tn-links p { margin: 0; }
.tn-oath p, .tn-law p, .tn-facts2 p, .tn-alert p, .tn-end p, .tn-ret__copy p, .tn-share p { margin: 0; }
.tn-alert h2, .tn-end h2, .tn-ret h2, .tn-share h2 { font-family: var(--tn-display); margin: 0; text-transform: none; letter-spacing: -.02em; }
.tn-oath h2, .tn-oath h3, .tn-law h2, .tn-facts2 h2, .tn-facts2 h3 { font-family: var(--tn-display); margin: 0; text-transform: none; letter-spacing: -.01em; }
.tn-q h2, .tn-links h2 { font-family: var(--tn-display); margin: 0; text-transform: none; letter-spacing: -.01em; }
.tn-check h2, .tn-tariff h2 { font-family: var(--tn-display); margin: 0; text-transform: none; letter-spacing: -.01em; }

/* ===== Góra strony (hero) ===== */
.tn-hero {
	background:
		radial-gradient(900px 500px at 85% 40%, rgba(42,157,143,.22), transparent 70%),
		radial-gradient(700px 400px at 0% 100%, rgba(229,72,52,.10), transparent 70%),
		var(--tn-band);
	color: var(--tn-on-band);
	/* odstęp od góry = miejsce na przezroczyste menu motywu (Astra) */
	padding: 168px 20px 88px;
	position: relative;
	overflow: hidden;
}
.tn-hero__in {
	max-width: 1120px; margin: 0 auto;
	display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: center;
}
.tn-eyebrow--light { color: var(--tn-siren) !important; }
.tn-hero .tn-hero__h {
	font-family: var(--tn-display); color: var(--tn-on-band) !important;
	font-size: clamp(32px, 4.4vw, 52px); font-weight: 600; line-height: 1.08; letter-spacing: -.02em;
	margin: 0 0 22px; max-width: 19ch; text-wrap: balance; text-transform: none;
}
.tn-hero__h em { font-style: normal; display: block; color: var(--tn-siren); }
.tn-hero__sub { font-size: 18px; opacity: .85; max-width: 46ch; margin-bottom: 32px !important; }
.tn-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px 14px; }
.tn-hero__ctas .tn-btn--warn { margin-top: 0; }
.tn-btn.tn-btn--lg { padding: 17px 28px; font-size: 15px; }
.tn-btn.tn-btn--ghost, .tn-btn.tn-btn--ghost:visited { background: transparent; color: var(--tn-on-band) !important; box-shadow: inset 0 0 0 1.5px rgba(236,244,243,.55); }
.tn-btn.tn-btn--ghost:hover { background: rgba(236,244,243,.1); }
.tn-hero__art { position: relative; }
.tn-hero__art img {
	display: block; width: 100%; max-width: 100%; height: auto; position: relative; z-index: 1;
	/* logo z przezroczystym tłem: miękki cień wokół samego kształtu */
	filter: drop-shadow(0 26px 40px rgba(0,0,0,.45));
	transform: rotate(-2deg);
}
/* wariant dla grafiki na białym tle – przycięcie do owalu */
.tn-hero__art--clip::after {
	content: ""; position: absolute; inset: 8% 6%; border-radius: 50%;
	box-shadow: 0 30px 80px -10px rgba(0,0,0,.6); z-index: 0; pointer-events: none;
}
.tn-hero__art--clip img { filter: none; clip-path: ellipse(46% 56% at 50% 50%); transform: rotate(-3deg); }

.tn-facts { background: var(--tn-bg); border-bottom: 1px solid var(--tn-line); padding: 0 20px; }
.tn-facts ul {
	max-width: 1120px; margin: 0 auto; padding: 18px 0; list-style: none;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 32px;
}
.tn-facts li { position: relative; padding-left: 26px; font-size: 14px; font-weight: 600; color: var(--tn-ink); line-height: 1.45; margin: 0; }
.tn-facts li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%;
	background: var(--tn-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.6 2.6L9 1.2' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") center/10px 8px no-repeat;
}

/* ===== Kalkulator ===== */
.tn-check {
	background: var(--tn-band);
	color: var(--tn-on-band);
	padding: 64px 20px 72px;
	position: relative;
	overflow: hidden;
}
.tn-check::before {
	content: "§";
	position: absolute; right: -30px; top: -90px;
	font-family: var(--tn-display); font-size: 420px; line-height: 1;
	color: var(--tn-on-band); opacity: .04; pointer-events: none;
}
.tn-check__in {
	max-width: 1120px; margin: 0 auto; position: relative;
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center;
}
.tn-alarm {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--tn-display); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--tn-siren); margin: 0 0 18px !important;
}
.tn-alarm i { width: 9px; height: 9px; border-radius: 50%; background: var(--tn-siren); animation: tn-pulse 1.8s infinite; }
@keyframes tn-pulse { 0% { box-shadow: 0 0 0 0 rgba(229,72,52,.6); } 70% { box-shadow: 0 0 0 12px rgba(229,72,52,0); } 100% { box-shadow: 0 0 0 0 rgba(229,72,52,0); } }
.tn-check__h {
	color: var(--tn-on-band) !important;
	font-size: clamp(30px, 4.6vw, 52px); font-weight: 600; line-height: 1.08;
	max-width: 16ch; margin-bottom: 18px !important; text-wrap: balance;
}
.tn-check__h em { font-style: normal; color: var(--tn-siren); background: linear-gradient(transparent 62%, rgba(229,72,52,.22) 62%); }
.tn-check__sub { opacity: .82; max-width: 48ch; margin-bottom: 28px !important; font-size: 17px; }
.tn-stats { display: flex; flex-wrap: wrap; gap: 14px 36px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 22px; }
.tn-stat b { display: block; font-family: var(--tn-display); font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; color: var(--tn-on-band); }
.tn-stat span { font-size: 13px; opacity: .7; }

.tn-panel { background: var(--tn-surface); color: var(--tn-ink); border-radius: 8px; padding: 28px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.55); margin: 0; }
.tn-panel__h { font-family: var(--tn-display); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tn-muted); margin-bottom: 18px !important; }
.tn-f { display: grid; gap: 6px; margin-bottom: 16px; }
.tn-f label { font-weight: 700; font-size: 14px; color: var(--tn-ink); margin: 0; }
.tn-panel select, .tn-panel input[type="text"], .tn-panel input[type="date"] {
	font: inherit; font-size: 16px; height: 48px; padding: 0 12px; margin: 0;
	border: 1px solid var(--tn-line); border-radius: 6px; background: var(--tn-surface); color: var(--tn-ink); width: 100%; box-shadow: none;
}
.tn-panel select:focus, .tn-panel input:focus { outline: none; border-color: var(--tn-accent); box-shadow: 0 0 0 3px rgba(9,124,110,.2); }
.tn-amt { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.tn-seg { display: inline-flex; border: 1px solid var(--tn-line); border-radius: 6px; overflow: hidden; }
.tn-seg button {
	font: inherit; font-size: 14px; font-weight: 700; line-height: 1; border: 0; border-radius: 0; margin: 0;
	background: transparent; color: var(--tn-muted); padding: 0 14px; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0;
}
.tn-seg button:hover { background: rgba(9,124,110,.08); color: var(--tn-ink); }
.tn-seg button[aria-pressed="true"] { background: var(--tn-accent); color: #fff; }
.tn-seg button:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: -2px; }
.tn-hint { color: var(--tn-muted); font-size: 13px; }

.tn-verdict { margin-top: 8px; border-radius: 6px; padding: 20px; position: relative; min-height: 128px; }
.tn-verdict.is-bad { background: var(--tn-warn-soft); }
.tn-verdict.is-ok { background: #e3f2ef; }
.tn-verdict__k { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tn-warn); }
.tn-verdict.is-ok .tn-verdict__k { color: var(--tn-accent); }
.tn-verdict__big { font-family: var(--tn-display); font-size: 44px; font-weight: 700; line-height: 1.05; font-variant-numeric: tabular-nums; color: var(--tn-warn); margin: 4px 0; }
.tn-verdict.is-ok .tn-verdict__big { font-size: 24px; color: var(--tn-accent); }
.tn-verdict p { font-size: 14px; color: var(--tn-muted); }
.tn-stamp {
	position: absolute; right: 16px; top: 16px;
	font-family: var(--tn-display); font-weight: 700; font-size: 13px; letter-spacing: .16em;
	color: var(--tn-warn); border: 2.5px solid var(--tn-warn); border-radius: 4px; padding: 4px 9px;
	transform: rotate(-8deg); opacity: .9;
}
.tn-stamp[hidden] { display: none !important; }
.tn-stamp.is-drop { animation: tn-stamp .45s cubic-bezier(.2,1.6,.4,1); }
@keyframes tn-stamp { 0% { transform: rotate(-8deg) scale(2.4); opacity: 0; } 100% { transform: rotate(-8deg) scale(1); opacity: .9; } }
.tn-verdict.is-ok .tn-btn--warn { display: none; }

/* Przyciski */
.tn-btn, .tn-btn:visited {
	display: inline-block; background: var(--tn-accent-2); color: #fff !important; text-decoration: none !important;
	font-family: var(--tn-display); font-weight: 600; font-size: 15px; letter-spacing: .04em; text-transform: uppercase;
	padding: 15px 26px; border-radius: 4px; white-space: nowrap; transition: background .15s; border: 0; line-height: 1.2;
}
.tn-btn:hover { background: var(--tn-accent); color: #fff; }
/* przyciski nigdy nie są szersze niż ekran – długi tekst łamie się do kolejnej linii */
.tn-btn { max-width: 100%; }
@media (max-width: 600px) {
	.tn-btn, .tn-btn:visited { white-space: normal; text-align: center; }
	.tn-hero__ctas .tn-btn, .tn-facts2__cta .tn-btn { display: block; width: 100%; }
}
.tn-btn:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 3px; }
.tn-btn--warn { margin-top: 14px; background: var(--tn-warn); }
.tn-btn--warn:hover { background: #862e23; }

/* ===== Taryfa ===== */
.tn-tariff { background: var(--tn-bg); color: var(--tn-ink); padding: 72px 20px 80px; }
.tn-tariff > * { max-width: 1120px; margin-left: auto; margin-right: auto; }
.tn-tariff__head { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 40px; }
.tn-eyebrow { font-family: var(--tn-display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-accent); margin-bottom: 14px !important; }
.tn-tariff__h { color: var(--tn-ink) !important; font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.15; max-width: 20ch; margin-bottom: 16px !important; text-wrap: balance; }
.tn-lead { color: var(--tn-muted); max-width: 62ch; }
.tn-lead strong { color: var(--tn-ink); }
.tn-basis { border-left: 2px solid var(--tn-accent); padding: 4px 0 4px 18px; font-size: 14px; color: var(--tn-muted); }
.tn-basis b { display: block; font-family: var(--tn-display); color: var(--tn-ink); font-weight: 600; font-size: 15px; margin-bottom: 2px; }

.tn-table { background: var(--tn-surface); border: 1px solid var(--tn-line); border-radius: 6px; }
.tn-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px 150px; gap: 24px; align-items: center; padding: 26px 32px; border-top: 1px solid var(--tn-line); }
.tn-row:first-child { border-top: 0; }
.tn-row--th { padding-top: 14px; padding-bottom: 14px; font-family: var(--tn-display); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tn-muted); }
.tn-row--th span:not(:first-child) { text-align: right; }
.tn-name { font-family: var(--tn-display); font-weight: 600; font-size: 19px; line-height: 1.3; color: var(--tn-ink); }
.tn-desc { color: var(--tn-muted); font-size: 14px; margin-top: 4px !important; }
.tn-amount { text-align: right; font-family: var(--tn-display); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tn-v { font-size: 26px; font-weight: 700; letter-spacing: -.01em; }
.tn-u { font-size: 13px; color: var(--tn-muted); margin-left: 4px; font-weight: 500; }
.tn-amount--max .tn-v { color: var(--tn-accent); }
.tn-amount--bad .tn-v { color: var(--tn-warn); text-decoration: line-through; text-decoration-thickness: 2px; font-weight: 600; font-size: 21px; }
.tn-diff { justify-self: end; background: var(--tn-warn-soft); color: var(--tn-warn); border-radius: 4px; padding: 6px 10px; font-family: var(--tn-display); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tn-lbl { display: none; }
.tn-note { font-size: 13px; color: var(--tn-muted); margin-top: 14px !important; padding: 0 2px; }

.tn-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: center; margin-top: 32px; padding: 28px 32px; background: var(--tn-band); color: var(--tn-on-band); border-radius: 6px; }
.tn-foot strong { font-family: var(--tn-display); font-size: 20px; font-weight: 600; display: block; margin-bottom: 4px; color: var(--tn-on-band); }
.tn-foot span { opacity: .8; font-size: 15px; }


/* ===== Pytania do Rady (karuzela) ===== */
.tn-q { background: var(--tn-surface); color: var(--tn-ink); padding: 80px 0 88px; overflow: hidden; }
.tn-q__head {
	max-width: 1120px; margin: 0 auto 36px; padding: 0 20px;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end;
}
.tn-q__h { color: var(--tn-ink) !important; font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.15; max-width: 22ch; margin-bottom: 14px !important; text-wrap: balance; }
.tn-q__nav { display: flex; gap: 8px; }
.tn-q__nav[hidden] { display: none !important; }
.tn-q__btn {
	width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--tn-line); background: var(--tn-surface); color: var(--tn-ink);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; margin: 0; box-shadow: none;
	transition: border-color .15s, background .15s, opacity .15s;
}
.tn-q__btn:hover:not(:disabled) { border-color: var(--tn-accent); color: var(--tn-accent); background: var(--tn-surface); }
.tn-q__btn:disabled { opacity: .35; cursor: default; }
.tn-q__btn:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 2px; }

.tn-q__track {
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	/* lewa krawędź karuzeli wyrównana do treści strony */
	scroll-padding-left: max(20px, calc((100% - 1080px) / 2));
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 60px), transparent);
	        mask-image: linear-gradient(90deg, #000 calc(100% - 60px), transparent);
}
.tn-q__track::-webkit-scrollbar { display: none; }
.tn-q__track:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: -2px; }
.tn-q__list {
	list-style: none; margin: 0; padding: 4px max(20px, calc((100% - 1080px) / 2)) 12px;
	display: grid; grid-auto-flow: column; grid-auto-columns: min(400px, 84vw); gap: 20px;
}
.tn-q__card {
	scroll-snap-align: start; margin: 0;
	display: flex; flex-direction: column; gap: 18px;
	background: var(--tn-bg); border-radius: 8px; padding: 28px 28px 24px; min-height: 280px;
	position: relative;
}
.tn-q__card::after {
	content: "?"; position: absolute; right: 18px; bottom: -28px;
	font-family: var(--tn-display); font-weight: 700; font-size: 160px; line-height: 1;
	color: var(--tn-accent); opacity: .07; pointer-events: none;
}
.tn-q__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tn-q__no { font-family: var(--tn-display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-accent); }
.tn-q__badge { font-size: 12px; font-weight: 700; color: var(--tn-warn); background: var(--tn-warn-soft); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.tn-q__badge--ok { color: var(--tn-accent); background: #d9eeea; }
.tn-q__text { font-family: var(--tn-display); font-size: 20px; font-weight: 500; line-height: 1.4; color: var(--tn-ink); flex: 1; position: relative; z-index: 1; }
.tn-q__answer { font-size: 14px; color: var(--tn-ink); background: var(--tn-surface); border-left: 2px solid var(--tn-accent); padding: 10px 14px; border-radius: 0 4px 4px 0; position: relative; z-index: 1; }
.tn-q__answer b { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tn-accent); margin-bottom: 2px; }
.tn-q__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--tn-muted); border-top: 1px solid var(--tn-line); padding-top: 14px; position: relative; z-index: 1; }
.tn-q__meta:empty { display: none; }
.tn-q__days { color: var(--tn-warn); font-weight: 600; }
.tn-q__days b { font-family: var(--tn-display); font-variant-numeric: tabular-nums; }

/* ===== Chcesz wiedzieć więcej? ===== */
.tn-links { background: var(--tn-band); color: var(--tn-on-band); padding: 80px 20px 88px; }
.tn-links__in { max-width: 1120px; margin: 0 auto; }
.tn-links__head { margin-bottom: 36px; }
.tn-links__h { color: var(--tn-on-band) !important; font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.15; max-width: 22ch; text-wrap: balance; }
.tn-links__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	border-top: 1px solid rgba(236,244,243,.14);
}
.tn-links__grid li { margin: 0; border-bottom: 1px solid rgba(236,244,243,.14); }
.tn-link, .tn-link:visited {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center;
	padding: 22px 18px 22px 4px; color: var(--tn-on-band); text-decoration: none !important; height: 100%;
	transition: background .15s, padding .2s;
}
a.tn-link:hover { background: rgba(236,244,243,.05); padding-left: 12px; }
a.tn-link:focus-visible { outline: 2px solid var(--tn-siren); outline-offset: -2px; }
.tn-link__ico {
	width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(42,157,143,.18); color: #7fd3c7;
}
.tn-link__t { display: block; font-family: var(--tn-display); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--tn-on-band); }
.tn-link__d { display: block; font-size: 14px; opacity: .65; margin-top: 2px; }
.tn-link__arrow { font-size: 20px; color: var(--tn-siren); transition: transform .2s; }
a.tn-link:hover .tn-link__arrow { transform: translateX(4px); }
.tn-link.is-soon { opacity: .55; }
.tn-link__soon { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border: 1px solid rgba(236,244,243,.3); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
@media (min-width: 700px) {
	.tn-links__grid { column-gap: 40px; }
}
@media (max-width: 700px) {
	.tn-q__head { grid-template-columns: 1fr; }
	.tn-q__card { padding: 22px 20px 20px; min-height: 240px; }
	.tn-q__text { font-size: 18px; }
}

/* ===== Nasze zasady zawodowe (rota) ===== */
.tn-oath { background: var(--tn-surface); color: var(--tn-ink); padding: 88px 20px; }
.tn-oath__in { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.tn-oath__doc {
	position: relative; overflow: hidden;
	background: var(--tn-bg); border-radius: 6px; padding: 44px 40px 36px;
	box-shadow: inset 0 0 0 1px var(--tn-line), inset 0 0 0 6px var(--tn-bg), inset 0 0 0 7px var(--tn-line);
}
.tn-seal { position: absolute; right: -46px; bottom: -46px; width: 240px; height: 240px; color: var(--tn-accent); opacity: .09; pointer-events: none; transform: rotate(-12deg); }
.tn-oath__h { font-size: clamp(26px, 3.2vw, 34px) !important; font-weight: 600; line-height: 1.2; color: var(--tn-ink) !important; margin-bottom: 22px !important; position: relative; }
.tn-oath__rota { margin: 0; padding: 0; border: 0; position: relative; }
.tn-oath__rota p { font-family: var(--tn-serif); font-style: italic; font-size: clamp(19px, 2vw, 22px); line-height: 1.55; color: var(--tn-ink); }
.tn-oath__rota mark { background: linear-gradient(transparent 60%, rgba(42,157,143,.28) 60%); color: inherit; padding: 0 1px; font-style: italic; }
.tn-oath__src { margin-top: 18px !important; font-size: 13px; color: var(--tn-muted); letter-spacing: .02em; position: relative; }
.tn-oath__src::before { content: ""; display: inline-block; width: 28px; height: 1px; background: var(--tn-muted); vertical-align: middle; margin-right: 10px; }
.tn-oath__img { display: block; max-width: 100%; height: auto; margin-top: 24px; border-radius: 4px; box-shadow: 0 10px 30px -12px rgba(15,38,35,.35); position: relative; }
.tn-oath__pts { list-style: none; margin: 0; padding: 0; counter-reset: tnpt; display: grid; gap: 0; }
.tn-oath__pts li { counter-increment: tnpt; position: relative; padding: 26px 0 26px 64px; border-top: 1px solid var(--tn-line); margin: 0; }
.tn-oath__pts li:first-child { border-top: 0; padding-top: 4px; }
.tn-oath__pts li::before {
	content: counter(tnpt, upper-roman); position: absolute; left: 0; top: 24px;
	font-family: var(--tn-serif); font-size: 28px; line-height: 1; color: var(--tn-warn); opacity: .85;
}
.tn-oath__pts li:first-child::before { top: 2px; }
.tn-oath__pt-h { font-size: 20px !important; font-weight: 600; line-height: 1.3; color: var(--tn-ink) !important; margin-bottom: 8px !important; }
.tn-oath__pt-t { color: var(--tn-muted); font-size: 16px; }
.tn-oath__pt-t p + p { margin-top: 10px; }
.tn-oath__pt-t strong { color: var(--tn-warn); }

/* ===== § 11 ust. 1 – cytat z rozporządzenia ===== */
.tn-law { background: var(--tn-bg); color: var(--tn-ink); padding: 88px 20px; overflow: hidden; }
.tn-law__in { max-width: 920px; margin: 0 auto; position: relative; }
.tn-law__wm {
	position: absolute; left: -120px; top: -150px; z-index: 0; pointer-events: none;
	font-family: var(--tn-serif); font-size: 520px; line-height: 1; color: var(--tn-accent); opacity: .06;
}
.tn-law .tn-eyebrow { position: relative; }
.tn-law__sheet {
	position: relative; z-index: 1; margin: 0;
	background: var(--tn-surface); border-radius: 6px; padding: 40px 44px 32px;
	box-shadow: 0 24px 50px -28px rgba(15,38,35,.35);
	display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 32px;
}
.tn-law__label { grid-row: span 2; font-family: var(--tn-serif); color: var(--tn-accent); border-right: 1px solid var(--tn-line); padding-right: 24px; }
.tn-law__para { display: block; font-size: 44px; line-height: 1; white-space: nowrap; }
.tn-law__sub { display: block; margin-top: 8px; font-size: 18px; font-style: italic; color: var(--tn-muted); }
.tn-law__q { margin: 0; padding: 0; border: 0; }
.tn-law__q p { font-family: var(--tn-serif); font-size: clamp(18px, 1.9vw, 21px); line-height: 1.6; color: var(--tn-ink); }
.tn-law__src { font-size: 13px; color: var(--tn-muted); margin-top: 12px; }
.tn-law__qa { position: relative; z-index: 1; margin-top: 28px; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 32px; padding: 0 44px; }
.tn-law__qq { grid-column: 2; font-family: var(--tn-display); font-weight: 600; font-size: 20px; color: var(--tn-ink); }
.tn-law__aa { grid-column: 2; font-family: var(--tn-display); font-weight: 700; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.3; color: var(--tn-warn); }

/* ===== Siatka kart ===== */
.tn-facts2 { background: var(--tn-surface); color: var(--tn-ink); padding: 88px 20px; }
.tn-facts2__in { max-width: 1120px; margin: 0 auto; }
.tn-facts2__head { margin-bottom: 36px; }
.tn-facts2__h { font-size: clamp(28px, 4vw, 42px) !important; font-weight: 600; line-height: 1.15; color: var(--tn-ink) !important; max-width: 22ch; text-wrap: balance; }
.tn-facts2__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tn-card2 { position: relative; background: var(--tn-bg); border-radius: 8px; padding: 32px 32px 28px; overflow: hidden; }
.tn-card2__ico {
	display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px;
	background: var(--tn-surface); color: var(--tn-accent); box-shadow: 0 0 0 1px var(--tn-line); margin-bottom: 18px;
}
.tn-card2 .tn-card2__ico svg { width: 24px; height: 24px; }
/* znak wodny: powiększona ikona karty */
.tn-card2::after { content: ""; position: absolute; right: -30px; top: -30px; width: 160px; height: 160px; border-radius: 50%; border: 1px solid var(--tn-line); opacity: .9; pointer-events: none; }
.tn-card2__h { font-size: 21px !important; font-weight: 600; line-height: 1.3; color: var(--tn-ink) !important; margin-bottom: 12px !important; position: relative; z-index: 1; }
.tn-card2__stats { margin: 4px 0 16px; padding: 14px 0; border-top: 1px solid var(--tn-line); border-bottom: 1px solid var(--tn-line); display: grid; gap: 10px; }
.tn-card2__stats div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.tn-card2__stats dt { font-family: var(--tn-display); font-weight: 700; font-size: clamp(26px, 3vw, 34px); line-height: 1.05; color: var(--tn-warn); font-variant-numeric: tabular-nums; }
.tn-card2__stats dd { margin: 0; font-size: 14px; color: var(--tn-muted); }
.tn-card2__t { color: var(--tn-muted); font-size: 15.5px; position: relative; z-index: 1; }
.tn-card2__t p + p { margin-top: 12px; }
.tn-card2__t strong { color: var(--tn-ink); }
.tn-card2:nth-child(2) .tn-card2__ico { color: var(--tn-warn); }
.tn-facts2__cta { margin-top: 32px !important; text-align: center; }
.tn-facts2__cta .tn-btn--warn { margin-top: 0; }

/* ===== „Zostałeś oszukany?” – baner ===== */
.tn-alert { background: var(--tn-warn-soft); color: var(--tn-ink); padding: 96px 20px; text-align: center; position: relative; overflow: hidden;
	background-image: repeating-linear-gradient(-45deg, rgba(163,58,44,.035) 0 2px, transparent 2px 14px); }
.tn-alert__in { max-width: 860px; margin: 0 auto; position: relative; }
.tn-alert__stamp {
	display: inline-block; margin-bottom: 26px; transform: rotate(-4deg);
	font-family: var(--tn-display); font-weight: 700; font-size: 13px; letter-spacing: .28em; color: var(--tn-warn);
	border: 2.5px solid var(--tn-warn); border-radius: 4px; padding: 6px 14px 6px 18px; opacity: .85;
}
.tn-alert__h { line-height: 1.02; }
.tn-alert__l1 { display: block; font-size: clamp(40px, 7.5vw, 84px); font-weight: 700; color: var(--tn-ink); }
.tn-alert__l2 { display: block; margin-top: 6px; font-size: clamp(30px, 5.4vw, 60px); font-weight: 600; color: var(--tn-warn); }
.tn-alert__sub { max-width: 52ch; margin: 24px auto 0 !important; font-size: 18px; color: var(--tn-muted); }
.tn-alert__cta { margin-top: 32px !important; }
.tn-alert__cta .tn-btn { margin-top: 0; font-size: 16px; padding: 19px 34px; box-shadow: 0 14px 30px -14px rgba(163,58,44,.6); }

/* ===== „Koniec bezkarności” ===== */
.tn-end { background: var(--tn-band); color: var(--tn-on-band); padding: 96px 20px; position: relative; overflow: hidden; }
.tn-end::before { content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(700px 380px at 100% 0%, rgba(229,72,52,.16), transparent 70%), radial-gradient(600px 400px at 0% 100%, rgba(42,157,143,.16), transparent 70%); }
.tn-end__in { max-width: 1120px; margin: 0 auto; position: relative; }
.tn-end__h { color: var(--tn-on-band) !important; font-size: clamp(36px, 6.4vw, 76px); font-weight: 700; line-height: 1.03; max-width: 15ch; text-wrap: balance; }
.tn-strike { text-decoration: none; position: relative; white-space: nowrap; color: var(--tn-on-band); }
.tn-strike::after {
	content: ""; position: absolute; left: -2%; right: -2%; top: 56%; height: .09em; min-height: 4px; background: var(--tn-siren);
	transform: rotate(-1.5deg); transform-origin: left center; border-radius: 3px; animation: tn-strike .9s .3s cubic-bezier(.6,0,.2,1) both;
}
@keyframes tn-strike { from { transform: rotate(-1.5deg) scaleX(0); } to { transform: rotate(-1.5deg) scaleX(1); } }
.tn-end__sub { max-width: 54ch; margin-top: 24px !important; font-size: 18px; opacity: .82; }
.tn-end__row { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; }
.tn-end__ctas { display: flex; flex-wrap: wrap; gap: 12px 14px; }
.tn-end__ctas .tn-btn--warn { margin-top: 0; }
.tn-end__count { display: flex; align-items: baseline; gap: 12px; border-left: 2px solid var(--tn-siren); padding-left: 16px; }
.tn-end__count b { font-family: var(--tn-display); font-size: 44px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--tn-on-band); }
.tn-end__count span { font-size: 14px; opacity: .75; max-width: 18ch; line-height: 1.35; }

/* ===== Tekst obok formularza ===== */
.tn-ret { background: var(--tn-bg); color: var(--tn-ink); padding: 88px 20px; }
.tn-ret__in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.tn-ret__copy { position: sticky; top: 32px; }
.tn-ret__h { color: var(--tn-ink) !important; font-size: clamp(28px, 3.6vw, 40px); font-weight: 600; line-height: 1.12; margin-bottom: 18px !important; text-wrap: balance; }
.tn-ret__lead { color: var(--tn-muted); font-size: 16px; }
.tn-ret__lead p + p { margin-top: 12px !important; }
.tn-ret__sh { margin-top: 32px !important; margin-bottom: 14px !important; font-family: var(--tn-display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-muted); }
.tn-steps { list-style: none; margin: 0; padding: 0; counter-reset: tnst; }
.tn-steps li { counter-increment: tnst; position: relative; padding: 0 0 22px 52px; margin: 0; }
.tn-steps li::before {
	content: counter(tnst); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-family: var(--tn-display); font-weight: 700; font-size: 15px;
	background: var(--tn-surface); color: var(--tn-accent); box-shadow: 0 0 0 1.5px var(--tn-accent);
}
.tn-steps li:not(:last-child)::after { content: ""; position: absolute; left: 16.5px; top: 40px; bottom: 6px; width: 1.5px; background: var(--tn-line); }
.tn-steps b { display: block; font-family: var(--tn-display); font-weight: 600; font-size: 17px; line-height: 1.3; padding-top: 5px; }
.tn-steps span { display: block; margin-top: 4px; font-size: 14.5px; color: var(--tn-muted); }
.tn-ret__share { margin-top: 10px !important; }
.tn-ret__share a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--tn-accent); text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.tn-ret__share a:hover { color: var(--tn-warn); }
.tn-ret__form .zn-wrap { max-width: none; margin: 0; }

/* ===== Poleć znajomemu ===== */
.tn-share { background: var(--tn-surface); color: var(--tn-ink); padding: 88px 20px; }
.tn-share__in { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.tn-share__h { color: var(--tn-ink) !important; font-size: clamp(28px, 3.8vw, 42px); font-weight: 600; line-height: 1.12; margin-bottom: 14px !important; text-wrap: balance; }
.tn-share__box { background: var(--tn-bg); border-radius: 10px; padding: 28px; position: relative; overflow: hidden; }
.tn-share__box::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; border: 28px solid rgba(42,157,143,.07); pointer-events: none; }
.tn-share__lbl { display: block; font-size: 13px; font-weight: 700; color: var(--tn-muted); margin-bottom: 8px; }
.tn-share__field { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--tn-line); border-radius: 8px; overflow: hidden; background: var(--tn-surface); position: relative; z-index: 1; }
.tn-share__field input { border: 0; margin: 0; padding: 0 14px; height: 50px; font: inherit; font-size: 15px; color: var(--tn-ink); background: transparent; min-width: 0; box-shadow: none; }
.tn-share__copy-btn { border: 0; margin: 0; padding: 0 18px; font: inherit; font-weight: 700; font-size: 14px; background: var(--tn-accent); color: #fff; cursor: pointer; border-radius: 0; text-transform: none; letter-spacing: 0; }
.tn-share__copy-btn.is-done { background: var(--tn-ink); }
.tn-share__copy-btn:focus-visible { outline: 2px solid var(--tn-ink); outline-offset: -4px; }
.tn-share__native { margin-top: 14px; width: 100%; text-align: center; position: relative; z-index: 1; }
.tn-share__native[hidden] { display: none !important; }
.tn-share__nets { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1; }
.tn-share__nets li { margin: 0; }
.tn-net, .tn-net:visited {
	display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px;
	background: var(--tn-surface); color: var(--tn-ink); text-decoration: none !important; font-weight: 700; font-size: 14px;
	box-shadow: inset 0 0 0 1px var(--tn-line); transition: box-shadow .15s, color .15s;
}
.tn-net::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--tn-accent-2); }
.tn-net--email::before { background: var(--tn-warn); }
.tn-net:hover { box-shadow: inset 0 0 0 1.5px var(--tn-accent); color: var(--tn-accent); }
.tn-net:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 2px; }

@media (max-width: 920px) {
	.tn-oath__in { grid-template-columns: 1fr; gap: 40px; }
	.tn-facts2__grid { grid-template-columns: 1fr; }
	.tn-hero { padding: 120px 20px 64px; }
	.tn-hero__in { grid-template-columns: 1fr; gap: 28px; }
	.tn-hero__art { order: -1; max-width: 420px; margin: 0 auto; }
	.tn-facts ul { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 820px) {
	.tn-check__in { grid-template-columns: 1fr; gap: 32px; }
	.tn-panel { padding: 22px 18px; }
	.tn-verdict__big { font-size: 36px; }
	.tn-tariff__head { grid-template-columns: 1fr; gap: 20px; }
	.tn-row--th { display: none; }
	.tn-row { grid-template-columns: 1fr 1fr; gap: 14px 16px; padding: 22px 20px; }
	.tn-row > div:first-child { grid-column: 1 / -1; }
	.tn-amount { text-align: left; }
	.tn-lbl { display: block; font-family: var(--tn-display); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tn-muted); margin-bottom: 2px; }
	.tn-diff { grid-column: 1 / -1; justify-self: start; }
	.tn-foot { grid-template-columns: 1fr; padding: 24px 20px; }
}
@media (max-width: 400px) {
	.tn-tariff { padding-left: 14px; padding-right: 14px; }
	.tn-row { padding: 20px 16px; gap: 12px; }
	.tn-amount { white-space: normal; }
	.tn-v { white-space: nowrap; }
	.tn-lbl { letter-spacing: .06em; }
	.tn-check, .tn-hero, .tn-links, .tn-oath, .tn-law, .tn-facts2 { padding-left: 14px; padding-right: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.tn-alarm i, .tn-stamp.is-drop { animation: none; }
}

/* Telefony – reguły na końcu pliku, żeby wygrały z regułami podstawowymi */
@media (max-width: 700px) {
	.tn-oath { padding: 64px 16px; }
	.tn-oath__doc { padding: 32px 22px 28px; }
	.tn-law { padding: 64px 16px; }
	.tn-law__sheet { grid-template-columns: 1fr; padding: 28px 22px 24px; }
	.tn-law__label { grid-row: auto; border-right: 0; padding-right: 0; display: flex; align-items: baseline; gap: 12px; }
	.tn-law__para { font-size: 34px; }
	.tn-law__sub { margin-top: 0; }
	.tn-law__qa { grid-template-columns: 1fr; padding: 0 4px; }
	.tn-law__qq, .tn-law__aa { grid-column: 1; }
	.tn-law__wm { font-size: 340px; left: -60px; top: -80px; }
	.tn-facts2 { padding: 64px 16px; }
	.tn-card2 { padding: 26px 22px 22px; }
}

/* Telefony i tablety – nowe sekcje (na końcu pliku, by wygrały) */
@media (max-width: 920px) {
	.tn-ret__in { grid-template-columns: 1fr; gap: 36px; }
	.tn-ret__copy { position: static; }
	.tn-share__in { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 700px) {
	.tn-alert { padding: 72px 16px; }
	.tn-end { padding: 72px 16px; }
	.tn-end__row { flex-direction: column; align-items: stretch; }
	.tn-end__ctas .tn-btn { display: block; width: 100%; }
	.tn-ret { padding: 64px 16px; }
	.tn-share { padding: 64px 16px; }
	.tn-share__box { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.tn-strike::after { animation: none; }
}

/* ===== Pełna szerokość ekranu =====
   Sekcje rozciągają się od krawędzi do krawędzi, nawet gdy kontener Elementora
   jest „pudełkowy” (boxed) albo ma wewnętrzne odstępy. */
.tn-hero, .tn-facts, .tn-check, .tn-tariff, .tn-q, .tn-links, .tn-oath, .tn-law,
.tn-facts2, .tn-alert, .tn-end, .tn-ret, .tn-share {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: auto !important;
	max-width: none !important;
}
/* 100vw obejmuje pasek przewijania – przycinamy ten nadmiar, by nie było poziomego przewijania */
html:has(.tn-hero, .tn-check, .tn-tariff, .tn-q, .tn-links, .tn-oath, .tn-law, .tn-facts2, .tn-alert, .tn-end, .tn-ret, .tn-share),
body:has(.tn-hero, .tn-check, .tn-tariff, .tn-q, .tn-links, .tn-oath, .tn-law, .tn-facts2, .tn-alert, .tn-end, .tn-ret, .tn-share) {
	overflow-x: clip;
}

/* ===== Wyrównanie do kolumny treści (odporne na style motywu) ===== */
.tn-tariff > .tn-note,
.tn-tariff > .tn-tariff__head,
.tn-tariff > .tn-table,
.tn-tariff > .tn-foot { max-width: 1120px; margin-left: auto !important; margin-right: auto !important; }
.tn-tariff > .tn-note { padding: 0 2px; }
/* karuzela pytań: pierwsza karta zaczyna się równo z nagłówkiem sekcji */
.tn-q .tn-q__list {
	margin: 0 !important;
	padding: 4px max(20px, calc((100vw - 1080px) / 2)) 12px !important;
	list-style: none !important;
}
.tn-q .tn-q__track { scroll-padding-left: max(20px, calc((100vw - 1080px) / 2)); }

/* =====================================================================
   PODSTRONY – szablon „Taksa – podstrona” i [taksa_naglowek]
   ===================================================================== */
.tn-sub, .tn-page {
	--tn-bg: #ecf4f3; --tn-surface: #ffffff; --tn-ink: #0f2623; --tn-muted: #4f6662; --tn-line: #d3e3e0;
	--tn-accent: #097c6e; --tn-accent-2: #2a9d8f; --tn-warn: #a33a2c; --tn-warn-soft: #fbeeec;
	--tn-band: #0f2623; --tn-on-band: #ecf4f3; --tn-siren: #ff6a55;
	--tn-display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-serif: Georgia, "Times New Roman", serif;
	font-family: var(--tn-body); box-sizing: border-box;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: auto !important; max-width: none !important;
}
.tn-sub *, .tn-page * { box-sizing: border-box; }
html:has(.tn-sub, .tn-page), body:has(.tn-sub, .tn-page) { overflow-x: clip; }

/* Kontener motywu Astra na podstronie: bez kolumn i odstępów, sekcje układają się jedna pod drugą */
body.tn-subpage .site-content > .ast-container { display: block; max-width: none; padding-left: 0; padding-right: 0; }
body.tn-subpage .site-content { padding-top: 0 !important; }

/* Ciemny nagłówek podstrony */
.tn-sub {
	position: relative; overflow: hidden; color: var(--tn-on-band);
	background:
		radial-gradient(800px 420px at 90% 10%, rgba(42,157,143,.22), transparent 70%),
		radial-gradient(600px 360px at 0% 100%, rgba(229,72,52,.10), transparent 70%),
		var(--tn-band);
	padding: 160px 20px 72px; /* miejsce na przezroczyste menu */
}
body:not(.ast-theme-transparent-header) .tn-sub { padding-top: 72px; }
.tn-sub__in { max-width: 760px; margin: 0 auto; position: relative; z-index: 1; }
.tn-sub__wm {
	position: absolute; right: -40px; bottom: -150px; pointer-events: none;
	font-family: var(--tn-serif); font-size: 440px; line-height: 1; color: var(--tn-on-band); opacity: .05;
}
.tn-sub__back, .tn-sub__back:visited {
	display: inline-block; margin-bottom: 22px; font-size: 14px; font-weight: 600;
	color: var(--tn-on-band) !important; opacity: .7; text-decoration: none !important;
}
.tn-sub__back:hover { opacity: 1; }
.tn-sub .tn-eyebrow { margin: 0 0 14px !important; font-family: var(--tn-display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.tn-sub h1.tn-sub__h {
	margin: 0; font-family: var(--tn-display); font-weight: 600; text-transform: none;
	font-size: clamp(32px, 5vw, 54px); line-height: 1.08; letter-spacing: -.02em; color: var(--tn-on-band) !important;
	max-width: 22ch; text-wrap: balance;
}
.tn-sub__lead { margin: 20px 0 0 !important; max-width: 60ch; font-size: 19px; line-height: 1.55; opacity: .85; }

/* Treść podstrony – style zwykłego tekstu; omijają wnętrza sekcji wtyczki */
.tn-page { background: var(--tn-surface); color: var(--tn-ink); padding: 64px 20px 88px; }
.tn-prose { max-width: 760px; margin: 0 auto; font-size: 17.5px; line-height: 1.75; color: #24403c; }
.tn-prose > :first-child { margin-top: 0 !important; }
.tn-prose > :last-child { margin-bottom: 0 !important; }
.tn-prose p:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 0 0 1.2em; }
.tn-prose h2:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose h3:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose h4:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-family: var(--tn-display); color: var(--tn-ink); letter-spacing: -.01em; text-transform: none; text-wrap: balance; }
.tn-prose h2:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-size: clamp(26px, 3.2vw, 34px); font-weight: 600; line-height: 1.2; margin: 2em 0 .6em; }
.tn-prose h3:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-size: 22px; font-weight: 600; line-height: 1.3; margin: 1.8em 0 .5em; }
.tn-prose h4:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-accent); margin: 2em 0 .6em; }
.tn-prose a:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { color: var(--tn-accent); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.tn-prose a:hover:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { color: var(--tn-warn); }
.tn-prose strong:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { color: var(--tn-ink); }
.tn-prose ul:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose ol:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 0 0 1.3em; padding-left: 1.4em; }
.tn-prose li:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: .35em 0; }
.tn-prose ul li:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *)::marker { color: var(--tn-accent); }
.tn-prose ol li:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *)::marker { color: var(--tn-accent); font-family: var(--tn-display); font-weight: 700; }
/* cytat = fragment przepisu lub dokumentu */
.tn-prose blockquote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose .wp-block-quote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 1.8em 0; padding: 22px 26px; border: 0; border-left: 3px solid var(--tn-accent); background: var(--tn-bg); border-radius: 0 6px 6px 0; font-family: var(--tn-serif); font-size: 19px; line-height: 1.6; font-style: normal; color: var(--tn-ink); }
.tn-prose blockquote p:last-of-type:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin-bottom: 0; }
.tn-prose blockquote cite:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose .wp-block-quote cite:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { display: block; margin-top: 12px; font-family: var(--tn-body); font-size: 13px; font-style: normal; color: var(--tn-muted); }
/* blok „Cytat wyróżniony” = ważna informacja */
.tn-prose .wp-block-pullquote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 2em 0; padding: 26px 28px; border: 0; border-radius: 8px; background: var(--tn-warn-soft); text-align: left; }
.tn-prose .wp-block-pullquote blockquote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 0; padding: 0; border: 0; background: none; font-family: var(--tn-display); font-size: 22px; font-weight: 600; color: var(--tn-warn); }
.tn-prose hr:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose .wp-block-separator:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { border: 0; border-top: 1px solid var(--tn-line); margin: 2.4em 0; opacity: 1; }
.tn-prose figure:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 1.8em 0; }
.tn-prose img:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { max-width: 100%; height: auto; border-radius: 6px; }
.tn-prose figcaption:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-size: 13px; color: var(--tn-muted); margin-top: 8px; text-align: left; }
.tn-prose table:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *),
.tn-prose .wp-block-table table:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 1.6em 0; font-variant-numeric: tabular-nums; }
.tn-prose .wp-block-table:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { overflow-x: auto; margin: 1.6em 0; }
.tn-prose th:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { text-align: left; font-family: var(--tn-display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tn-muted); border-bottom: 2px solid var(--tn-line); padding: 10px 12px; }
.tn-prose td:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { border-bottom: 1px solid var(--tn-line); padding: 12px; vertical-align: top; }
.tn-prose .wp-block-button__link:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { background: var(--tn-warn); color: #fff !important; text-decoration: none !important; border-radius: 4px; padding: 15px 26px; font-family: var(--tn-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: 15px; }
.tn-prose .wp-block-button.is-style-outline .wp-block-button__link:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { background: transparent; color: var(--tn-accent) !important; box-shadow: inset 0 0 0 1.5px var(--tn-accent); }
.tn-prose .alignwide:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { max-width: 1080px; margin-left: calc((760px - 1080px) / 2); margin-right: calc((760px - 1080px) / 2); }
.tn-prose .alignfull:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: none; }
.tn-prose .wp-block-details:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { border: 1px solid var(--tn-line); border-radius: 6px; padding: 14px 18px; margin: 1em 0; }
.tn-prose .wp-block-details summary:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { font-family: var(--tn-display); font-weight: 600; cursor: pointer; }
.tn-pages { margin-top: 2em; font-size: 15px; }
/* sekcje wtyczki wstawione w treść podstrony zachowują własny układ i dostają oddech */
.tn-prose > *:has(> .tn-check, > .tn-tariff, > .tn-law, > .tn-q, > .tn-alert, > .tn-facts2, > .tn-oath, > .tn-share, > .tn-end) { margin: 48px 0; }

@media (max-width: 1140px) {
	.tn-prose .alignwide:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin-left: 0; margin-right: 0; max-width: 100%; }
}
@media (max-width: 920px) {
	.tn-sub { padding: 120px 16px 56px; }
	body:not(.ast-theme-transparent-header) .tn-sub { padding-top: 56px; }
	.tn-sub__wm { font-size: 300px; bottom: -100px; }
}
@media (max-width: 600px) {
	.tn-page { padding: 44px 16px 64px; }
	.tn-prose { font-size: 16.5px; }
	.tn-sub__lead { font-size: 17px; }
	.tn-prose blockquote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *), .tn-prose .wp-block-quote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { padding: 18px 18px; font-size: 17.5px; }
}

/* =====================================================================
   SZABLON „Taksa notarialna – podstrona”
   ===================================================================== */
.tn-hero.tn-hero--sub { padding-bottom: 64px; }
.tn-hero--sub .tn-hero__h { margin-bottom: 0; font-size: clamp(30px, 4vw, 48px); }
.tn-hero--sub .tn-hero__art { max-width: 460px; justify-self: end; }

.tn-pt {
	--tn-bg: #ecf4f3; --tn-surface: #ffffff; --tn-ink: #0f2623; --tn-muted: #4f6662; --tn-line: #d3e3e0;
	--tn-accent: #097c6e; --tn-accent-2: #2a9d8f; --tn-warn: #a33a2c; --tn-warn-soft: #fbeeec;
	--tn-band: #0f2623; --tn-on-band: #ecf4f3; --tn-siren: #ff6a55;
	--tn-display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-serif: Georgia, "Times New Roman", serif;
	font-family: var(--tn-body); box-sizing: border-box;
	background: var(--tn-bg); color: var(--tn-ink); padding: 56px 20px 88px; position: relative; overflow: hidden;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: auto !important; max-width: none !important;
}
.tn-pt * { box-sizing: border-box; }
html:has(.tn-pt), body:has(.tn-pt) { overflow-x: clip; }
.tn-pt::before {
	content: "§"; position: absolute; left: -90px; top: 120px; pointer-events: none;
	font-family: var(--tn-serif); font-size: 520px; line-height: 1; color: var(--tn-accent); opacity: .05;
}
.tn-pt__in { max-width: 920px; margin: 0 auto; position: relative; z-index: 1; }

/* tytuł w ciemnej ramce */
.tn-pt__title { background: var(--tn-band); color: var(--tn-on-band); border-radius: 6px; padding: 30px 40px 32px; margin: 0; }
.tn-pt__back, .tn-pt__back:visited { display: inline-block; margin-bottom: 14px; font-size: 13px; font-weight: 600; color: var(--tn-on-band) !important; opacity: .65; text-decoration: none !important; }
.tn-pt__back:hover { opacity: 1; }
.tn-pt .tn-pt__eyebrow { margin: 0 0 8px; font-family: var(--tn-display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-siren); }
.tn-pt h1.tn-pt__h { margin: 0; font-family: var(--tn-display); font-weight: 600; text-transform: none; letter-spacing: -.015em; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.15; color: var(--tn-on-band) !important; text-wrap: balance; }
.tn-pt .tn-pt__lead { margin: 12px 0 0; font-size: 17px; line-height: 1.55; opacity: .8; max-width: 62ch; }

/* treść na białym arkuszu */
.tn-pt__sheet { margin-top: 20px; background: var(--tn-surface); border-radius: 6px; padding: 48px 56px 52px; box-shadow: 0 24px 50px -28px rgba(15,38,35,.35); }
.tn-pt__sheet .tn-prose { max-width: none; }
.tn-pt__sheet .tn-prose blockquote:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { background: var(--tn-bg); }

@media (max-width: 920px) {
	.tn-hero--sub .tn-hero__art { max-width: 320px; justify-self: center; }
}
@media (max-width: 600px) {
	.tn-hero.tn-hero--sub { padding-bottom: 44px; }
	.tn-hero--sub .tn-hero__art { max-width: 190px; }
}
@media (max-width: 700px) {
	.tn-pt { padding: 32px 14px 64px; }
	.tn-pt__title { padding: 22px 20px 24px; }
	.tn-pt__sheet { padding: 28px 20px 32px; margin-top: 14px; }
	.tn-pt::before { font-size: 320px; left: -60px; }
}

/* ===== Podstrona: pasek z logo tak wysoki jak logo, bloki szerokie jak pasek „Zapłaciłeś więcej…” ===== */
.tn-hero.tn-hero--sub { padding-top: 116px; padding-bottom: 12px; }           /* menu przezroczyste: miejsce na menu */
body:not(.ast-theme-transparent-header) .tn-hero.tn-hero--sub { padding-top: 12px; } /* menu zwykłe: bez zapasu */
.tn-hero--sub .tn-hero__in { align-items: center; gap: 32px; }
.tn-hero--sub .tn-hero__art { max-width: 400px; justify-self: end; }
.tn-hero--sub .tn-hero__art img { transform: none; }
.tn-pt__in { max-width: 1120px; }
.tn-pt__title { padding: 30px 44px 32px; }
.tn-pt__sheet { padding: 52px 64px 56px; }
@media (max-width: 920px) {
	.tn-hero.tn-hero--sub { padding-top: 100px; }
	body:not(.ast-theme-transparent-header) .tn-hero.tn-hero--sub { padding-top: 16px; }
	.tn-hero.tn-hero--sub { padding-bottom: 28px; }
	.tn-hero--sub .tn-hero__in { gap: 16px; }
	.tn-hero--sub .tn-hero__art { max-width: 260px; justify-self: center; }
}
@media (max-width: 600px) {
	.tn-hero--sub .tn-hero__art { max-width: 200px; }
	.tn-pt__title { padding: 22px 20px 24px; }
	.tn-pt__sheet { padding: 28px 20px 32px; }
}

/* Link pod przepisem (np. do stanowiska MS) */
.tn-law .tn-law__more, .tn-law .tn-law__more:visited {
	position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center;
	margin: 32px 44px 0 226px; padding: 18px 22px; border-radius: 6px;
	background: var(--tn-band); color: var(--tn-on-band) !important; text-decoration: none !important;
	transition: transform .15s, box-shadow .15s;
}
.tn-law .tn-law__more:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -16px rgba(15,38,35,.6); }
.tn-law .tn-law__more:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 3px; }
.tn-law__more-ico { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(42,157,143,.22); color: #7fd3c7; }
.tn-law__more-txt small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-siren); margin-bottom: 2px; }
.tn-law__more-txt b { display: block; font-family: var(--tn-display); font-weight: 600; font-size: 17px; line-height: 1.35; color: var(--tn-on-band); }
.tn-law__more-arrow { font-size: 22px; color: var(--tn-siren); transition: transform .2s; }
.tn-law .tn-law__more:hover .tn-law__more-arrow { transform: translateX(4px); }
@media (max-width: 700px) {
	.tn-law .tn-law__more { margin: 24px 0 0; padding: 16px; gap: 12px; }
	.tn-law__more-ico { width: 38px; height: 38px; }
	.tn-law__more-txt b { font-size: 15.5px; }
}

/* Przyciski w treści podstron – blok „Przyciski” nie nachodzi na tekst */
.tn-prose .wp-block-buttons:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.4em 0 1.8em; }
.tn-prose .wp-block-button:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { margin: 0; }
.tn-prose .wp-block-button__link:not(:is(.tn-hero,.tn-facts,.tn-check,.tn-tariff,.tn-q,.tn-links,.tn-oath,.tn-law,.tn-facts2,.tn-alert,.tn-end,.tn-ret,.tn-share,.tn-sub,.zn-wrap,.tn-cal,.tn-reg) *) { display: inline-block; line-height: 1.2; }


/* =====================================================================
   KALENDARIUM – [taksa_kalendarium]
   ===================================================================== */
.tn-cal {
	--tn-bg: #ecf4f3; --tn-surface: #ffffff; --tn-ink: #0f2623; --tn-muted: #4f6662; --tn-line: #d3e3e0;
	--tn-accent: #097c6e; --tn-accent-2: #2a9d8f; --tn-warn: #a33a2c; --tn-warn-soft: #fbeeec;
	--tn-band: #0f2623; --tn-on-band: #ecf4f3; --tn-siren: #ff6a55;
	--tn-display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-serif: Georgia, "Times New Roman", serif;
	--c-date: 128px; --c-node: 44px;
	font-family: var(--tn-body); font-size: 16px; line-height: 1.6; color: var(--tn-ink);
	max-width: 1000px; margin: 0 auto;
}
.tn-cal * { box-sizing: border-box; }
.tn-cal p { margin: 0; }
.tn-cal p + p { margin-top: .7em; }
.tn-cal ul { margin: .5em 0 0; padding-left: 1.2em; }
.tn-cal li { margin: .3em 0; }
.tn-cal h2, .tn-cal h3 { font-family: var(--tn-display); text-transform: none; letter-spacing: -.01em; color: var(--tn-ink); margin: 0; }

.tn-cal__intro { font-size: 18px; line-height: 1.65; color: #24403c; max-width: 70ch; }

/* legenda */
.tn-cal ul.tn-cal__legend { list-style: none; padding: 0; margin: 28px 0 8px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tn-cal__legend li { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--tn-muted); }
.tn-cal__legend .tn-cal__ico { width: 26px; height: 26px; }

/* ikony typów */
.tn-cal__ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--tn-accent); flex: none; }
.tn-cal__lg--zgloszenie .tn-cal__ico, .tn-cal__item--zgloszenie .tn-cal__ico { background: var(--tn-accent); }
.tn-cal__lg--rada .tn-cal__ico, .tn-cal__item--rada .tn-cal__ico { background: var(--tn-warn); }
.tn-cal__lg--organ .tn-cal__ico, .tn-cal__item--organ .tn-cal__ico { background: var(--tn-band); }
.tn-cal__lg--media .tn-cal__ico, .tn-cal__item--media .tn-cal__ico { background: #b7791f; }
.tn-cal__lg--info .tn-cal__ico, .tn-cal__item--info .tn-cal__ico { background: #7a8f8b; }

/* etapy */
.tn-cal__phase { margin-top: 48px; }
.tn-cal h2.tn-cal__ph { display: flex; align-items: baseline; gap: 14px; font-size: clamp(22px, 2.6vw, 28px); font-weight: 600; line-height: 1.2; padding-bottom: 14px; border-bottom: 2px solid var(--tn-ink); margin-bottom: 8px; }
.tn-cal__pn { font-family: var(--tn-serif); font-weight: 400; font-size: 1.25em; color: var(--tn-warn); min-width: 1.6em; }

/* oś czasu */
.tn-cal ol.tn-cal__list { list-style: none; margin: 0; padding: 0; position: relative; }
.tn-cal ol.tn-cal__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--c-date) + var(--c-node) / 2 - 1px); width: 2px; background: var(--tn-line); }
.tn-cal li.tn-cal__item { margin: 0; display: grid; grid-template-columns: var(--c-date) var(--c-node) minmax(0, 1fr); gap: 0 18px; padding: 22px 0 0; position: relative; }
.tn-cal__date { text-align: right; padding-top: 4px; font-family: var(--tn-display); font-variant-numeric: tabular-nums; }
.tn-cal__dd { display: block; font-size: 22px; font-weight: 700; line-height: 1.1; color: var(--tn-ink); }
.tn-cal__yy { display: block; font-size: 13px; font-weight: 600; color: var(--tn-muted); letter-spacing: .06em; }
.tn-cal__dtxt { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--tn-muted); font-style: italic; }
.tn-cal__node { display: flex; justify-content: center; padding-top: 2px; position: relative; z-index: 1; }
.tn-cal__node .tn-cal__ico { box-shadow: 0 0 0 5px var(--tn-surface); }

.tn-cal__card { background: var(--tn-bg); border-radius: 6px; padding: 16px 20px 18px; min-width: 0; }
.tn-cal__item--rada .tn-cal__card { background: var(--tn-warn-soft); }
.tn-cal__item--organ .tn-cal__card { background: var(--tn-surface); box-shadow: inset 0 0 0 1.5px var(--tn-line); }
.tn-cal__item--media .tn-cal__card { background: #fdf6e7; }
.tn-cal p.tn-cal__type { font-family: var(--tn-display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-accent); margin-bottom: 4px; }
.tn-cal .tn-cal__item--rada p.tn-cal__type { color: var(--tn-warn); }
.tn-cal .tn-cal__item--organ p.tn-cal__type { color: var(--tn-ink); }
.tn-cal .tn-cal__item--media p.tn-cal__type { color: #8a5a12; }
.tn-cal .tn-cal__item--info p.tn-cal__type { color: var(--tn-muted); }
.tn-cal h3.tn-cal__h { font-size: 18.5px; font-weight: 600; line-height: 1.3; }
.tn-cal__body { margin-top: 6px; color: #24403c; font-size: 15.5px; }
.tn-cal__note { margin-top: 12px; padding: 10px 14px; border-left: 2px solid var(--tn-accent); background: rgba(255,255,255,.7); border-radius: 0 4px 4px 0; font-size: 14.5px; color: var(--tn-muted); }
.tn-cal__item--rada .tn-cal__note { border-left-color: var(--tn-warn); }
.tn-cal__note b { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--tn-ink); margin-bottom: 2px; }
.tn-cal p.tn-cal__link { margin-top: 10px; }
.tn-cal__link a, .tn-cal__link a:visited { font-weight: 700; color: var(--tn-accent); text-decoration: none; border-bottom: 1.5px solid currentColor; }
.tn-cal__link a:hover { color: var(--tn-warn); }

/* odstęp między datami */
.tn-cal li.tn-cal__gap { margin: 0; display: grid; grid-template-columns: var(--c-date) var(--c-node) minmax(0, 1fr); gap: 0 18px; padding: 18px 0 0; }
.tn-cal__gap span { grid-column: 2 / 4; justify-self: start; margin-left: calc(var(--c-node) / 2 - 1px); transform: translateX(-50%);
	position: relative; z-index: 1; background: var(--tn-surface); border: 1.5px dashed var(--tn-line); border-radius: 999px;
	padding: 2px 10px; font-size: 12px; font-weight: 700; color: var(--tn-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* równolegle */
.tn-cal__par { margin-top: 56px; background: var(--tn-band); color: var(--tn-on-band); border-radius: 8px; padding: 30px 34px 32px; position: relative; overflow: hidden; }
.tn-cal__par::after { content: "!"; position: absolute; right: 22px; top: -30px; font-family: var(--tn-serif); font-size: 220px; line-height: 1; color: var(--tn-siren); opacity: .1; pointer-events: none; }
.tn-cal h2.tn-cal__par-h { color: var(--tn-on-band); font-size: clamp(21px, 2.4vw, 26px); font-weight: 600; margin-bottom: 12px; position: relative; }
.tn-cal__par-b { position: relative; font-size: 16px; }
.tn-cal__par-b ul { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 8px; }
.tn-cal__par-b li { margin: 0; padding-left: 26px; position: relative; font-family: var(--tn-display); font-weight: 600; font-size: 17px; }
.tn-cal__par-b li::before { content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 2px; background: var(--tn-siren); }
.tn-cal p.tn-cal__par-n { margin-top: 16px; font-size: 13.5px; opacity: .7; position: relative; }

/* bilans */
.tn-cal__sum { margin-top: 40px; }
.tn-cal h2.tn-cal__sum-h { font-size: clamp(22px, 2.6vw, 28px); font-weight: 600; padding-bottom: 14px; border-bottom: 2px solid var(--tn-ink); }
.tn-cal dl.tn-cal__stats { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); border-bottom: 1px solid var(--tn-line); }
.tn-cal__stats div { padding: 20px 18px 20px 0; border-right: 1px solid var(--tn-line); }
.tn-cal__stats div:last-child { border-right: 0; }
.tn-cal__stats dt { font-family: var(--tn-display); font-weight: 700; font-size: clamp(28px, 3.4vw, 38px); line-height: 1.05; color: var(--tn-warn); font-variant-numeric: tabular-nums; }
.tn-cal__stats dd { margin: 6px 0 0; font-size: 14px; color: var(--tn-muted); line-height: 1.4; }
.tn-cal__stats div + div { padding-left: 18px; }
.tn-cal__sum-b { margin-top: 20px; font-size: 17px; color: #24403c; max-width: 72ch; }
.tn-cal__sum-b p:last-child { font-family: var(--tn-display); font-weight: 600; color: var(--tn-ink); }

@media (max-width: 700px) {
	.tn-cal { --c-date: 0px; --c-node: 34px; }
	.tn-cal li.tn-cal__item { grid-template-columns: var(--c-node) minmax(0, 1fr); gap: 0 12px; padding-top: 20px; }
	.tn-cal__date { grid-column: 2; grid-row: 1; text-align: left; padding: 0 0 6px; display: flex; align-items: baseline; gap: 6px; }
	.tn-cal__dd { display: inline; font-size: 17px; }
	.tn-cal__yy { display: inline; }
	.tn-cal__date time { display: inline-flex; align-items: baseline; gap: 6px; }
	.tn-cal .tn-cal__pn { min-width: 1.1em; }
	.tn-cal__node { grid-column: 1; grid-row: 1 / span 2; }
	.tn-cal__card { grid-column: 2; padding: 14px 16px 16px; }
	.tn-cal ol.tn-cal__list::before { left: calc(var(--c-node) / 2 - 1px); }
	.tn-cal li.tn-cal__gap { grid-template-columns: var(--c-node) minmax(0, 1fr); gap: 0 12px; }
	.tn-cal__gap span { grid-column: 1 / 3; }
	.tn-cal__par { padding: 24px 20px; }
	.tn-cal__stats div, .tn-cal__stats div + div { border-right: 0; border-bottom: 1px solid var(--tn-line); padding: 16px 0; }
	.tn-cal__stats div:last-child { border-bottom: 0; }
}

/* ---------- Licznik: problem nierozwiązany od… ---------- */
.tn-count { margin: 22px 0 6px; padding: clamp(22px, 3vw, 32px) clamp(20px, 3.4vw, 40px); background: var(--tn-band); color: #fff; border-radius: 14px; position: relative; overflow: hidden; box-shadow: 0 18px 40px -24px rgba(15,38,35,.55); }
.tn-count::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(255,255,255,.07); box-shadow: 0 0 0 30px rgba(255,255,255,.025), 0 0 0 60px rgba(255,255,255,.02); pointer-events: none; }
.tn-cal p.tn-count__label { margin: 0 0 14px; display: flex; align-items: flex-start; gap: 10px; font-family: var(--tn-ui); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #ffb3a8; }
.tn-count__label i { flex: none; margin-top: 4px; width: 9px; height: 9px; border-radius: 50%; background: var(--tn-siren); animation: tn-pulse 1.8s infinite; }
.tn-count__val { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px clamp(14px, 2.4vw, 28px); position: relative; z-index: 1; }
.tn-count__unit { display: inline-flex; align-items: baseline; gap: 6px; }
.tn-count__unit b { font-family: var(--tn-display); font-weight: 700; font-size: clamp(30px, 4.4vw, 48px); line-height: 1; font-variant-numeric: tabular-nums; color: #fff; }
.tn-count__unit--d b { font-size: clamp(46px, 7vw, 76px); color: var(--tn-siren); letter-spacing: -.01em; }
.tn-count__unit small { font-family: var(--tn-ui); font-size: 14px; font-weight: 600; color: rgba(255,255,255,.62); }
.tn-count__unit--d small { font-size: 18px; color: rgba(255,255,255,.85); margin-right: clamp(2px, 1vw, 10px); }
.tn-cal p.tn-count__note { margin: 16px 0 0; font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.62); max-width: 64ch; position: relative; z-index: 1; }
.tn-cal--counter .tn-count { margin: 0; }
@media (prefers-reduced-motion: reduce) { .tn-count__label i { animation: none; } }
@media (max-width: 560px) {
	.tn-count__val { gap: 4px 14px; }
	.tn-count__unit--d { flex-basis: 100%; }
}

/* ---------- Podstrony na telefonie: górna sekcja bez graficznego logo ---------- */
@media (max-width: 767px) {
	.tn-hero--sub .tn-hero__art { display: none; }
	.tn-hero--sub .tn-hero__in { gap: 0; }
	.tn-hero.tn-hero--sub { padding-bottom: 24px; }
}

/* ===== Rozporządzenie: tekst, kalkulator taksy, oznaczenia, komentarz ===== */
.tn-reg {
	--tn-bg: #ecf4f3; --tn-surface: #ffffff; --tn-ink: #0f2623; --tn-muted: #4f6662; --tn-line: #d3e3e0;
	--tn-accent: #097c6e; --tn-accent-2: #2a9d8f; --tn-warn: #a33a2c; --tn-warn-soft: #fbeeec;
	--tn-band: #0f2623; --tn-on-band: #ecf4f3; --tn-siren: #ff6a55;
	--tn-display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-serif: Georgia, "Times New Roman", serif;
	font-family: var(--tn-body); font-size: 16px; line-height: 1.6; color: var(--tn-ink);
}
.tn-reg * { box-sizing: border-box; }
.tn-reg p { margin: 0; }
.tn-reg h2, .tn-reg h3 { font-family: var(--tn-display); text-transform: none; letter-spacing: -.01em; color: var(--tn-ink); margin: 0; }
.tn-reg a { color: var(--tn-accent); }

.tn-reg__intro { font-size: 18px; line-height: 1.65; color: #24403c; max-width: 72ch; }
.tn-reg__intro p + p { margin-top: .8em; }
.tn-reg__intro strong { color: var(--tn-ink); }

.tn-reg__meta { margin-top: 24px; display: grid; gap: 10px; }
.tn-reg p.tn-reg__stan { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--tn-muted); }
.tn-reg__stan svg { flex: none; color: var(--tn-accent); margin-top: 1px; }
.tn-reg__stan a { font-weight: 700; text-decoration: none; white-space: nowrap; }
.tn-reg__stan a:hover { text-decoration: underline; }
.tn-reg p.tn-reg__draft { font-size: 14px; line-height: 1.55; color: #5a3b14; background: #fdf5e6; border-left: 3px solid #d39a2c; padding: 12px 16px; border-radius: 0 6px 6px 0; }
.tn-reg__draft b { display: block; font-family: var(--tn-display); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #9a6514; margin-bottom: 2px; }

.tn-reg__toc { margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tn-reg .tn-reg__toc a { font-family: var(--tn-display); font-size: 13.5px; font-weight: 600; color: var(--tn-ink); text-decoration: none; padding: 7px 13px; border-radius: 999px; background: var(--tn-bg); border: 1px solid var(--tn-line); transition: background .15s, color .15s; }
.tn-reg .tn-reg__toc a:hover { background: var(--tn-ink); color: #fff; border-color: var(--tn-ink); }
.tn-reg .tn-reg__toc a:first-child { background: var(--tn-accent); border-color: var(--tn-accent); color: #fff; }

/* kalkulator */
.tn-reg__calc { margin: 32px 0 0; scroll-margin-top: 100px; }
.tn-reg__calc-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border-radius: 14px; overflow: hidden; box-shadow: 0 22px 48px -30px rgba(15,38,35,.55); border: 1px solid var(--tn-line); }
.tn-reg__calc-form { background: var(--tn-bg); padding: clamp(22px, 3vw, 34px); display: grid; gap: 16px; align-content: start; }
.tn-reg h2.tn-reg__calc-h { font-size: clamp(22px, 2.6vw, 28px); font-weight: 700; line-height: 1.2; }
.tn-reg p.tn-reg__calc-lead { font-size: 15px; color: var(--tn-muted); margin-top: -6px; }
.tn-reg__f { display: grid; gap: 6px; }
.tn-reg__f > span:first-child { font-family: var(--tn-display); font-size: 13px; font-weight: 700; color: var(--tn-ink); }
.tn-reg__in { position: relative; display: block; }
.tn-reg__in em { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-style: normal; font-weight: 700; color: var(--tn-muted); pointer-events: none; }
.tn-reg .tn-reg__f input, .tn-reg .tn-reg__f select { width: 100%; max-width: 100%; font: inherit; font-size: 17px; color: var(--tn-ink); background: #fff; border: 1.5px solid #b9d0cc; border-radius: 8px; padding: 13px 44px 13px 14px; margin: 0; height: auto; min-height: 50px; box-shadow: none; }
.tn-reg .tn-reg__f input[data-k="val"] { font-family: var(--tn-display); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tn-reg .tn-reg__f select { padding-right: 14px; font-size: 15.5px; text-overflow: ellipsis; }
.tn-reg .tn-reg__f input:focus, .tn-reg .tn-reg__f select:focus { outline: none; border-color: var(--tn-accent); box-shadow: 0 0 0 3px rgba(9,124,110,.18); }
.tn-reg__chk { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--tn-muted); cursor: pointer; }
.tn-reg__chk input { margin: 2px 0 0; width: 18px; height: 18px; accent-color: var(--tn-accent); flex: none; }
.tn-reg__paid { border-top: 1px solid var(--tn-line); padding-top: 12px; }
.tn-reg__paid summary { cursor: pointer; font-family: var(--tn-display); font-size: 14px; font-weight: 700; color: var(--tn-accent); list-style-position: outside; }
.tn-reg__paid[open] summary { margin-bottom: 12px; }

.tn-reg__res { background: radial-gradient(500px 300px at 100% 0%, rgba(42,157,143,.25), transparent 70%), var(--tn-band); color: var(--tn-on-band); padding: clamp(22px, 3vw, 34px); display: flex; flex-direction: column; gap: 10px; }
.tn-reg p.tn-reg__res-k { font-family: var(--tn-display); font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8fd3c9; }
.tn-reg p.tn-reg__res-big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; line-height: 1; }
.tn-reg__res-big b { font-family: var(--tn-display); font-weight: 700; font-size: clamp(38px, 5vw, 54px); font-variant-numeric: tabular-nums; color: #fff; letter-spacing: -.02em; }
.tn-reg__res-big span { font-size: 16px; font-weight: 600; color: rgba(236,244,243,.7); }
.tn-reg p.tn-reg__res-gross { font-size: 16px; color: rgba(236,244,243,.85); }
.tn-reg__res-gross b { color: #fff; }
.tn-reg ol.tn-reg__steps { list-style: none; margin: 8px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(236,244,243,.16); display: grid; gap: 7px; font-size: 14px; line-height: 1.45; color: rgba(236,244,243,.78); }
.tn-reg ol.tn-reg__steps:empty { display: none; }
.tn-reg__steps li { margin: 0; display: flex; justify-content: space-between; gap: 14px; }
.tn-reg__steps li b { color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 700; }
.tn-reg__steps li.is-sum { padding-top: 7px; border-top: 1px dashed rgba(236,244,243,.2); color: #fff; font-weight: 700; }
.tn-reg__over { margin-top: 6px; padding: 14px 16px; border-radius: 10px; background: rgba(255,106,85,.14); border: 1px solid rgba(255,106,85,.4); }
.tn-reg__over p { color: #ffd6cf; font-size: 15px; line-height: 1.45; }
.tn-reg__over p b { color: #fff; }
.tn-reg__over.is-ok { background: rgba(143,211,201,.12); border-color: rgba(143,211,201,.35); }
.tn-reg__over.is-ok p { color: #cdeee8; }
.tn-reg__over.is-ok .tn-btn { display: none; }
.tn-reg__over .tn-btn { margin-top: 12px; }
.tn-reg p.tn-reg__res-note { margin-top: auto; padding-top: 12px; font-size: 13px; line-height: 1.5; color: rgba(236,244,243,.6); }

/* tekst aktu */
.tn-reg__act { margin-top: 48px; }
.tn-reg__head { text-align: center; padding: 28px 20px 26px; border-top: 3px solid var(--tn-ink); border-bottom: 1px solid var(--tn-line); margin-bottom: 8px; }
.tn-reg__head p { font-family: var(--tn-serif); font-size: 17px; line-height: 1.5; color: var(--tn-ink); }
.tn-reg__head p strong { font-size: 20px; }
.tn-reg__head p.tn-reg__basis { font-family: var(--tn-body); font-size: 14.5px; color: var(--tn-muted); max-width: 62ch; margin: 14px auto 0; }
.tn-reg h2.tn-reg__ch { margin: 40px 0 10px; font-size: clamp(19px, 2.2vw, 23px); font-weight: 700; line-height: 1.25; text-align: center; }
.tn-reg__ch span { display: block; font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--tn-accent); margin-bottom: 4px; }
.tn-reg h3.tn-reg__od { margin: 28px 0 6px; font-size: 16px; font-weight: 700; text-align: center; color: var(--tn-muted); }
.tn-reg__od span { color: var(--tn-ink); }
.tn-reg__p { position: relative; padding: 18px 0 18px 76px; border-bottom: 1px solid #e6efed; scroll-margin-top: 100px; }
.tn-reg__p:target { background: linear-gradient(90deg, rgba(9,124,110,.08), transparent 70%); }
.tn-reg p.tn-reg__pn { position: absolute; left: 0; top: 18px; width: 64px; font-family: var(--tn-display); font-weight: 700; font-size: 17px; line-height: 1.6; }
.tn-reg .tn-reg__pn a { color: var(--tn-accent); text-decoration: none; }
.tn-reg .tn-reg__pn a:hover { text-decoration: underline; }
.tn-reg p.tn-reg__l { font-size: 16px; line-height: 1.65; color: #1c3532; display: grid; grid-template-columns: 2.6em minmax(0, 1fr); margin: 0 0 .35em; }
.tn-reg p.tn-reg__l--0, .tn-reg p.tn-reg__l--t0, .tn-reg p.tn-reg__l--t1 { display: block; }
.tn-reg p.tn-reg__l--1 { margin-left: 0; }
.tn-reg p.tn-reg__l--2 { margin-left: 2.6em; }
.tn-reg p.tn-reg__l--3 { margin-left: 5.2em; }
.tn-reg p.tn-reg__l--t1 { margin-left: 2.6em; }
.tn-reg p.tn-reg__l--t0, .tn-reg p.tn-reg__l--t1 { margin-top: .5em; font-weight: 600; color: var(--tn-ink); }
.tn-reg__n { font-weight: 700; color: var(--tn-ink); font-variant-numeric: tabular-nums; }
.tn-reg mark.tn-reg__hit { background: none; color: var(--tn-ink); font-weight: 800; padding: 0 1px; text-decoration: underline; text-decoration-color: var(--tn-accent); text-decoration-thickness: 3px; text-underline-offset: 4px; white-space: nowrap; }
.tn-reg p.tn-reg__note { font-size: 14px; color: var(--tn-muted); text-align: center; font-style: italic; }
.tn-reg p.tn-reg__go { margin: 12px 0 2px; }
.tn-reg .tn-reg__go a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--tn-display); font-size: 14px; font-weight: 700; color: var(--tn-accent); text-decoration: none; padding: 7px 14px 7px 12px; border-radius: 999px; border: 1.5px solid rgba(9,124,110,.35); background: #fff; }
.tn-reg .tn-reg__go a:hover { background: var(--tn-accent); color: #fff; border-color: var(--tn-accent); }

/* oznaczenie „pobierane ponad stawkę” */
.tn-reg__flag { margin: 10px 0 14px 2.6em; padding: 13px 16px 14px; background: var(--tn-warn-soft); border-left: 3px solid var(--tn-warn); border-radius: 0 8px 8px 0; display: grid; gap: 4px; }
.tn-reg p.tn-reg__flag-h { display: flex; align-items: center; gap: 8px; font-family: var(--tn-display); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tn-warn); }
.tn-reg__flag-h i { width: 8px; height: 8px; border-radius: 50%; background: var(--tn-warn); flex: none; }
.tn-reg p.tn-reg__flag-t { font-family: var(--tn-display); font-size: 17px; line-height: 1.4; color: var(--tn-ink); }
.tn-reg__flag-t span { font-weight: 600; }
.tn-reg__flag-t u { font-weight: 800; text-decoration-color: var(--tn-accent); text-decoration-thickness: 3px; text-underline-offset: 4px; white-space: nowrap; }
.tn-reg__flag-t s { color: var(--tn-warn); font-weight: 700; text-decoration-thickness: 2px; white-space: nowrap; }
.tn-reg p.tn-reg__flag-s { font-size: 14px; color: #5b2b24; }
.tn-reg .tn-reg__flag-s a { font-weight: 700; color: var(--tn-warn); text-decoration: none; white-space: nowrap; }
.tn-reg .tn-reg__flag-s a:hover { text-decoration: underline; }

/* komentarz do § 16 */
.tn-reg__comm { margin: 22px 0 6px; padding: clamp(22px, 3vw, 32px); background: var(--tn-bg); border-radius: 12px; border: 1px solid var(--tn-line); position: relative; overflow: hidden; scroll-margin-top: 100px; }
.tn-reg__comm::before { content: "§"; position: absolute; right: 18px; top: -26px; font-family: var(--tn-serif); font-size: 170px; line-height: 1; color: rgba(9,124,110,.07); pointer-events: none; }
.tn-reg p.tn-reg__comm-k { font-family: var(--tn-display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tn-accent); }
.tn-reg h3.tn-reg__comm-h { margin: 6px 0 14px; font-size: clamp(20px, 2.4vw, 24px); font-weight: 700; line-height: 1.25; position: relative; }
.tn-reg__comm-b { position: relative; font-size: 16px; line-height: 1.65; color: #1c3532; }
.tn-reg__comm-b p + p, .tn-reg__comm-b ul + p, .tn-reg__comm-b p + ul { margin-top: .8em; }
.tn-reg__comm-b ul { margin: .5em 0 0; padding-left: 1.2em; }
.tn-reg__comm-b li { margin: .3em 0; }
.tn-reg__comm-b strong { color: var(--tn-ink); }
.tn-reg p.tn-reg__comm-more { margin-top: 16px; position: relative; }
.tn-reg .tn-reg__comm-more a { font-family: var(--tn-display); font-weight: 700; text-decoration: none; }
.tn-reg .tn-reg__comm-more a:hover { text-decoration: underline; }

@media (max-width: 820px) {
	.tn-reg__calc-in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.tn-reg__intro { font-size: 16.5px; }
	.tn-reg__p { padding: 14px 0 14px; }
	.tn-reg p.tn-reg__pn { position: static; width: auto; margin-bottom: 4px; }
	.tn-reg p.tn-reg__l { font-size: 15.5px; grid-template-columns: 2.2em minmax(0, 1fr); }
	.tn-reg p.tn-reg__l--2, .tn-reg p.tn-reg__l--t1 { margin-left: 1.2em; }
	.tn-reg p.tn-reg__l--3 { margin-left: 2.4em; }
	.tn-reg__flag { margin-left: 0; }
	.tn-reg__head p strong { font-size: 18px; }
	.tn-reg .tn-reg__toc { flex-wrap: nowrap; overflow-x: auto; margin-left: -20px; margin-right: -20px; padding: 0 20px 6px; scrollbar-width: none; }
	.tn-reg .tn-reg__toc a { flex: none; }
	.tn-reg__steps li { font-size: 13.5px; }
}
.tn-reg p.tn-reg__flag-h { align-items: flex-start; }
.tn-reg__flag-h i { margin-top: 4px; }
@media (max-width: 600px) {
	.tn-reg__comm { padding: 20px 16px; margin-left: -6px; margin-right: -6px; }
	.tn-reg__flag { padding: 12px 14px; }
	.tn-reg__calc-in { margin-left: -8px; margin-right: -8px; }
}

/* Baner „Zapłaciłeś więcej…” – dłuższy nagłówek: mniejszy stopień, wyważone łamanie */
.tn-alert__l1 { font-size: clamp(34px, 5.6vw, 64px); text-wrap: balance; }

/* Aktualności – [taksa_aktualnosci] */
.tn-akt { --tn-bg: #ecf4f3; --tn-ink: #0f2623; --tn-muted: #4f6662; --tn-line: #d3e3e0; --tn-accent: #097c6e; --tn-warn: #a33a2c; --tn-warn-soft: #fbeeec; font-family: "Mulish", system-ui, sans-serif; color: var(--tn-ink); line-height: 1.6; }
.tn-akt * { box-sizing: border-box; }
.tn-akt .tn-akt__intro { margin: 0 0 22px; font-size: 18px; color: #24403c; max-width: 66ch; }
.tn-akt .tn-akt__empty { margin: 0; color: var(--tn-muted); }
.tn-akt ol.tn-akt__list { list-style: none; margin: 0; padding: 0; position: relative; }
.tn-akt ol.tn-akt__list::before { content: ""; position: absolute; left: 47px; top: 14px; bottom: 14px; border-left: 2px solid var(--tn-line); }
.tn-akt .tn-akt__item { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; margin: 0 0 18px; padding: 0; }
.tn-akt .tn-akt__item::before { content: none; }
.tn-akt .tn-akt__date { position: relative; z-index: 1; display: flex; justify-content: center; }
.tn-akt .tn-akt__date time { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 96px; height: 76px; border-radius: 14px; background: var(--tn-ink); color: #fff; font-family: "DM Sans", system-ui, sans-serif; line-height: 1; }
.tn-akt .tn-akt__date b { font-size: 32px; font-weight: 700; letter-spacing: -.02em; }
.tn-akt .tn-akt__date span { margin-top: 6px; font-size: 13px; font-weight: 600; color: #b9d6d1; letter-spacing: .04em; }
.tn-akt .is-future .tn-akt__date time { background: var(--tn-warn); }
.tn-akt .is-future .tn-akt__date span { color: #ffd9d2; }
.tn-akt .tn-akt__body { min-width: 0; border: 1px solid var(--tn-line); border-radius: 14px; background: #fff; padding: 18px 22px 20px; }
.tn-akt .is-future .tn-akt__body { border-color: #efd6d1; background: #fffaf9; }
.tn-akt .tn-akt__meta { margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.tn-akt .tn-akt__tag { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--tn-bg); color: var(--tn-accent); font-family: "DM Sans", system-ui, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tn-akt .tn-akt__tag--future { background: var(--tn-warn); color: #fff; }
.tn-akt--wazne .tn-akt__tag:not(.tn-akt__tag--future) { background: var(--tn-warn-soft); color: var(--tn-warn); }
.tn-akt .tn-akt__title { margin: 0 0 6px; font-family: "DM Sans", system-ui, sans-serif; font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; text-transform: none; color: var(--tn-ink); }
.tn-akt .tn-akt__text { font-size: 15.5px; color: #24403c; }
.tn-akt .tn-akt__text p { margin: 0 0 8px; }
.tn-akt .tn-akt__text p:last-child { margin-bottom: 0; }
.tn-akt .tn-akt__text ul { margin: 6px 0 8px 1.2em; padding: 0; }
.tn-akt a.tn-akt__link { display: inline-block; margin-top: 10px; font-family: "DM Sans", system-ui, sans-serif; font-weight: 700; font-size: 14px; color: var(--tn-accent); text-decoration: none; }
.tn-akt a.tn-akt__link:hover { text-decoration: underline; }
.tn-akt--short .tn-akt__item { margin-bottom: 12px; }
@media (max-width: 600px) {
	.tn-akt ol.tn-akt__list::before { left: 15px; top: 20px; }
	.tn-akt .tn-akt__item { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-left: 34px; }
	.tn-akt .tn-akt__date { justify-content: flex-start; }
	.tn-akt .tn-akt__date::before { content: ""; position: absolute; left: -25px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--tn-ink); box-shadow: 0 0 0 4px #fff; }
	.tn-akt .is-future .tn-akt__date::before { background: var(--tn-warn); }
	.tn-akt .tn-akt__date time { flex-direction: row; align-items: baseline; gap: 0; width: auto; height: auto; padding: 6px 12px; border-radius: 8px; }
	.tn-akt .tn-akt__date b { font-size: 16px; }
	.tn-akt .tn-akt__date b::after { content: "."; }
	.tn-akt .tn-akt__date span, .tn-akt .is-future .tn-akt__date span { font-size: 16px; font-weight: 700; margin-top: 0; letter-spacing: 0; color: #fff; }
	.tn-akt .tn-akt__body { padding: 14px 16px 16px; }
	.tn-akt .tn-akt__title { font-size: 18px; }
}

/* Nowelizacja – dwa zestawy stawek */
.tn-f__l { font-weight: 700; font-size: 14px; color: var(--tn-ink); }
.tn-seg--wide { display: grid; grid-template-columns: 1fr 1fr; }
.tn-seg--wide button { height: 44px; padding: 0 8px; }
.tn-was { display: block; margin-top: 4px; font-family: var(--tn-sans, inherit); font-size: 12.5px; font-weight: 500; color: var(--tn-muted); white-space: nowrap; }
.tn-note--new { background: var(--tn-bg); border-radius: 6px; padding: 10px 14px; color: var(--tn-ink); }
