.site-branding {
	display: flex;
	align-items: center;
	min-height: 72px;
}

.site-branding .custom-logo-link,
.site-branding__fallback {
	display: inline-flex;
	align-items: center;
}

.site-branding img,
.site-branding .custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
	display: block;
}

.site-branding a {
	text-decoration: none;
	color: #003c76;
	font-weight: 700;
}

.site-branding a:hover,
.site-branding a:focus-visible {
	outline-offset: 4px;
}

.menu-toggle {
	display: none;
	background: #ffffff;
	color: #003c76;
	border: 1px solid #003c76;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	min-height: 44px;
	padding: 0.45rem 0.9rem;
	gap: 0.5rem;
	align-items: center;
	border-radius: 0;
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
	background: #003c76;
	color: #ffffff;
}

.menu-toggle__icon {
	width: 20px;
	height: 2px;
	background: currentColor;
	position: relative;
	display: inline-block;
}

.menu-toggle__icon::before,
.menu-toggle__icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 20px;
	height: 2px;
	background: currentColor;
}

.menu-toggle__icon::before { top: -6px; }
.menu-toggle__icon::after { top: 6px; }

.primary-navigation {
	margin-left: auto;
}

.primary-navigation ul,
.footer-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	align-items: center;
}

.primary-navigation .primary-menu-list > li {
	position: relative;
	display: flex;
	align-items: center;
	height: 82px;
}

.primary-navigation .primary-menu-list > li + li {
	margin-left: 20px;
}

.primary-navigation .primary-menu-list > li > a {
	color: #121010;
	text-decoration: none;
	display: inline-block;
	padding: 3px 0;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1.125rem;
	font-weight: normal;
	letter-spacing: 0;
	text-transform: uppercase;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.primary-navigation .primary-menu-list > li > a:hover,
.primary-navigation .primary-menu-list > li > a:focus-visible {
	color: #f8002e;
	border-bottom-color: #f8002e;
}

.primary-navigation .primary-menu-list > .current-menu-item > a,
.primary-navigation .primary-menu-list > .current-menu-ancestor > a,
.primary-navigation .primary-menu-list > .current_page_item > a {
	color: #003c76;
	border-bottom-color: #f8002e;
}

.primary-navigation .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	width: 230px;
	background: #585f6a;
	border: 0;
	padding: 0;
	margin: 0;
	display: none;
	z-index: 99;
	box-shadow: 0 10px 22px rgba(20, 33, 56, 0.18);
	flex-direction: column;
	align-items: stretch;
	list-style: none;
}

.primary-navigation .sub-menu li {
	width: 100%;
	margin: 0;
	padding: 0;
}

.primary-navigation .sub-menu li + li {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.primary-navigation .sub-menu a {
	height: auto;
	display: block;
	color: #ffffff;
	background: transparent;
	text-decoration: none;
	text-transform: uppercase;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: normal;
	letter-spacing: 0;
	padding: 10px 20px;
	border: 0;
	width: 100%;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu a:focus-visible {
	background: rgba(0, 0, 0, 0.28);
	color: #ffffff;
	outline: 0;
}

.primary-navigation .sub-menu a:focus-visible {
	outline: 2px solid #f8002e;
	outline-offset: -2px;
}

.primary-navigation .menu-item-has-children:hover > .sub-menu,
.primary-navigation .menu-item-has-children:focus-within > .sub-menu,
.primary-navigation .menu-item-has-children.is-open > .sub-menu {
	display: flex;
}

.primary-navigation__empty {
	margin: 0;
	color: #6b7280;
	font-size: 0.9rem;
}

.tfs-hero {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: #0a1220;
	aspect-ratio: 1920 / 620;
	max-height: 700px;
	min-height: clamp(400px, 44vw, 620px);
}

.tfs-hero__track {
	position: relative;
	width: 100%;
	height: 100%;
}

.tfs-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
}

.tfs-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

.tfs-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tfs-hero__dim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 60, 118, 0) 0%, rgba(0, 60, 118, 0) 49.9%, rgba(0, 60, 118, 0.92) 50%, rgba(0, 60, 118, 0.92) 100%);
	pointer-events: none;
}

.tfs-hero__stage {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.tfs-hero__frame {
	position: absolute;
	pointer-events: auto;
	border: 1.5px solid rgba(255, 255, 255, 0.85);
	padding: 0 clamp(1rem, 4vw, 4rem) 0 clamp(1.5rem, 6vw, 6rem);
	left: 46%;
	right: 7%;
	top: 15%;
	bottom: 26%;
	color: #ffffff;
	background: transparent;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.tfs-hero__title {
	color: #ffffff;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-weight: 700;
	line-height: 1.02;
	margin: 0 0 0.5rem;
	font-size: clamp(1.95rem, 2.95vw, 2.75rem);
	padding-left: clamp(0.9rem, 1.2vw, 1.15rem);
	border-left: 4px solid #f8002e;
	display: block;
}

.tfs-hero__title-line-1,
.tfs-hero__title-line-2 {
	display: block;
}

.tfs-hero__subtitle {
	margin: 0;
	color: #ffffff;
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: clamp(0.9rem, 1.05vw, 1.05rem);
	font-weight: 300;
	line-height: 1.4;
	padding-left: clamp(0.9rem, 1.2vw, 1.15rem);
	letter-spacing: 0.02em;
	opacity: 0.92;
}

.tfs-hero__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: transparent;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	line-height: 0;
	min-height: 0;
	font-size: 0;
	letter-spacing: 0;
	text-transform: none;
	opacity: 0.55;
	transition: opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.tfs-hero__nav--prev { left: clamp(0.5rem, 1.2vw, 1rem); }
.tfs-hero__nav--next { right: clamp(0.5rem, 1.2vw, 1rem); }

.tfs-hero:hover .tfs-hero__nav,
.tfs-hero:focus-within .tfs-hero__nav {
	opacity: 0.9;
}

.tfs-hero__nav:hover,
.tfs-hero__nav:focus-visible {
	background: rgba(0, 0, 0, 0.25);
	border-color: #ffffff;
	opacity: 1;
}

.tfs-hero__nav:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.tfs-hero__bottom {
	position: absolute;
	left: 0;
	right: 0;
	bottom: clamp(0.75rem, 1.8vw, 1.2rem);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	pointer-events: none;
}

.tfs-hero__dots {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0;
	pointer-events: auto;
}

.tfs-hero__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	border: 0;
	padding: 0;
	cursor: pointer;
	min-height: 0;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	text-transform: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.tfs-hero__dot.is-active,
.tfs-hero__dot[aria-selected="true"] {
	background: #ffffff;
}

.tfs-hero__dot:hover,
.tfs-hero__dot:focus-visible {
	background: #ffffff;
}

.tfs-hero__dot:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.tfs-hero__pause {
	pointer-events: auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: rgba(0, 0, 0, 0.25);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	line-height: 0;
	min-height: 0;
	font-size: 0;
	opacity: 0.7;
	transition: opacity 0.2s ease, background-color 0.2s ease;
	margin-left: 0.4rem;
}

.tfs-hero:hover .tfs-hero__pause,
.tfs-hero:focus-within .tfs-hero__pause {
	opacity: 1;
}

.tfs-hero__pause:hover,
.tfs-hero__pause:focus-visible {
	background: rgba(0, 0, 0, 0.45);
	border-color: #ffffff;
	opacity: 1;
}

.tfs-hero__pause:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.tfs-hero__pause .tfs-hero__icon-play { display: none; }
.tfs-hero__pause.is-paused .tfs-hero__icon-pause { display: none; }
.tfs-hero__pause.is-paused .tfs-hero__icon-play { display: block; }

@media (prefers-reduced-motion: reduce) {
	.tfs-hero__slide {
		transition: none;
	}
}

.tfs-section {
	width: min(1320px, 100% - 3rem);
	margin: clamp(1.5rem, 2.5vw, 2.5rem) auto 0;
}

.tfs-section--home-intro {
	padding-top: clamp(1.25rem, 2vw, 2rem);
}

.tfs-section--home-intro > .wp-block-columns {
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: flex-start;
	max-width: 100%;
}

.tfs-section--home-intro .wp-block-column {
	max-width: 100%;
	flex-basis: 0;
}

.tfs-section--home-intro .wp-block-column h2 {
	margin-top: 0;
}

.tfs-section--home-intro p {
	color: #656565;
	font-size: 0.95rem;
	line-height: 1.55;
	margin-bottom: 0.9rem;
}

.tfs-section--home-intro .wp-block-buttons {
	margin-top: 0.85rem;
}

.wp-block-heading.is-style-tfs-section-title {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: clamp(1.3rem, 1.9vw, 1.55rem);
	font-weight: 700;
	color: #003c76;
	border-left: 3px solid #f8002e;
	padding-left: 0.85rem;
	margin: 0 0 1.35rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.tfs-activity .wp-block-heading.is-style-tfs-section-title {
	color: #ffffff;
	border-left-color: #f8002e;
}

.tfs-section--home-intro .wp-block-heading.is-style-tfs-section-title {
	border-left: 0;
	padding-left: 0;
	letter-spacing: 0.04em;
}

.tfs-list-inline {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
}

.tfs-list-inline li {
	position: relative;
	padding-left: 1rem;
	margin-bottom: 0.4rem;
	color: #656565;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tfs-list-inline li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #f8002e;
}

.is-style-tfs-primary .wp-element-button,
.wp-block-button.is-style-tfs-primary .wp-element-button {
	background: #d40028;
	color: #ffffff;
	border: 1px solid #d40028;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.25rem 1rem 0.25rem 0.3rem;
	min-height: 0;
	font-size: 0.78rem;
	line-height: 1.55;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
}

.is-style-tfs-primary .wp-element-button::before,
.wp-block-button.is-style-tfs-primary .wp-element-button::before {
	content: "";
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3.2 1.5L6.7 5L3.2 8.5' fill='none' stroke='%23f8002e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
	flex-shrink: 0;
}

.is-style-tfs-primary .wp-element-button:hover,
.is-style-tfs-primary .wp-element-button:focus-visible,
.wp-block-button.is-style-tfs-primary .wp-element-button:hover,
.wp-block-button.is-style-tfs-primary .wp-element-button:focus-visible {
	background: #2e2e2e;
	border-color: #2e2e2e;
	color: #ffffff;
}

.is-style-tfs-outline .wp-element-button,
.wp-block-button.is-style-tfs-outline .wp-element-button {
	background: transparent;
	color: #d40028;
	border: 1px solid #d40028;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.3rem 1rem;
	min-height: 0;
	font-size: 0.78rem;
	line-height: 1.55;
	border-radius: 999px;
}

.is-style-tfs-outline .wp-element-button:hover,
.is-style-tfs-outline .wp-element-button:focus-visible,
.wp-block-button.is-style-tfs-outline .wp-element-button:hover,
.wp-block-button.is-style-tfs-outline .wp-element-button:focus-visible {
	background: #d40028;
	color: #ffffff;
}

.tfs-capital-logos {
	background: #f4f4f4;
	padding: 1.75rem 0;
	margin: clamp(1.5rem, 2.5vw, 2.5rem) auto 0;
	width: 100%;
	border-top: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
}

.tfs-capital-logos__inner {
	width: min(1200px, 100% - 3rem);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	align-items: center;
	justify-items: center;
}

.tfs-capital-logos__inner img {
	max-height: 60px;
	width: auto;
	max-width: 100%;
	filter: grayscale(100%);
	opacity: 0.55;
	transition: opacity 0.25s ease, filter 0.25s ease;
}

.tfs-capital-logos__inner img:hover {
	opacity: 1;
	filter: grayscale(0%);
}

.tfs-news {
	margin-top: clamp(2.5rem, 4.5vw, 4rem);
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.tfs-news .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.tfs-news article,
.tfs-news .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	background: transparent;
}

.tfs-news .wp-block-post-featured-image {
	margin: 0 0 0.85rem;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #eef1f6;
}

.tfs-news .wp-block-post-featured-image img,
.tfs-news .wp-block-post-featured-image a,
.tfs-news .wp-block-post-featured-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tfs-news .tfs-news-placeholder-figure {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eef1f6;
}

.tfs-news .tfs-news-placeholder-figure a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.tfs-news .tfs-news-placeholder-figure img.tfs-news-placeholder {
	max-width: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 0.45;
}

.tfs-news .wp-block-post-title {
	margin: 0.25rem 0 0.15rem;
	color: #003c76;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
}

.tfs-news .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.tfs-news .wp-block-post-title a:hover,
.tfs-news .wp-block-post-title a:focus-visible {
	color: #f8002e;
}

.tfs-news .wp-block-post-date {
	color: #767676;
	font-size: 0.82rem;
	margin-bottom: 0.4rem;
}

.tfs-news .wp-block-post-excerpt {
	color: #656565;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0 0 0.6rem;
}

.tfs-news .wp-block-post-excerpt__more-link,
.tfs-read-more-link {
	color: #d40028;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-weight: 600;
	font-size: 0.82rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.tfs-news .wp-block-post-excerpt__more-link::before,
.tfs-read-more-link::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #f8002e;
}

.tfs-news .wp-block-post-excerpt__more-link:hover,
.tfs-news .wp-block-post-excerpt__more-link:focus-visible,
.tfs-read-more-link:hover,
.tfs-read-more-link:focus-visible {
	color: #ce0026;
	text-decoration: underline;
}

.tfs-cta-center {
	text-align: center;
	margin-top: 2rem;
}

.tfs-cta-center .wp-block-buttons {
	justify-content: center;
}

.tfs-page-block-spacing {
	margin-top: clamp(1.75rem, 3vw, 3rem);
	margin-bottom: clamp(1.75rem, 3vw, 3rem);
}

/* ----- Entry header (page.php) ----- */

.tfs-entry-header {
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: 0;
}

/* Non-hero pages: remove entry-header border-bottom and entry-content top padding.
   The first content block (lead section) provides its own top border as separator. */
article:not(.has-page-hero) .tfs-entry-header {
	border-bottom: none;
}

article:not(.has-page-hero) .entry-content {
	padding-top: 0;
}

.tfs-entry-header__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.tfs-entry-header__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0;
}

/* ----- Archive shared layout ----- */

.tfs-archive {
	width: 100%;
}

.tfs-archive__header {
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: 0;
}

.tfs-archive__header-inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.tfs-archive__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	line-height: 1.2;
}

.tfs-archive__description {
	margin: 0.5rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 1rem;
}

.tfs-archive__content {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding-block: clamp(2rem, 4vw, 3.5rem);
}

.tfs-archive__empty {
	color: var(--wp--preset--color--muted);
	font-size: 1rem;
}

/* ----- Aktualności archive grid ----- */

.tfs-news-archive-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem 2rem;
}

.tfs-news-archive-grid > li {
	display: flex;
	flex-direction: column;
}

/* ----- News card ----- */

.content-card {
	display: flex;
	flex-direction: column;
	gap: 0;
	height: 100%;
}

.content-card--news .content-card__thumbnail {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #eef1f6;
	margin-bottom: 0.85rem;
}

.content-card--news .content-card__thumbnail img,
.content-card--news .content-card__thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	text-decoration: none;
}

.content-card--news .content-card__header {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.content-card--news .content-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--wp--preset--color--primary);
}

.content-card--news .content-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.content-card--news .content-card__title a:hover,
.content-card--news .content-card__title a:focus-visible {
	color: var(--wp--preset--color--secondary);
}

.content-card--news .content-card__title a:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 2px;
	border-radius: 2px;
}

.content-card--news time {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.02em;
}

.content-card--news .content-card__excerpt {
	margin-top: 0.5rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--text);
	line-height: 1.6;
}

.content-card--news .content-card__excerpt p {
	margin: 0;
}

/* ----- News card: Czytaj więcej button ----- */
/* Matches is-style-tfs-primary visual style; applied to a plain <a> in PHP template. */

.tfs-card__read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	padding: 0.25rem 1rem 0.25rem 0.3rem;
	background: #d40028;
	color: #ffffff;
	border: 1px solid #d40028;
	border-radius: 999px;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.55;
	text-decoration: none;
	align-self: flex-start;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

/* Override a:visited specificity from base.css */
.tfs-card__read-more:visited {
	color: #ffffff;
}

.tfs-card__read-more::before {
	content: "";
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3.2 1.5L6.7 5L3.2 8.5' fill='none' stroke='%23d40028' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
	flex-shrink: 0;
	transition: background-image 0.25s ease;
}

.tfs-card__read-more:hover,
.tfs-card__read-more:focus-visible {
	background: #003c76;
	border-color: #003c76;
	color: #ffffff;
}

.tfs-card__read-more:hover::before,
.tfs-card__read-more:focus-visible::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3.2 1.5L6.7 5L3.2 8.5' fill='none' stroke='%23003c76' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.tfs-card__read-more:focus-visible {
	outline: 2px solid #003c76;
	outline-offset: 3px;
}

/* ----- Ogłoszenia archive list ----- */

.tfs-ogloszenia-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.tfs-ogloszenia-list__item {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tfs-ogloszenia-list__item:first-child {
	border-top: 1px solid var(--wp--preset--color--border);
}

/* ----- Ogłoszenie card (formal list item) ----- */

.tfs-ogloszenie-card {
	padding: 1.25rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.tfs-ogloszenie-card__meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.tfs-ogloszenie-card__date {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.02em;
}

.tfs-ogloszenie-card__status {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.15em 0.55em;
	border-radius: 999px;
	line-height: 1.6;
}

.tfs-ogloszenie-card__status--aktualne {
	background: #e6f0f9;
	color: var(--wp--preset--color--primary);
}

.tfs-ogloszenie-card__status--zakonczone,
.tfs-ogloszenie-card__status--archiwalne {
	background: #f0f0f0;
	color: var(--wp--preset--color--muted);
}

.tfs-ogloszenie-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(0.95rem, 1.4vw, 1.1rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--wp--preset--color--primary);
}

.tfs-ogloszenie-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.tfs-ogloszenie-card__title a:hover,
.tfs-ogloszenie-card__title a:focus-visible {
	color: var(--wp--preset--color--secondary);
}

.tfs-ogloszenie-card__title a:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 2px;
	border-radius: 2px;
}

.tfs-ogloszenie-card__deadline {
	margin: 0;
	font-size: 0.85rem;
	color: var(--wp--preset--color--text);
}

.tfs-ogloszenie-card__link {
	align-self: flex-start;
	margin-top: 0.35rem;
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.tfs-ogloszenie-card__link:hover,
.tfs-ogloszenie-card__link:focus-visible {
	color: var(--wp--preset--color--secondary);
}

.tfs-ogloszenie-card__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 3px;
	border-radius: 2px;
}

/* ----- Archive pagination (numeric) ----- */

.tfs-archive__pagination {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.tfs-archive__pagination .nav-links {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	flex-wrap: wrap;
}

/* All page-number items: prev/next arrows and numbered links */
.tfs-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #003c76;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 4px;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.tfs-archive__pagination .page-numbers:hover {
	background: #f5f5f5;
	border-color: #dadada;
}

/* Current page */
.tfs-archive__pagination .page-numbers.current {
	background: #f8002e;
	border-color: #f8002e;
	color: #ffffff;
	pointer-events: none;
}

/* Dots separator */
.tfs-archive__pagination .page-numbers.dots {
	border: none;
	color: #999;
	pointer-events: none;
}

/* Prev / next arrows */
.tfs-archive__pagination .page-numbers.prev,
.tfs-archive__pagination .page-numbers.next {
	font-size: 1rem;
	padding: 0 0.6rem;
	color: #003c76;
}

.tfs-archive__pagination .page-numbers:focus-visible {
	outline: 2px solid #f8002e;
	outline-offset: 2px;
}

/* ----- Responsive: archive grid ----- */

@media (max-width: 1024px) {
	.tfs-news-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tfs-news-archive-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.tfs-archive__content {
		width: min(1320px, 100% - 1rem);
	}

	.tfs-archive__header-inner {
		width: min(1320px, 100% - 1rem);
	}

	.tfs-entry-header__inner {
		width: min(1320px, 100% - 1rem);
	}
}

/* ----- Search results page ----- */

.tfs-search__query {
	font-style: italic;
}

.tfs-search__section {
	margin-top: clamp( 2rem, 4vw, 3rem );
}

.tfs-search__section + .tfs-search__section {
	margin-top: clamp( 2.5rem, 5vw, 4rem );
	padding-top: clamp( 2rem, 4vw, 3rem );
	border-top: 1px solid var( --wp--preset--color--border );
}

.tfs-search__section-title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 0.85rem, 1.5vw, 1rem );
	font-weight: 700;
	color: var( --wp--preset--color--secondary );
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 1.5rem;
}

.tfs-search__browse-links {
	margin-top: 0.5rem;
	color: var( --wp--preset--color--muted );
}

.tfs-search__browse-links a {
	color: var( --wp--preset--color--primary );
	text-decoration: underline;
}

/* Relevanssi keyword highlight (bgcol mode) */
.hl {
	background-color: #fff4a0;
	padding: 0 2px;
	border-radius: 2px;
}

.tfs-document-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tfs-document-links__list li {
	margin: 0 0 0.7rem;
	padding: 0;
}

.tfs-document-links__list a {
	display: inline-flex;
	align-items: baseline;
	color: #003c76;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.tfs-document-links__list a:hover,
.tfs-document-links__list a:focus-visible {
	color: #f8002e;
}

.tfs-table-responsive {
	width: 100%;
	overflow-x: auto;
}

.tfs-table-responsive table {
	min-width: 620px;
	width: 100%;
	border-collapse: collapse;
}

.tfs-table-responsive table th {
	background: #fff;
	font-weight: 700;
	border-bottom: 2px solid #003c76;
	padding: 0.5rem 1rem;
	text-align: left;
	color: #003c76;
}

.tfs-table-responsive table td {
	padding: 0.5rem 1rem;
}

.tfs-table-responsive table tbody tr:nth-child(odd) td {
	background-color: #ebebeb;
}

.tfs-table-responsive table tbody tr:nth-child(even) td {
	background-color: #fff;
}

/* ============================================================
   Nadzór właścicielski — tfs-nadzor-content
   Source: tables with company portfolio data
   ============================================================ */
.tfs-nadzor-content {
	border-top: 1px solid #dadada;
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-nadzor-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-nadzor-section__heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	color: #003c76;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

/* /nadzor-wlascicielski/: suppress double border between lead and content */
.page-id-1690 .tfs-nadzor-content {
	border-top: none;
}

.tfs-company-list .wp-block-table td,
.tfs-company-list .wp-block-table th {
	vertical-align: top;
}

.tfs-activity {
	background: #003c76;
	color: #ffffff;
	padding: clamp(2.75rem, 5.5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4rem);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: clamp(3rem, 5.5vw, 4.5rem);
}

.tfs-activity__inner {
	width: min(1200px, 100% - 2rem);
	margin-inline: auto;
}

.tfs-activity .is-style-tfs-section-title {
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin-bottom: 2rem;
}

.tfs-activity .wp-block-columns {
	gap: 2.5rem;
}

.tfs-activity .wp-block-column > h3 {
	color: #ffffff;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 0.8rem;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.tfs-activity .wp-block-column > h3::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #f8002e;
	flex-shrink: 0;
}

.tfs-activity .wp-block-column p {
	color: #e4e8f2;
	font-size: 0.92rem;
	line-height: 1.55;
}

.tfs-activity__divider {
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	margin: 2rem 0 1.75rem;
	width: 100%;
}

.tfs-activity__plane {
	display: grid;
	grid-template-columns: minmax(260px, 35%) 1fr;
	align-items: center;
	gap: 2rem;
}

.tfs-activity__plane .wp-block-column:first-child {
	flex-basis: auto !important;
}

.tfs-activity__plane img {
	max-width: 100%;
	height: auto;
	display: block;
}

.tfs-activity__plane h3 {
	margin-top: 0;
}

.tfs-activity__plane h3::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #f8002e;
	margin-right: 0.55rem;
}

.tfs-activity__plane p {
	color: #e4e8f2;
}

.tfs-announcements {
	margin: clamp(3rem, 5.5vw, 4.5rem) auto;
	text-align: center;
	padding: clamp(1rem, 3vw, 2rem) 0 clamp(1rem, 3vw, 2rem);
}

.tfs-announcements .is-style-tfs-section-title {
	text-align: left;
	width: min(1200px, 100% - 2rem);
	margin-inline: auto;
	margin-bottom: 2.5rem;
}

.tfs-announcements .wp-block-buttons {
	justify-content: center;
}

.tfs-front-page-fallback {
	padding: 1.5rem 1.25rem;
	border: 1px solid #d2d6db;
}

.site-footer {
	background: #003c76;
	color: #ffffff;
	margin-top: auto;
}

.site-footer__inner {
	padding: 0;
	display: block;
}

.site-footer__main {
	padding: 2.5rem 0 2.25rem;
	display: grid;
	gap: 2rem;
	grid-template-columns: 180px 1.2fr 1.6fr;
	align-items: start;
}

.site-footer__logo {
	display: flex;
	align-items: flex-start;
	padding-top: 0.25rem;
}

.site-footer__logo img {
	max-width: 160px;
	height: auto;
}

.site-footer__address,
.site-footer__registry {
	font-size: 0.88rem;
	line-height: 1.55;
	color: #ffffff;
}

.site-footer__address p,
.site-footer__registry p {
	margin: 0 0 0.2rem;
}

.site-footer__address strong {
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	color: #ffffff;
}

.site-footer__a11y-strip {
	background: #e5e5e5;
	color: #1a1a1a;
	padding: 0.5rem 0;
}

.site-footer__a11y-inner {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}

.site-footer__a11y-bip {
	display: inline-flex;
	align-items: center;
}

.site-footer__a11y-bip img {
	max-height: 36px;
	width: auto;
	display: block;
}

.site-footer__a11y-legal {
	font-size: 0.82rem;
}

.site-footer__a11y-legal a {
	color: #333;
	text-decoration: none;
}

.site-footer__a11y-legal a:hover,
.site-footer__a11y-legal a:focus-visible {
	color: #f8002e;
	text-decoration: underline;
}

.site-footer__a11y-copy {
	margin-left: auto;
	font-size: 0.82rem;
	color: #333;
}

.site-footer__a11y-social {
	display: inline-flex;
	gap: 0.35rem;
	align-items: center;
}

.site-footer__a11y-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #003c76;
	color: #ffffff;
	text-decoration: none;
}

.site-footer__a11y-social a:hover,
.site-footer__a11y-social a:focus-visible {
	background: #f8002e;
	color: #ffffff;
}

.site-footer__a11y-social svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
	display: block;
}

.site-footer__a11y-text-size {
	display: inline-flex;
}

.text-size-switcher {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

.text-size-switcher__button {
	min-height: 1.9rem;
	min-width: 2rem;
	padding: 0.1rem 0.45rem;
	border: 1px solid #6d6d6d;
	background: transparent;
	color: #1a1a1a;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-weight: 700;
	font-size: 0.82rem;
	cursor: pointer;
	line-height: 1;
	border-radius: 0;
	text-transform: none;
	letter-spacing: 0;
}

.text-size-switcher__button[aria-pressed="true"] {
	background: #003c76;
	color: #ffffff;
	border-color: #003c76;
}

.has-text-size-a-plus body { font-size: 1.125rem; }
.has-text-size-a-plus-plus body { font-size: 1.25rem; }

.wp-block-image.is-style-tfs-logo img {
	max-height: 90px;
	width: auto;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.primary-navigation a {
		font-size: 0.82rem;
		padding: 0 0.55rem;
		height: 72px;
	}

	.site-footer__main {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__logo {
		grid-column: 1 / -1;
	}

	.tfs-capital-logos__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem 2rem;
	}

	.tfs-activity__plane {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.tfs-hero {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 900px) {
	.menu-toggle {
		display: inline-flex;
	}

	.primary-navigation {
		display: none;
		width: 100%;
		order: 3;
		margin-left: 0;
	}

	.site-header.is-open .primary-navigation {
		display: block;
	}

	.primary-navigation ul {
		flex-direction: column;
		gap: 0;
		align-items: stretch;
	}

	.primary-navigation a {
		height: auto;
		width: 100%;
		padding: 0.85rem 0.2rem;
		border-bottom: 1px solid #ededed;
		font-size: 0.88rem;
	}

	.primary-navigation .sub-menu {
		position: static;
		display: flex;
		border: 0;
		border-top: 1px dashed #d2d6db;
		box-shadow: none;
		padding: 0 0 0.45rem 0.85rem;
	}

	.tfs-news .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tfs-activity .wp-block-columns {
		flex-wrap: wrap;
	}
}

@media (max-width: 900px) {
	.tfs-hero__dim {
		background: linear-gradient(90deg, rgba(0, 60, 118, 0) 0%, rgba(0, 60, 118, 0) 44.9%, rgba(0, 60, 118, 0.9) 45%, rgba(0, 60, 118, 0.9) 100%);
	}

	.tfs-hero__frame {
		left: 42%;
		right: 4%;
		top: 14%;
		bottom: 24%;
		padding: 0 1.5rem 0 3rem;
	}
}

@media (max-width: 640px) {
	.tfs-hero {
		aspect-ratio: 4 / 5;
		min-height: 480px;
	}

	.tfs-hero__dim {
		background: linear-gradient(180deg, rgba(0, 60, 118, 0) 0%, rgba(0, 60, 118, 0.55) 45%, rgba(0, 60, 118, 0.88) 100%);
	}

	.tfs-hero__frame {
		padding: 1.25rem 1.1rem;
		left: 4%;
		right: 4%;
		top: auto;
		bottom: 10%;
		height: auto;
	}

	.tfs-hero__nav {
		width: 32px;
		height: 32px;
	}

	.tfs-hero__title {
		font-size: 1.75rem;
	}

	.tfs-news .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.tfs-capital-logos__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.site-footer__main {
		grid-template-columns: 1fr;
	}

	.site-footer__a11y-copy,
	.site-footer__a11y-text-size {
		margin-left: 0;
	}
}

.tfs-hero-slider__frame-link {
	display: block;
	color: inherit;
	text-decoration: none;
	width: 100%;
	height: 100%;
}

.tfs-hero-slider__frame-link:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 4px;
}

.tfs-hero-slider__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
}

.tfs-logo-strip {
	background: #f4f4f4;
	padding: 1.75rem 0;
	margin: clamp(1.5rem, 2.5vw, 2.5rem) auto 0;
	width: 100%;
	border-top: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
}

.tfs-logo-strip__inner {
	width: min(1200px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-logo-strip__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	align-items: center;
	justify-items: center;
}

.tfs-logo-strip__item {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 44px;
}

.tfs-logo-strip__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.5rem;
	border-radius: 4px;
	text-decoration: none;
	min-width: 44px;
	min-height: 44px;
	transition: background-color 0.2s ease;
}

.tfs-logo-strip__link:focus-visible {
	outline: 2px solid #003c76;
	outline-offset: 3px;
}

.tfs-logo-strip__image {
	max-height: 60px;
	width: auto;
	max-width: 100%;
	filter: grayscale(100%);
	opacity: 0.55;
	transition: opacity 0.25s ease, filter 0.25s ease;
	display: block;
}

.tfs-logo-strip__link:hover .tfs-logo-strip__image,
.tfs-logo-strip__link:focus-visible .tfs-logo-strip__image,
.tfs-logo-strip__item:hover .tfs-logo-strip__image {
	opacity: 1;
	filter: grayscale(0%);
}

@media (max-width: 1024px) {
	.tfs-logo-strip__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem 2rem;
	}
}

@media (max-width: 640px) {
	.tfs-logo-strip__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}
}

/* ============================================================
   TFS Page Hero (static subpage banner) — matches production header-01.jpg style
   Source: div.custom, height 208px, no CSS overlay, bg is naturally dark navy image
   ============================================================ */
.tfs-page-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #003c76;
	min-height: 208px;
	display: flex;
	align-items: center;
}

.tfs-page-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 40%;
	opacity: 0.18;
	pointer-events: none;
}

.tfs-page-hero__inner {
	position: relative;
	z-index: 1;
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding: 2.5rem 0;
}

.tfs-page-hero__text {
	border-left: 6px solid #f8002e;
	padding-left: 1.5rem;
}

/* Source: div.slider-title-1 — 40px/52px Playfair Display 700 white */
.tfs-page-hero__title {
	color: #fff;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	font-size: clamp(1.75rem, 2.78vw, 2.5rem);
	display: block;
}

.tfs-page-hero__title-line1,
.tfs-page-hero__title-line2 {
	display: block;
}

/* Source: div.slider-title-2 — 24px BarlowSCK #d2d2d2, NOT italic */
.tfs-page-hero__subtitle {
	color: #d2d2d2;
	font-style: normal;
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: clamp(1rem, 1.67vw, 1.5rem);
	margin: 0.5rem 0 0;
	letter-spacing: 0;
}

/* article with a hero: hide the template H1 visually, keep for screen readers */
article.has-page-hero .tfs-entry-header {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

article.has-page-hero .entry-content {
	padding-top: 0;
}

/* ============================================================
   TFS Page Title (replaces tiny breadcrumb)
   Source: <h2> in .itemHeader — Playfair Display 40px/60px 700 #003c76 uppercase mb 40px
   ============================================================ */
.tfs-page-title {
	background: #fff;
}

.tfs-page-title__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding: 1.5rem 0 1.25rem;
}

.tfs-page-title__heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: clamp(1.75rem, 2.78vw, 2.5rem);
	font-weight: 700;
	color: #003c76;
	text-transform: uppercase;
	letter-spacing: normal;
	margin: 0;
	line-height: 1.5;
}

/* Separator "/" between "Grupa kapitałowa" and company name */
.tfs-page-title__sep {
	font-weight: 300;
	color: rgba(0, 60, 118, 0.38);
	padding: 0 0.45em;
	font-style: italic;
}

/* ---- Linked breadcrumb inside tfs-page-title__heading ---- */

/* Parent segment: near-black like nav links */
.tfs-page-title__heading .tfs-breadcrumb__parent {
	color: #121010;
	text-decoration: none;
	transition: color 0.2s ease;
}

.tfs-page-title__heading .tfs-breadcrumb__parent:hover,
.tfs-page-title__heading .tfs-breadcrumb__parent:focus-visible {
	color: #d40028;       /* brand red — WCAG AA 5.44:1 on white */
	text-decoration: underline;
}

/* "/" separator: near-black, override faded-navy default */
.tfs-page-title__sep.tfs-breadcrumb__sep {
	color: #121010;
	font-style: normal;
}

/* Current (active) segment: keep the heading navy */
.tfs-page-title__heading .tfs-breadcrumb__current {
	color: #003c76;
}

/* ============================================================
   TFS Lead Section
   Source: div.lead — Playfair Display 24px/36px weight 300 #003c76
   border-top/bottom: 1px solid #dadada, padding 10px 0, margin-bottom 35px
   ============================================================ */
.tfs-lead-section {
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
	background: #fff;
	margin-bottom: 2.1875rem;
}

.tfs-lead-section__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	padding: 0.625rem 0;
}

.tfs-lead-section__text {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.5;
	color: #003c76;
	margin: 0;
}

/* ============================================================
   TFS Info Tiles (3 equal columns, no cards, no borders)
   Source: 3×.col-lg-4 (400px each, gap 30px via padding 0 15px)
   Titles: h5.fa.fa-arrow-right — Playfair Display 18px/27px weight 400 #003c76
   Arrow: ::before pseudo red, inline
   ============================================================ */
.tfs-info-tiles {
	background: #fff;
	padding: 0 0 2.5rem;
}

.tfs-info-tiles__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-info-tiles__row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 1.875rem;
}

.tfs-info-tile-col {
	padding: 0;
}

/* Source: h5 — Playfair Display 18px/27px weight 400 #003c76, normal case */
.tfs-info-tile__title {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.125rem;
	font-weight: 400;
	color: #003c76;
	text-transform: none;
	letter-spacing: normal;
	margin: 0 0 0.5rem;
	line-height: 1.5;
	border: 0;
	padding: 0;
}

/* Source: h5::before via FontAwesome fa-arrow-right — red #f8002e inline */
.tfs-info-tile__title::before {
	content: '\2192\00A0';
	color: #f8002e;
	font-style: normal;
}

/* Second tile title in same column has top margin matching source (25px) */
.tfs-info-tile__title--below {
	margin-top: 1.5625rem;
}

/* Source: p in .col-lg-4 — BarlowSCK 16px/24px #656565 */
.tfs-info-tile__desc {
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
	color: #656565;
	line-height: 1.5;
	margin: 0;
}

/* ============================================================
   TFS Władze Spółki section
   Source structure: h3 (30px/45px Playfair 700 uppercase #003c76 pb 20px)
                     h4 (24px/36px Playfair 400 normal #003c76)
                     p  (BarlowSCK 16px/24px #656565)
   ============================================================ */
.tfs-spolka-wladze {
	padding: 2rem 0 3rem;
	background: #fff;
	border-top: 1px solid #dadada;
}

.tfs-spolka-wladze__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

/* h3 — WŁADZE SPÓŁKI: Playfair Display 30px uppercase #003c76 */
.tfs-spolka-wladze__heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.875rem;
	font-weight: 700;
	color: #003c76;
	text-transform: uppercase;
	letter-spacing: normal;
	border: 0;
	padding: 0 0 1.25rem;
	margin: 0 0 0;
}

/* h4 — Zarząd / Rada Nadzorcza: Playfair Display 24px weight 400 normal case #003c76 */
.tfs-spolka-wladze__subheading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #003c76;
	text-transform: none;
	letter-spacing: normal;
	margin: 1.5rem 0 0.25rem;
}

/* p — person name: BarlowSCK 16px #656565; 1.5rem bottom gap matches source spacer-paragraph rhythm */
.tfs-spolka-wladze__person {
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
	color: #656565;
	line-height: 1.5;
	margin: 0 0 1.5rem;
}
.tfs-spolka-wladze__person:last-child {
	margin-bottom: 0;
}

/* Responsive: info tiles */
@media (max-width: 960px) {
	.tfs-info-tiles__row {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

@media (max-width: 560px) {
	.tfs-info-tiles__row {
		grid-template-columns: 1fr;
	}

	.tfs-page-hero__title {
		font-size: 1.75rem;
	}

	.tfs-page-hero__subtitle {
		font-size: 1rem;
	}
}

/* ============================================
   Strategia CSR — tfs-csr-section
   ============================================ */

.tfs-csr-section {
	border-top: 1px solid #dadada;
	padding: 2rem 0 3rem;
}

.tfs-csr-section__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

/* 3 × 2 grid — matches source Bootstrap .col-lg-4 layout */
.tfs-csr-section__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem 1.875rem;
}

.tfs-csr-tile {
	/* no border, no card — matches source plain column */
}

/* h2 tile heading — same visual as .tfs-info-tile__title: 18px 400 #003c76 with red arrow */
.tfs-csr-tile__title {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.125rem;
	font-weight: 400;
	color: #003c76;
	text-transform: none;
	margin: 0 0 0.75rem;
	line-height: 1.4;
}

.tfs-csr-tile__title::before {
	content: '\2192\00A0';
	color: #f8002e;
}

/* ul list — BarlowSCK 16px #656565 matching source li text */
.tfs-csr-tile__list {
	margin: 0;
	padding-left: 1.25rem;
	list-style: disc;
}

.tfs-csr-tile__list li {
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
	color: #656565;
	line-height: 1.5;
	margin-bottom: 0.375rem;
}

.tfs-csr-tile__list li:last-child {
	margin-bottom: 0;
}

/* PDF / document button row — centered, matches source .octa-btn.red */
.tfs-csr-btn-row {
	border-top: 1px solid #dadada;
	padding: 2rem 0;
	text-align: center;
}

.tfs-csr-btn-row__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	text-align: center;
}

.tfs-csr-btn {
	display: inline-block;
	background: #d40028;
	color: #fff;
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	padding: 0.5rem 1.5rem;
	border: 2px solid #d40028;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.tfs-csr-btn:hover,
.tfs-csr-btn:focus {
	background: #fff;
	color: #d40028;
	outline: 2px solid #d40028;
	outline-offset: 2px;
}

/* Responsive: CSR grid */
@media (max-width: 960px) {
	.tfs-csr-section__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

@media (max-width: 560px) {
	.tfs-csr-section__grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   Gutenberg core block overrides for O NAS section pages
   ============================================================ */

/* core/cover: fix background-position to match .tfs-page-hero__bg (center 40%) */
.wp-block-cover.tfs-page-hero {
	background-position: center 40%;
}

/* /strategia-csr/ (page-id-1688): tfs-csr-section has its own border-top but
   tfs-lead-section already provides a border-bottom separator above it.
   Suppress the redundant top border to remove the double-line between lead and CSR grid. */
.page-id-1688 .tfs-csr-section {
	border-top: none;
}

/* ============================================================
   Kariera — tfs-kariera-content
   Source: .itemFullText2 — bullet list, email CTA, job listings
   ============================================================ */
.tfs-kariera-content {
	border-top: 1px solid #dadada;
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-kariera-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-kariera-content__email a {
	color: #d40028;
	font-weight: 600;
}

.tfs-kariera-content__email a:hover,
.tfs-kariera-content__email a:focus-visible {
	color: #003c76;
}

.tfs-kariera-jobs__heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	color: #003c76;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
}

.tfs-kariera-rodo {
	color: #767676;
	border-top: 1px solid #dadada;
	padding-top: 1.25rem;
	margin-top: 2rem;
}

/* /kariera/: suppress double border and reduce top padding — lead margin-bottom (35px)
   already provides the visual separator, so 2.5rem padding-top would double the gap. */
.page-id-1689 .tfs-kariera-content {
	border-top: none;
	padding-top: 1.25rem;
}

/* Benefits list — red arrow bullets matching production fa-arrow-right style.
   Pattern reuses the same unicode arrow used on .tfs-csr-tile__title::before and
   .tfs-info-tile__title::before. */
.tfs-kariera-content__benefits {
	list-style: none;
	padding-left: 0;
	margin: 0 0 1.5rem;
}

.tfs-kariera-content__benefits li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.75rem;
	line-height: 1.6;
}

.tfs-kariera-content__benefits li::before {
	content: '\2192';
	color: #f8002e;
	position: absolute;
	left: 0;
	top: 0.1em;
	font-weight: 700;
	line-height: 1;
}

/* ============================================================
   Kodeks Etyki — tfs-kodeks-content
   Source: .itemFullText2 — image floated right, list left
   ============================================================ */
.tfs-kodeks-content {
	border-top: 1px solid #dadada;
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-kodeks-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

/* Image column — source: width:600px floated right */
.tfs-kodeks-content__image-col img {
	width: 100%;
	height: auto;
	display: block;
}

/* List column — source: plain <ul> with <li><p> items */
.tfs-kodeks-content__list {
	padding-left: 1.25rem;
}

.tfs-kodeks-content__list li {
	margin-bottom: 1rem;
	line-height: 1.6;
	color: #333;
}

@media (max-width: 768px) {
	.tfs-kodeks-content .wp-block-columns {
		flex-direction: column-reverse;
	}
}

/* /kodeks-etyki/: no double border between lead and content section */
.page-id-1686 .tfs-kodeks-content {
	border-top: none;
}

/* ============================================================
   Sygnaliści (page-id-1710) — content width constraint
   Raw blocks have no group wrappers so .entry-content spans
   the full viewport. Constraining it to the site max-width
   (1320px with 1.5rem gutters) matches the standard layout.
   WPForms box-sizing guard prevents input overflow at narrow
   viewports.
   ============================================================ */
.page-id-1710 .entry-content {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
	box-sizing: border-box;
	padding-top: 2rem;
	padding-bottom: 3rem;
}

.page-id-1710 .wpforms-container {
	max-width: 100%;
	box-sizing: border-box;
}

.page-id-1710 .wpforms-form input,
.page-id-1710 .wpforms-form textarea,
.page-id-1710 .wpforms-form select {
	max-width: 100%;
	box-sizing: border-box;
}

/* ============================================================
   /grupa-kapitalowa/ — intro section "stanowią:"
   Section listing member companies with red-arrow bullets.
   ============================================================ */
.tfs-company-intro {
	padding: 2rem 0 1.5rem;
	background: #fff;
	border-top: 1px solid #dadada;
}

.tfs-company-intro__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-company-intro__heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #003c76;
	text-transform: none;
	letter-spacing: normal;
	border: 0;
	padding: 0 0 1rem;
	margin: 0;
}

.tfs-company-intro__list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.tfs-company-intro__list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.6rem;
	line-height: 1.6;
}

.tfs-company-intro__list li::before {
	content: '\2192';
	color: #f8002e;
	position: absolute;
	left: 0;
	top: 0.1em;
	font-weight: 700;
	line-height: 1;
}

.tfs-company-intro__list a {
	color: #003c76;
	text-decoration: none;
	font-family: "BarlowSCK-Light", "Barlow Semi Condensed", "Segoe UI", sans-serif;
	font-size: 1rem;
}

.tfs-company-intro__list a:hover,
.tfs-company-intro__list a:focus-visible {
	color: #f8002e;
	text-decoration: underline;
}

/* ============================================================
   ACF Block: acf/tfs-company-cards
   Siatka kart spółek grupy kapitałowej z progress barami
   ============================================================ */
.tfs-company-cards {
	background: #fff;
	padding: 3rem 0;
}

.tfs-company-cards__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-company-cards__lead {
	font-family: "Playfair Display", serif;
	font-size: 1.25rem;
	font-weight: 300;
	color: #003c76;
	margin-bottom: 2.5rem;
}

.tfs-company-cards__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

@media (max-width: 960px) {
	.tfs-company-cards__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.tfs-company-cards__grid {
		grid-template-columns: 1fr;
	}
}

/* Card */
.tfs-company-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 2px;
	overflow: hidden;
}

/* Card header — photo + logo overlay */
.tfs-company-card__header {
	position: relative;
	aspect-ratio: 370 / 245;
	background: #f0f0f0;
	overflow: hidden;
}

.tfs-company-card__photo-wrap {
	width: 100%;
	height: 100%;
}

.tfs-company-card__photo-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tfs-company-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tfs-company-card__logo-box {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #fff;
	padding: 0.4rem 0.6rem;
	max-width: 120px;
}

.tfs-company-card__logo {
	display: block;
	max-height: 48px;
	width: auto;
	max-width: 100%;
}

/* Card body */
.tfs-company-card__body {
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.tfs-company-card__name {
	font-family: "Playfair Display", serif;
	font-size: 1.0625rem;
	font-weight: 700;
	color: #003c76;
	margin: 0 0 0.75rem;
	line-height: 1.35;
}

.tfs-company-card__name-link {
	color: inherit;
	text-decoration: none;
}

.tfs-company-card__name-link:hover,
.tfs-company-card__name-link:focus-visible {
	color: #f8002e;
	text-decoration: underline;
}

.tfs-company-card__desc {
	font-size: 0.9375rem;
	color: #656565;
	line-height: 1.55;
	margin: 0 0 1.25rem;
	flex: 1;
}

/* Progress bar / skillbar */
.tfs-company-card__skillbar {
	margin-top: auto;
}

.tfs-company-card__bar {
	background: #e0e3e8;
	border-radius: 3px;
	height: 22px;
	overflow: hidden;
	margin-bottom: 0.35rem;
}

.tfs-company-card__bar-fill {
	height: 100%;
	background: #003c76;
	border-radius: 3px;
	display: flex;
	align-items: center;
	min-width: 2.5rem;
	transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
	.tfs-company-card__bar-fill {
		transition: none;
	}
}

.tfs-company-card__bar-text {
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	padding: 0 0.5rem;
	white-space: nowrap;
}

.tfs-company-card__bar-label {
	display: block;
	font-size: 0.75rem;
	color: #767676;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ============================================================
   Podstrona spółki — tfs-company-content + skillbar
   ============================================================ */
.tfs-company-content {
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-company-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-company-logo {
	max-width: 180px;
	height: auto;
	float: right;
	margin: 0 0 1.25rem 1.5rem;
}

.tfs-company-skillbar {
	margin: 2rem 0 1.5rem;
	clear: both;
}

.tfs-company-skillbar__bar {
	background: #e0e3e8;
	border-radius: 3px;
	height: 24px;
	overflow: hidden;
	margin-bottom: 0.4rem;
}

.tfs-company-skillbar__fill {
	height: 100%;
	background: #003c76;
	border-radius: 3px;
	display: flex;
	align-items: center;
	min-width: 3rem;
	transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
	.tfs-company-skillbar__fill {
		transition: none;
	}
}

.tfs-company-skillbar__text {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #fff;
	padding: 0 0.6rem;
	white-space: nowrap;
}

.tfs-company-skillbar__label {
	display: block;
	font-size: 0.75rem;
	color: #767676;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.tfs-company-gallery {
	padding: 2rem 0 3rem;
	background: #f8f8f8;
}

.tfs-company-gallery__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

/* Make gallery images show zoom cursor */
.tfs-company-gallery figure img {
	cursor: zoom-in;
}

/* ----- Gallery Lightbox ----- */

.tfs-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.88);
	align-items: center;
	justify-content: center;
}

.tfs-lightbox--active {
	display: flex;
}

.tfs-lightbox__figure {
	margin: 0;
	max-width: 90vw;
	max-height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tfs-lightbox__img {
	display: block;
	max-width: 90vw;
	max-height: 85vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}

.tfs-lightbox__close {
	position: fixed;
	top: 1.25rem;
	right: 1.5rem;
	width: 2.5rem;
	height: 2.5rem;
	background: transparent;
	border: 2px solid #ffffff;
	border-radius: 50%;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease;
	z-index: 10000;
}

.tfs-lightbox__close:hover {
	background: #ffffff;
	color: #000000;
}

.tfs-lightbox__prev,
.tfs-lightbox__next {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	width: 3rem;
	height: 3rem;
	background: rgba(255, 255, 255, 0.15);
	border: 2px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	color: #ffffff;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, border-color 0.2s ease;
	z-index: 10000;
}

.tfs-lightbox__prev {
	left: 1.25rem;
}

.tfs-lightbox__next {
	right: 1.25rem;
}

.tfs-lightbox__prev:hover,
.tfs-lightbox__next:hover {
	background: rgba(255, 255, 255, 0.35);
	border-color: #ffffff;
}

@media (max-width: 600px) {
	.tfs-lightbox__prev {
		left: 0.5rem;
	}

	.tfs-lightbox__next {
		right: 0.5rem;
	}
}

/* Editor badge */
.editor-styles-wrapper [data-type="acf/tfs-company-cards"] {
	position: relative;
}

.editor-styles-wrapper [data-type="acf/tfs-company-cards"]::before {
	position: absolute;
	top: -1.4em;
	left: 0;
	padding: 0.15em 0.6em;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	background: #003c76;
	border-radius: 2px 2px 0 0;
	pointer-events: none;
	z-index: 2;
	content: "TFS — Karty spółek";
}

/* ============================================================
   Strona Działalność — tfs-dzialalnosc-*
   ============================================================ */
.tfs-dzialalnosc-content {
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-dzialalnosc-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-dzialalnosc-item {
	margin-bottom: 1.75rem;
}

.tfs-dzialalnosc-item:last-child {
	margin-bottom: 0;
}

.tfs-dzialalnosc-heading {
	display: flex !important;
	align-items: center;
	gap: 0.6rem;
	color: #003c76 !important;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif !important;
	font-weight: 700 !important;
	font-size: 1.125rem !important;
	margin-bottom: 0.625rem !important;
}

.tfs-dzialalnosc-heading::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #f8002e;
	flex-shrink: 0;
}

.tfs-dzialalnosc-gallery {
	margin-top: 2.5rem;
}

/* ============================================================
   Strona Projekty — tfs-project-item
   ============================================================ */
.tfs-projekty-content {
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-projekty-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-project-item {
	padding-bottom: 2.5rem;
	margin-bottom: 2.5rem;
	border-bottom: 1px solid #dadada;
}

.tfs-project-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.tfs-project-title {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 700;
	color: #003c76;
	text-transform: uppercase;
	margin-bottom: 0.25rem !important;
}

.tfs-project-years {
	font-size: 0.9375rem;
	font-weight: 400;
	color: #666666;
	margin-top: 0 !important;
	margin-bottom: 1.25rem !important;
}

/* ============================================================
   Strona Dla mediów — tfs-mediow-*
   ============================================================ */
.tfs-mediow-content {
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-mediow-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-mediow-content__inner > h3.wp-block-heading {
	font-family: "Playfair Display", "Times New Roman", Georgia, serif;
	color: #003c76;
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	margin-top: 2.5rem;
	margin-bottom: 1.25rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #dadada;
}

.tfs-mediow-content__inner > h3.wp-block-heading:first-child {
	margin-top: 0;
}

.tfs-video-item {
	margin-bottom: 1.5rem;
}

.tfs-video-title {
	font-size: 1rem !important;
	font-family: "BarlowSCK-SemiBold", "Barlow Semi Condensed", sans-serif !important;
	color: #003c76 !important;
	margin-bottom: 0.5rem !important;
	text-transform: none !important;
}

.tfs-mediow-downloads {
	margin-top: 0.5rem;
}

.tfs-mediow-downloads .wp-block-list {
	list-style: none;
	padding-left: 0;
}

.tfs-mediow-downloads .wp-block-list li {
	padding: 0.5rem 0;
	border-bottom: 1px solid #ebebeb;
}

.tfs-mediow-downloads .wp-block-list li:last-child {
	border-bottom: none;
}

.tfs-mediow-downloads a {
	color: #003c76;
	font-weight: 600;
	text-decoration: none;
}

.tfs-mediow-downloads a:hover {
	color: #f8002e;
}

.tfs-mediow-press {
	margin-top: 0.5rem;
}

/* ============================================================
   Strona Kontakt — tfs-contact-*
   ============================================================ */
.tfs-contact-content {
	padding: 2.5rem 0 3rem;
	background: #fff;
}

.tfs-contact-content__inner {
	width: min(1320px, 100% - 3rem);
	margin-inline: auto;
}

.tfs-contact-section {
	padding: 2rem 0;
}

.tfs-contact-section + .tfs-contact-section {
	border-top: 1px solid #dadada;
}

.tfs-contact-heading {
	color: #003c76 !important;
	font-family: "Playfair Display", "Times New Roman", Georgia, serif !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin-bottom: 1.25rem !important;
}

.tfs-contact-address p {
	margin: 0 0 0.75rem;
	line-height: 1.6;
}

.tfs-contact-address a {
	color: #003c76;
	text-decoration: none;
}

.tfs-contact-address a:hover {
	color: #f8002e;
}

.tfs-contact-map {
	position: relative;
	width: 100%;
	height: 340px;
	border-radius: 2px;
	overflow: hidden;
}

/* Leaflet map div fills the container */
.tfs-map-embed {
	width: 100%;
	height: 100%;
}

/* Grayscale only on map tiles — marker keeps its colour */
.tfs-map-embed .leaflet-tile-pane {
	filter: grayscale(100%) contrast(0.9) brightness(1.05);
}

/* Subtle navy tint over tiles (not over the marker layer) */
.tfs-map-embed .leaflet-tile-pane::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 60, 118, 0.08);
	pointer-events: none;
}

/* Drop-shadow on the custom SVG marker */
.tfs-map-marker {
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .30));
	background: none;
	border: none;
}

/* =========================================================
   Single post & ogłoszenie layout
   ========================================================= */

.tfs-single-wrap {
	width: min(1220px, 100% - 2rem);
	margin-inline: auto;
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: 2.5rem;
}

/* Reset the generic layout.css padding on entry-content — tfs-single-wrap handles spacing */
.tfs-single-wrap .entry-content {
	padding-top: 0;
}

/* ---- Article header ---- */
.single-post-header {
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 2px solid #f0f0f0;
}

.single-post-header h1 {
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.3;
	color: #1a2842;
	margin: 0 0 0.5rem;
	word-break: break-word;
}

.single-post-header time {
	color: #767676;
	font-size: 0.875rem;
}

/* ---- Ogłoszenie: deadline / status chip ---- */
.ogloszenie-meta {
	background: #f5f7fa;
	border-left: 3px solid #d40028;
	border-radius: 0 4px 4px 0;
	padding: 0.875rem 1.25rem;
	margin-bottom: 1.5rem;
}

.ogloszenie-meta p {
	margin: 0.2rem 0;
	font-size: 0.9rem;
	color: #333333;
}

/* ---- Attachments footer ---- */
.single-post-attachments {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 2px solid #f0f0f0;
}

.single-post-attachments h2 {
	font-size: 1.125rem;
	color: #1a2842;
	margin: 0 0 0.75rem;
}

.single-post-attachments ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.single-post-attachments li a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #d40028;
	text-decoration: none;
	font-size: 0.9rem;
}

.single-post-attachments li a::before {
	content: "↓";
	font-size: 0.85em;
	font-weight: 700;
}

.single-post-attachments li a:hover,
.single-post-attachments li a:focus {
	text-decoration: underline;
}

/* ---- Aktualności single post: two-column layout with featured image ---- */
.single-post-body {
	display: block;
}

.single-post-body--has-image {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 2.5rem;
	align-items: start;
}

.single-post-thumbnail img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	display: block;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
}

@media (max-width: 768px) {
	.single-post-body--has-image {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.single-post-thumbnail {
		order: -1; /* image before text on mobile */
	}
}
