/*
 * FabrykaCmyka 2.0 — Blog: lista wpisów (.fcs-blog) + pojedynczy wpis (.fcs-post).
 * Port stylow z handoffow „Blog" i „Blog - Wpis", scope pod .fcs-blog / .fcs-post. Ciemny motyw (#141418).
 * Tokeny z motywu z fallbackami var(--fc-..., #hex). Responsywnosc media queries 1080/680.
 * Uwaga: w komentarzach nigdy sekwencja gwiazdka-slash.
 */

/* ============================================================
 *  WSPOLNE tokeny + primitywy
 * ============================================================ */
.fcs-blog,
.fcs-post {
	--fcb-yellow: var(--fc-yellow, #FFDE2C);
	--fcb-magenta: var(--fc-magenta, #C800A7);
	--fcb-magenta-d: var(--fc-magenta-d, #a90b8f);
	--fcb-cyan: var(--fc-cyan, #6EC1E4);
	--fcb-ink: var(--fc-ink, #2B2B2B);
	--fcb-text: var(--fc-text, #54595F);
	--fcb-soft: var(--fc-soft, #7A7A7A);
	--fcb-border: var(--fc-border, #ECECEC);
	--fcb-bg-soft: var(--fc-bg-soft, #F7F8F8);
	--fcb-head: var(--fc-font-head, 'Poppins', sans-serif);
	--fcb-body: var(--fc-font-body, 'Lato', sans-serif);

	background: #141418;
	color: #E8E8EA;
	font-family: var(--fcb-body);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.fcs-blog h1,
.fcs-blog h2,
.fcs-blog h3,
.fcs-post h1,
.fcs-post h2,
.fcs-post h3 {
	font-family: var(--fcb-head);
	margin: 0;
	line-height: 1.12;
}

.fcs-blog p,
.fcs-post p {
	margin: 0;
}

.fcs-blog a,
.fcs-post a {
	text-decoration: none;
	color: inherit;
}

.fcs-blog button,
.fcs-post button {
	font-family: inherit;
	cursor: pointer;
}

.fcs-bwrap {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 56px;
}

/* Reveal */
.fcs-brv {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s cubic-bezier(.16, .8, .24, 1), transform .7s cubic-bezier(.16, .8, .24, 1);
}

.fcs-brv.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.fcs-brv {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Mobile: reveal-on-scroll bywa za mocny i ZALEŻY od JS (który LiteSpeed defer'uje) — treść wpisu
   wisiałaby ukryta do czasu wykonania skryptu. Na telefonie pokazujemy treść od razu, bez animacji. */
@media (max-width: 680px) {
	.fcs-brv {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Crumb */
.fcs-blog .fcs-bcrumb,
.fcs-post .fcs-bcrumb {
	font-family: var(--fcb-head);
	font-weight: 600;
	font-size: 13px;
	color: #c9c9d2;
	margin-bottom: 20px;
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap;
}

.fcs-blog .fcs-bcrumb a:hover,
.fcs-post .fcs-bcrumb a:hover {
	color: var(--fcb-yellow);
}

.fcs-blog .fcs-bcrumb span,
.fcs-post .fcs-bcrumb span {
	color: #7a7a84;
}

/* Buttony (single CTA) */
.fcs-post .fcs-bbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 52px;
	padding: 0 26px;
	border-radius: 11px;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 15.5px;
	border: 2px solid transparent;
	transition: .16s;
	white-space: nowrap;
}

.fcs-post .fcs-bbtn svg {
	flex: none;
	transition: transform .16s;
}

.fcs-post .fcs-bbtn:hover svg {
	transform: translateX(3px);
}

.fcs-post .fcs-bbtn--dark {
	background: #141418;
	color: #fff;
}

.fcs-post .fcs-bbtn--dark:hover,
.fcs-post .fcs-bbtn--dark:focus-visible {
	background: var(--fcb-magenta);
	color: #fff;
	outline: none;
}

.fcs-post .fcs-bbtn--ink {
	background: transparent;
	color: #1a1600;
	border-color: #1a1600;
}

.fcs-post .fcs-bbtn--ink:hover,
.fcs-post .fcs-bbtn--ink:focus-visible {
	background: #1a1600;
	color: var(--fcb-yellow);
	outline: none;
}

/* ============================================================
 *  LISTA WPISOW (.fcs-blog)
 * ============================================================ */
.fcs-blog .fcs-bhead {
	padding: 64px 0 20px;
}

.fcs-blog .fcs-bhead h1 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 64px;
	line-height: 1;
	letter-spacing: -2px;
	text-transform: uppercase;
	color: #fff;
}

.fcs-blog .fcs-bhead h1 em {
	color: var(--fcb-yellow);
	font-style: normal;
}

.fcs-blog .fcs-bhead p {
	font-size: 17.5px;
	color: #a6a6b0;
	margin-top: 20px;
	max-width: 620px;
	line-height: 1.6;
}

.fcs-bcats {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 34px;
}

.fcs-bcat {
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .12);
	color: #c4c4cc;
	border-radius: 999px;
	padding: 10px 18px;
	font-family: var(--fcb-head);
	font-weight: 600;
	font-size: 13.5px;
	transition: .15s;
}

.fcs-bcat:hover,
.fcs-bcat:focus-visible {
	border-color: rgba(255, 255, 255, .35);
	color: #fff;
	outline: none;
}

.fcs-bcat.is-on {
	background: var(--fcb-yellow);
	border-color: var(--fcb-yellow);
	color: #1a1600;
}

.fcs-blog .fcs-bsec {
	padding: 44px 0 96px;
}

/* FEATURED */
.fcs-feat {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	border-radius: 22px;
	overflow: hidden;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .08);
	margin-bottom: 52px;
	color: inherit;
}

.fcs-feat:hover {
	color: inherit;
}

.fcs-feat__media {
	position: relative;
	min-height: 420px;
	background: #26262f;
	overflow: hidden;
}

.fcs-feat__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fcs-feat__ph {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #26262f, #1c1c22);
}

.fcs-feat__flag {
	position: absolute;
	z-index: 3;
	left: 20px;
	top: 20px;
	background: var(--fcb-magenta);
	color: #fff;
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .6px;
	text-transform: uppercase;
	padding: 7px 14px;
	border-radius: 999px;
}

.fcs-feat__body {
	padding: 48px 46px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.fcs-feat__meta {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--fcb-yellow);
	margin-bottom: 18px;
}

.fcs-blog .fcs-feat__body h2 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 34px;
	line-height: 1.08;
	letter-spacing: -1px;
	color: #fff;
}

.fcs-blog .fcs-feat__body p {
	font-size: 15.5px;
	color: #a6a6b0;
	margin-top: 16px;
	line-height: 1.7;
}

.fcs-feat__go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 15px;
	color: var(--fcb-yellow);
}

.fcs-feat__go svg {
	flex: none;
	transition: transform .16s;
}

.fcs-feat:hover .fcs-feat__go svg {
	transform: translateX(4px);
}

/* GRID */
.fcs-pgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.fcs-post {
	/* uwaga: .fcs-post to takze scope pojedynczego wpisu — karta listy to .fcs-blog .fcs-post */
}

.fcs-blog .fcs-post {
	display: flex;
	flex-direction: column;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 18px;
	overflow: hidden;
	transition: transform .2s cubic-bezier(.16, .8, .24, 1), border-color .2s, box-shadow .2s;
	color: inherit;
	/* reset ciemnego tla body wewnatrz karty juz jest #1c1c22 */
	background-color: #1c1c22;
	line-height: 1.5;
}

.fcs-blog .fcs-post:hover {
	transform: translateY(-6px);
	border-color: var(--fcb-magenta);
	box-shadow: 0 28px 54px -30px rgba(200, 0, 167, .5);
	color: inherit;
}

.fcs-post__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #26262f;
	overflow: hidden;
}

.fcs-post__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fcs-post__ph {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #26262f, #1c1c22);
}

.fcs-post__cat {
	position: absolute;
	z-index: 3;
	left: 14px;
	top: 14px;
	background: rgba(20, 20, 24, .82);
	color: #fff;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
}

.fcs-post__body {
	padding: 22px 22px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.fcs-post__meta {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: #7a7a84;
	margin-bottom: 11px;
}

.fcs-blog .fcs-post__body h3 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 19px;
	line-height: 1.2;
	letter-spacing: -.3px;
	color: #fff;
}

.fcs-blog .fcs-post__body p {
	font-size: 14px;
	color: #a6a6b0;
	margin-top: 10px;
	line-height: 1.6;
}

.fcs-post__go {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	padding-top: 18px;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 13.5px;
	color: var(--fcb-yellow);
}

.fcs-post__go svg {
	flex: none;
	transition: transform .16s;
}

.fcs-blog .fcs-post:hover .fcs-post__go svg {
	transform: translateX(4px);
}

/* Pusty stan listy */
.fcs-bempty {
	text-align: center;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 20px;
	padding: 54px 40px;
	max-width: 560px;
	margin: 0 auto;
}

.fcs-blog .fcs-bempty h3 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 22px;
	color: #fff;
}

.fcs-blog .fcs-bempty p {
	font-size: 15.5px;
	color: #a6a6b0;
	margin-top: 12px;
}

/* Paginacja (the_posts_pagination) */
.fcs-bpager {
	margin-top: 48px;
}

.fcs-bpager .navigation,
.fcs-bpager .nav-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.fcs-bpager .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.fcs-bpager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 11px;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .12);
	color: #c4c4cc;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 14px;
	transition: .15s;
}

.fcs-bpager a.page-numbers:hover,
.fcs-bpager a.page-numbers:focus-visible {
	border-color: var(--fcb-yellow);
	color: var(--fcb-yellow);
	outline: none;
}

.fcs-bpager .page-numbers.current {
	background: var(--fcb-yellow);
	border-color: var(--fcb-yellow);
	color: #1a1600;
}

.fcs-bpager .page-numbers.dots {
	background: transparent;
	border-color: transparent;
}

/* ============================================================
 *  POJEDYNCZY WPIS (.fcs-post view)
 * ============================================================ */
.fcs-post .fcs-bcrumb--c {
	justify-content: center;
	margin-bottom: 26px;
}

.fcs-ahead {
	padding: 44px 0 40px;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.fcs-ahead__in {
	max-width: 840px;
	margin: 0 auto;
}

.fcs-acat {
	display: inline-block;
	background: var(--fcb-magenta);
	color: #fff;
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .6px;
	text-transform: uppercase;
	padding: 7px 15px;
	border-radius: 999px;
	margin-bottom: 22px;
}

.fcs-post .fcs-ahead h1 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 50px;
	line-height: 1.06;
	letter-spacing: -1.6px;
	color: #fff;
}

.fcs-ameta {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 26px;
	font-family: var(--fcb-head);
	font-weight: 600;
	font-size: 13.5px;
	color: #a6a6b0;
}

.fcs-ameta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.fcs-ameta svg {
	color: var(--fcb-yellow);
	flex: none;
}

.fcs-ameta em {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #4a4a52;
	align-self: center;
}

/* COVER */
.fcs-acover {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 56px;
}

.fcs-acover__img {
	position: relative;
	aspect-ratio: 16 / 8;
	border-radius: 20px;
	overflow: hidden;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .08);
	margin-top: 44px;
}

.fcs-acover__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* BODY LAYOUT */
.fcs-abody {
	padding: 64px 0 90px;
}

.fcs-abody__grid {
	display: grid;
	grid-template-columns: 1fr minmax(0, 720px) 1fr;
	gap: 0 48px;
	align-items: start;
}

.fcs-aside {
	position: sticky;
	top: 30px;
}

.fcs-aside--l {
	justify-self: end;
	width: 200px;
}

.fcs-aside__lbl {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #7a7a84;
	margin-bottom: 14px;
}

.fcs-share {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}

.fcs-share__b {
	width: 44px;
	height: 44px;
	border-radius: 11px;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .1);
	color: #c7cacc;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .15s;
	padding: 0;
}

.fcs-share__b svg {
	flex: none;
}

.fcs-share__b:hover,
.fcs-share__b:focus-visible {
	background: var(--fcb-yellow);
	color: #1a1600;
	border-color: var(--fcb-yellow);
	outline: none;
}

.fcs-share__msg {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 12px;
	color: var(--fcb-yellow);
	margin-top: 2px;
}

/* PROSE — typografia blokow WP core */
.fcs-prose {
	color: #c4c4cc;
	font-size: 17px;
	line-height: 1.8;
}

.fcs-prose > * + * {
	margin-top: 22px;
}

.fcs-prose > *:first-child {
	margin-top: 0;
}

.fcs-prose .lead,
.fcs-prose > p.has-large-font-size:first-child {
	font-size: 20px;
	line-height: 1.65;
	color: #e2e2e6;
	font-weight: 400;
}

.fcs-prose h2 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 28px;
	letter-spacing: -.6px;
	color: #fff;
	margin-top: 44px;
	line-height: 1.2;
}

.fcs-prose h3 {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 20px;
	color: #fff;
	margin-top: 32px;
}

.fcs-prose h4 {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 17px;
	color: #fff;
	margin-top: 26px;
}

.fcs-prose p {
	margin: 0;
}

.fcs-prose a {
	color: var(--fcb-yellow);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fcs-prose a:hover {
	color: #fff;
}

.fcs-prose strong,
.fcs-prose b {
	color: #fff;
}

.fcs-prose ul,
.fcs-prose ol {
	margin: 0;
	padding-left: 4px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	counter-reset: fcs-li;
}

.fcs-prose ul li,
.fcs-prose ol li {
	position: relative;
	padding-left: 30px;
}

.fcs-prose ul li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 10px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fcb-magenta);
}

.fcs-prose ol li {
	counter-increment: fcs-li;
}

.fcs-prose ol li::before {
	content: counter(fcs-li);
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: var(--fcb-magenta);
	color: #fff;
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fcs-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
	display: block;
}

.fcs-prose figure {
	margin: 34px 0;
}

.fcs-prose figure img {
	width: 100%;
}

.fcs-prose figcaption {
	font-size: 13.5px;
	color: #7a7a84;
	margin-top: 12px;
	text-align: center;
}

.fcs-prose blockquote {
	border-left: 3px solid var(--fcb-yellow);
	padding: 6px 0 6px 26px;
	margin: 36px 0;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 23px;
	line-height: 1.35;
	color: #fff;
	letter-spacing: -.4px;
}

.fcs-prose blockquote p {
	margin: 0;
}

.fcs-prose blockquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--fcb-body);
	font-weight: 400;
	font-size: 14px;
	font-style: normal;
	color: #a6a6b0;
}

/* Tabele w treści (porównania z wpisów) — bez stylu zlewały się z tłem. */
.fcs-prose table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #17171c;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	overflow: hidden;
	font-size: 15.5px;
	line-height: 1.55;
}

.fcs-prose th,
.fcs-prose td {
	padding: 13px 18px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.fcs-prose td + td,
.fcs-prose th + th {
	border-left: 1px solid rgba(255, 255, 255, .07);
}

.fcs-prose thead th {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, .05);
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.fcs-prose tbody tr:last-child th,
.fcs-prose tbody tr:last-child td {
	border-bottom: 0;
}

/* TAGS + AUTHOR (autor renderowany z profilu WP) */
.fcs-abody__foot {
	margin-top: 40px;
}

.fcs-author {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 26px 28px;
	background: #1c1c22;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 18px;
	max-width: 720px;
	margin: 0 auto;
}

.fcs-author__av {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--fcb-yellow);
	color: #1a1600;
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	overflow: hidden;
}

.fcs-author__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	z-index: 2;
}

.fcs-author__ini {
	position: relative;
	z-index: 1;
}

.fcs-post .fcs-author__n {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 17px;
	color: #fff;
}

.fcs-author__r {
	font-size: 14px;
	color: #a6a6b0;
	margin-top: 4px;
	line-height: 1.5;
}

/* RELATED — jasna sekcja */
.fcs-rel {
	background: #fff;
	color: var(--fcb-text);
	padding: 88px 0;
}

.fcs-rel__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}

.fcs-post .fcs-rel__head h2 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 36px;
	letter-spacing: -1px;
	text-transform: uppercase;
	color: var(--fcb-ink);
}

.fcs-rel__all {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 14px;
	color: var(--fcb-magenta);
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.fcs-rel__all svg {
	flex: none;
}

.fcs-rel__all:hover {
	color: var(--fcb-magenta-d);
}

.fcs-rel__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.fcs-rcard {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--fcb-border);
	border-radius: 18px;
	overflow: hidden;
	transition: transform .2s cubic-bezier(.16, .8, .24, 1), box-shadow .2s;
	color: inherit;
}

.fcs-rcard:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -28px rgba(0, 0, 0, .28);
	color: inherit;
}

.fcs-rcard__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--fcb-bg-soft);
	overflow: hidden;
}

.fcs-rcard__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fcs-rcard__ph {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #eef0f0, #f7f8f8);
}

.fcs-rcard__cat {
	position: absolute;
	z-index: 3;
	left: 13px;
	top: 13px;
	background: rgba(20, 20, 24, .82);
	color: #fff;
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
}

.fcs-rcard__b {
	padding: 20px 20px 22px;
}

.fcs-rcard__m {
	font-family: var(--fcb-head);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	color: var(--fcb-soft);
	margin-bottom: 9px;
}

.fcs-post .fcs-rcard__b h3 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 18px;
	line-height: 1.22;
	color: var(--fcb-ink);
}

/* CTA */
.fcs-bcta {
	background: var(--fcb-yellow);
	color: #1a1600;
	padding: 76px 0;
}

.fcs-bcta__in {
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}

.fcs-post .fcs-bcta h2 {
	font-family: var(--fcb-head);
	font-weight: 800;
	font-size: 38px;
	text-transform: uppercase;
	letter-spacing: -1.1px;
	line-height: 1.04;
}

.fcs-post .fcs-bcta p {
	font-size: 16.5px;
	color: #3a3200;
	margin: 14px auto 0;
	max-width: 600px;
}

.fcs-bcta__act {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px;
}

/* SCROLL TO TOP (wspolny) */
#fcs-btotop {
	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 900;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 0;
	background: var(--fc-yellow, #FFDE2C);
	color: #1a1600;
	box-shadow: 0 12px 30px -8px rgba(0, 0, 0, .5);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: .22s;
}

#fcs-btotop svg {
	flex: none;
}

#fcs-btotop.is-on {
	opacity: 1;
	visibility: visible;
	transform: none;
}

#fcs-btotop:hover,
#fcs-btotop:focus-visible {
	background: #fff;
	outline: none;
}

#fcs-btotop:active {
	transform: translateY(1px);
}

/* ============================================================
 *  RESPONSYWNOSC
 * ============================================================ */
@media (max-width: 1080px) {
	.fcs-bwrap {
		padding: 0 32px;
	}

	.fcs-blog .fcs-bhead h1 {
		font-size: 46px;
	}

	.fcs-feat {
		grid-template-columns: 1fr;
	}

	.fcs-feat__media {
		min-height: 280px;
	}

	.fcs-feat__body {
		padding: 34px 28px;
	}

	.fcs-pgrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.fcs-post .fcs-ahead h1 {
		font-size: 36px;
	}

	.fcs-acover {
		padding: 0 32px;
	}

	.fcs-abody__grid {
		/* minmax(0,…) zamiast 1fr — gołe 1fr = min-width:auto i szeroka tabela rozpycha kolumnę poza viewport. */
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.fcs-aside {
		position: static;
		width: auto !important;
		justify-self: auto;
	}

	.fcs-aside--r {
		display: none;
	}

	.fcs-share {
		flex-direction: row;
	}

	.fcs-rel__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.fcs-post .fcs-rel__head h2,
	.fcs-post .fcs-bcta h2 {
		font-size: 28px;
	}
}

@media (max-width: 680px) {
	.fcs-blog .fcs-bhead {
		padding: 44px 0 16px;
	}

	.fcs-blog .fcs-bhead h1 {
		font-size: 36px;
	}

	.fcs-pgrid {
		grid-template-columns: 1fr;
	}

	.fcs-post .fcs-ahead h1 {
		font-size: 29px;
	}

	.fcs-ameta {
		gap: 12px;
	}

	.fcs-prose {
		font-size: 16px;
	}

	/* Szerokie tabele porównań — przewijanie poziome zamiast łamania układu. */
	.fcs-prose table {
		display: block;
		overflow-x: auto;
	}

	.fcs-rel__grid {
		grid-template-columns: 1fr;
	}
}

/* Dlugie wyrazy (np. niemieckie zlozenia jak Geschaeftspartner) rozpychaly strone w poziomie na mobile.
   overflow-wrap dziedziczy na potomkow i lamie wyraz TYLKO gdy nie miesci sie w kolumnie - zero zmian w normalnym skladzie; "anywhere" (nie break-word) bo wplywa na min-content = dziala tez we flex/grid. */
main[class*="fcs-"]{overflow-wrap:anywhere}
