/*
Theme Name: Tomasz Królikowski - Szef Kuchni
Theme URI: https://tomaszkrolikowski.com
Author: Artur Liwanowski
Description: Custom blokowy motyw FSE dla strony szefa kuchni Tomasza Królikowskiego. Paleta gold/dark/cream, fonty Playfair Display + Outfit. Wbudowane Custom Post Types: event, partner. Custom blocks dla przepisów (Składniki, Kroki). Integracja AI (Chef Tomasz chatbot, smart search, generator menu) przez WP REST proxy.
Version: 1.0.1
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.2
License: Proprietary
Text Domain: tomasz-krolikowski
Tags: full-site-editing, block-themes, blog, food-and-drink, two-columns, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, rtl-language-support
*/

/* ============================================================
   Pixel-perfect refinements vs mockup v12
   ============================================================ */

/* --- Sticky nav z backdrop blur (v12 design) --- */
.tk-nav {
	background: rgba(250, 248, 244, 0.92) !important;
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	border-bottom: 1px solid rgba(30, 21, 16, 0.06);
	min-height: 60px;
	z-index: 100;
}

.tk-nav__logo {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	color: #1A1510;
	text-decoration: none;
	cursor: pointer;
	letter-spacing: 0;
}
/* Override WP flex reset (.is-layout-flex > :is(*,div) { margin:0 }) for header offsets */
.tk-nav .tk-nav__logo { margin-left: 20px !important; }
.tk-nav .tk-nav__social { margin-right: 8px !important; }
.tk-nav .tk-lang-switcher { margin-right: 20px !important; }
.tk-nav__logo i {
	color: #B08D57;
	font-style: italic;
}
.tk-nav__logo:hover {
	color: #B08D57;
}

/* Nav links - hover style */
.tk-nav .wp-block-navigation a {
	padding: 8px 12px;
	border-radius: 100px;
	transition: background 0.15s, color 0.15s;
}
.tk-nav .wp-block-navigation a:hover {
	background: rgba(176, 141, 87, 0.07);
	color: #1A1510 !important;
}

/* Nav: social icons (FB/IG/TT) — gold, small, before EN switcher */
.tk-nav .tk-nav__social {
	gap: 4px;
	margin: 0 8px 0 0;
}
.tk-nav .tk-nav__social .wp-social-link {
	background: transparent !important;
	padding: 6px;
	transition: opacity 0.15s, transform 0.15s;
}
.tk-nav .tk-nav__social .wp-social-link:hover {
	opacity: 0.7;
	transform: translateY(-1px);
}
.tk-nav .tk-nav__social svg {
	width: 18px;
	height: 18px;
	fill: #B08D57;
}
/* Mobile: social icons stay visible, just tighter */
@media (max-width: 768px) {
	.tk-nav .tk-nav__social { gap: 2px !important; margin: 0 4px !important; }
	.tk-nav .tk-nav__social svg { width: 16px; height: 16px; }
	.tk-nav .tk-nav__social .wp-social-link { padding: 4px !important; }
}

/* --- Hero: poprawiony gradient overlay (90deg dark→transparent) --- */
.tk-hero .wp-block-cover__background {
	background: linear-gradient(90deg,
		rgba(26, 21, 16, 0.88),
		rgba(26, 21, 16, 0.5) 50%,
		rgba(26, 21, 16, 0.15)) !important;
	opacity: 1 !important;
}

/* Hero typography fine-tune */
.tk-hero h1 {
	letter-spacing: -0.02em;
}

/* --- Filtry kategorii (gold-bg na hover/active) --- */
.tk-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.tk-filter-btn {
	display: inline-block;
	padding: 8px 18px;
	border-radius: 100px;
	border: 1px solid rgba(30, 21, 16, 0.06);
	color: #7A7064;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	transition: 0.2s;
	font-family: 'Outfit', sans-serif;
}
.tk-filter-btn:hover,
.tk-filter-btn.active {
	border-color: #B08D57;
	background: rgba(176, 141, 87, 0.07);
	color: #B08D57;
}

/* --- Cards: subtelny shadow + lift on hover (v12 .cd) --- */
.tk-card {
	transition: box-shadow 0.3s, transform 0.3s;
}
.tk-card:hover {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
}

/* --- Timeline (O mnie) --- */
.tk-timeline {
	position: relative;
	padding-left: 32px;
	margin-top: 36px;
	list-style: none !important;
}
.tk-timeline::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 1px;
	background: rgba(176, 141, 87, 0.18);
}
.tk-timeline li {
	position: relative;
	padding: 0 0 28px 28px;
	list-style: none !important;
}
.tk-timeline li::before {
	content: '';
	position: absolute;
	left: -36px; top: 8px;
	width: 11px; height: 11px;
	border-radius: 50%;
	background: #B08D57;
}

/* --- Mobile responsive tuning --- */
@media (max-width: 768px) {
	.tk-nav__logo { font-size: 20px; }
	.tk-hero h1 { font-size: clamp(40px, 12vw, 60px) !important; }
}

/* === Mobile hero — focus on shirt+knives (lewa kompozycja), tone down height === */
@media (max-width: 900px) {
	.tk-hero {
		background-position: 35% 45% !important;
		min-height: 520px !important;
		height: 80vh !important;
		padding: 0 24px 60px !important;
	}
}

/* === Force hamburger menu poniżej 1024px + style gold === */
@media (max-width: 1024px) {
	/* Hide desktop nav items, show hamburger toggle */
	.tk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.tk-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
		background: transparent;
		border: 1px solid rgba(176, 141, 87, 0.4);
		border-radius: 100px;
		padding: 8px 12px;
		color: #B08D57 !important;
	}
	.tk-nav .wp-block-navigation__responsive-container-open svg {
		fill: #B08D57;
	}
	/* Hamburger otwiera pełnoekranowy panel — lity kremowy, czytelny, elegancki */
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 99999 !important;
		background: #FAF8F4 !important; /* lity krem — pełna czytelność */
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		overflow-y: auto;
		animation: tkMenuFade 0.25s ease;
		/* Reset WP cascading justification */
		--navigation-layout-justification-setting: center !important;
		--wp--style--block-gap: 0 !important;
	}
	/* Wrappery WP (close/dialog) — rozciągnij na pełną szerokość, by treść wyśrodkowała się w pionie */
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: 100% !important;
	}
	/* Treść panelu — wyśrodkowana w pionie, monogram TK. na górze */
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
		content: "TK.";
		font-family: 'Playfair Display', Georgia, serif;
		color: #B08D57;
		font-size: 36px;
		letter-spacing: 1px;
		line-height: 1;
		margin-bottom: 30px;
		display: block;
	}
	/* Lista pozycji — kolumna, wąska, wyśrodkowana */
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open ul {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 320px !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		gap: 0 !important;
		list-style: none !important;
	}
	/* Każda pozycja z włoskową złotą linią rozdzielającą */
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open li {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		text-align: center !important;
		border-bottom: 1px solid rgba(176, 141, 87, 0.20);
	}
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child,
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open li:last-child {
		border-bottom: none;
	}
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open a {
		font-family: 'Playfair Display', Georgia, serif !important;
		font-size: 21px !important;
		font-weight: 500 !important;
		color: #1A1510 !important;
		letter-spacing: 2px !important;
		text-transform: uppercase !important;
		padding: 19px 12px !important;
		width: 100% !important;
		text-align: center !important;
		background: transparent !important;
		transition: color 0.2s ease;
	}
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open a:hover,
	.tk-nav .wp-block-navigation__responsive-container.is-menu-open a[aria-current] {
		color: #B08D57 !important;
	}
	/* Przycisk zamknięcia — wyraźny, złoty, większy obszar dotyku */
	.tk-nav .wp-block-navigation__responsive-container-close {
		color: #B08D57 !important;
		position: absolute !important;
		top: 16px !important;
		right: 18px !important;
		width: 44px !important;
		height: 44px !important;
		z-index: 100000 !important;
	}
	.tk-nav .wp-block-navigation__responsive-container-close svg { fill: #B08D57; width: 26px; height: 26px; }
}

@keyframes tkMenuFade {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Neutralize backdrop-filter on .tk-nav when overlay is open (so fixed children escape containing block) */
@supports selector(:has(*)) {
	.tk-nav:has(.wp-block-navigation__responsive-container.is-menu-open) {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
}

/* --- Print: hide chat/search/gen --- */
@media print {
	.tk-chat, .tk-search, #tk-menu-generator-mount { display: none !important; }
}

/* === Czytelność tekstów na podstronach — wymuszone dla mockup v12 === */
/* Body text powinien być Outfit #2E2820 (nie pale dim) */
.wp-block-post-content p,
main.wp-block-group p,
.tk-content-card p {
	font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: #2E2820;
}
/* dim color override — jeśli ktoś go nadal używa, zachowaj ale podnieś kontrast */
.has-dim-color { color: #5B5048 !important; }

/* Białe karty na treść (mockup v12 wraps text in white cards with shadow) */
.tk-content-card {
	background: #FFF;
	border-radius: 20px;
	box-shadow: 0 14px 40px rgba(0,0,0,.05);
	padding: 36px 44px;
}
.tk-content-card p { line-height: 1.8; margin-bottom: 16px; }
.tk-content-card p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .tk-content-card { padding: 24px; } }

/* H1 ze stron — Playfair, dark, italic in gold */
main.wp-block-group h1.wp-block-heading {
	font-family: 'Playfair Display', Georgia, serif;
	color: #1A1510;
	font-weight: 400;
}
main.wp-block-group h1.wp-block-heading em { color: #B08D57; font-style: italic; }
main.wp-block-group h2.wp-block-heading em { color: #B08D57; font-style: italic; }

/* === Filtr kategorii (mockup v12) === */
.tk-recipe-filter { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; max-width: 900px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--40); }
.tk-rf-btn { display: inline-block; padding: 11px 26px; border-radius: 100px; border: 1.5px solid rgba(176,141,87,.35); color: #B08D57; font-size: 13px; font-weight: 600; text-decoration: none; transition: .2s; font-family: 'Outfit', sans-serif; background: transparent; cursor: pointer; letter-spacing: .3px; }
.tk-rf-btn:hover, .tk-rf-btn.active { border-color: #B08D57; background: rgba(176,141,87,.12); color: #8A6F44; }
body.recipe-archive:not(.term-polska-pl):not(.term-miedzynarodowa-pl):not(.term-wloska-pl):not(.term-azjatycka-pl):not(.term-desery-pl) .tk-rf-btn[href="/przepisy/"],
body.term-polska-pl .tk-rf-btn[href*="polska"],
body.term-miedzynarodowa-pl .tk-rf-btn[href*="miedzynarodowa"],
body.term-wloska-pl .tk-rf-btn[href*="wloska"],
body.term-azjatycka-pl .tk-rf-btn[href*="azjatycka"],
body.term-desery-pl .tk-rf-btn[href*="desery"] { border-color: #B08D57; background: rgba(176,141,87,.08); color: #B08D57; }

/* === Recipe cards na archive === */
.tk-recipe-card { border: 1px solid rgba(30,21,16,.06); transition: box-shadow .3s, transform .3s; height: 100%; }
.tk-recipe-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.08); transform: translateY(-3px); cursor: pointer; }
.tk-recipe-card .wp-block-post-featured-image { margin: 0 !important; }
.tk-recipe-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.tk-recipe-card .wp-block-post-terms { display: inline-block; padding: 4px 12px; border-radius: 100px; background: rgba(176,141,87,.08); margin-bottom: 8px; }
.tk-recipe-card .wp-block-post-terms a { color: #B08D57; text-decoration: none; }
.tk-recipe-card .wp-block-post-title a { color: #1A1510; text-decoration: none; }
.tk-recipe-card .wp-block-post-title a:hover { color: #B08D57; }
/* Czas przygotowania - badge obok kategorii (z prep+cook ACF) */
.tk-recipe-meta-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 8px; }
.tk-recipe-meta-row .wp-block-post-terms { display: inline-block; padding: 4px 12px; border-radius: 100px; background: rgba(176,141,87,.08); margin: 0; }
.tk-recipe-meta-row .wp-block-post-terms a { color: #B08D57 !important; text-decoration: none; }
.tk-recipe-time-badge { display: inline-block; padding: 4px 12px; border-radius: 100px; background: #F3F0EA; color: #7A7064; font-size: 10px; font-weight: 500; letter-spacing: .5px; }

/* === Service cards (3 klikalne na froncie — modal) === */
.tk-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1200px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--40); }
@media (max-width: 900px) { .tk-services { grid-template-columns: 1fr; } }
.tk-service-card { background: #FFF; border: 1px solid rgba(30,21,16,.06); border-radius: 20px; overflow: hidden; cursor: pointer; transition: box-shadow .3s, transform .3s; }
.tk-service-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.08); transform: translateY(-3px); }
.tk-service-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.tk-service-card__body { padding: 24px 28px 28px; }
.tk-service-card__body h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 20px; font-weight: 500; color: #1A1510; margin: 0 0 10px; }
.tk-service-card__body p { font-size: 13px; color: #7A7064; line-height: 1.6; margin: 0; }

/* === Social media (3 karty z SVG ikonami) === */
.tk-socials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 700px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--40); }
@media (max-width: 640px) { .tk-socials { grid-template-columns: 1fr; } }
.tk-social { display: block; padding: 28px 16px; background: #FFF; border: 1px solid rgba(176,141,87,.18); border-radius: 16px; text-align: center; text-decoration: none; color: inherit; transition: box-shadow .3s, transform .3s, border-color .3s; }
.tk-social:hover { box-shadow: 0 8px 24px rgba(0,0,0,.06); transform: translateY(-2px); border-color: #B08D57; }
.tk-social__ic { display: inline-block; margin-bottom: 10px; }
.tk-social__lb { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: #AEA79E; margin-bottom: 4px; font-weight: 600; }
.tk-social__nm { font-size: 14px; color: #B08D57; font-weight: 500; word-break: break-word; }

/* === Event cards (klikalne, otwierają modal) === */
.tk-event-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 640px) { .tk-event-cards { grid-template-columns: 1fr; } }
.tk-event-card { background: #FFF; border: 1px solid rgba(30,21,16,.06); border-radius: 20px; overflow: hidden; cursor: pointer; transition: box-shadow .3s, transform .3s; }
.tk-event-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.08); transform: translateY(-3px); }
.tk-event-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.tk-event-card__body { padding: 24px 28px 26px; }
.tk-event-card__body h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; font-weight: 500; color: #1A1510; margin: 0 0 8px; }
.tk-event-card__body p { font-size: 13px; color: #7A7064; line-height: 1.6; margin: 0 0 14px; }
.tk-event-card__cta { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #B08D57; }

/* === Event features (4 ikony w modal) === */
.tk-event-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 24px 0; }
@media (max-width: 640px) { .tk-event-features { grid-template-columns: repeat(2, 1fr); } }
.tk-event-feature { background: #FAF8F4; border-radius: 14px; padding: 18px 12px; text-align: center; }
.tk-event-feature span { font-size: 24px; display: block; margin-bottom: 8px; }
.tk-event-feature strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 14px; color: #1A1510; margin-bottom: 4px; font-weight: 500; }
.tk-event-feature small { display: block; font-size: 11px; color: #7A7064; line-height: 1.4; }

/* === Event gallery (2x2) === */
.tk-event-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 24px 0; }
.tk-event-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; display: block; }

/* === Kontakt social cards (FB/IG pod 3 kartami kontakt) === */
.tk-kontakt-socials { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 18px; }
@media (max-width: 640px) { .tk-kontakt-socials { grid-template-columns: 1fr; } }
.tk-kontakt-soc { display: block; padding: 28px 16px; background: #FFF; border: 1px solid rgba(176,141,87,.18); border-radius: 16px; text-align: center; text-decoration: none; color: inherit; transition: box-shadow .3s, transform .3s, border-color .3s; }
.tk-kontakt-soc:hover { box-shadow: 0 8px 24px rgba(0,0,0,.06); transform: translateY(-2px); border-color: #B08D57; }
.tk-kontakt-soc__ic { display: inline-block; margin-bottom: 10px; }
.tk-kontakt-soc__lb { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: #AEA79E; margin-bottom: 4px; font-weight: 600; }
.tk-kontakt-soc__nm { font-size: 14px; color: #B08D57; font-weight: 500; }

/* === Fundacja goals (6 celów) === */
.tk-foundation-goals { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 36px; }
@media (max-width: 640px) { .tk-foundation-goals { grid-template-columns: 1fr; } }
.tk-foundation-goal { display: flex; gap: 14px; background: #FFF; border-radius: 14px; padding: 18px; align-items: flex-start; border: 1px solid rgba(30,21,16,.04); }
.tk-fg__icon { font-size: 24px; flex-shrink: 0; }
.tk-foundation-goal strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 15px; color: #1A1510; margin-bottom: 4px; font-weight: 500; }
.tk-foundation-goal p { font-size: 12.5px; color: #7A7064; line-height: 1.5; margin: 0; }

/* === Ikony SVG (jednolity zestaw, stroke gold) === */
.tk-ico { flex-shrink: 0; }
.tk-event-feature > svg.tk-ico, .tk-foundation-goal > svg.tk-ico { width: 26px; height: 26px; }
.tk-event-card__body h3 svg.tk-ico, .tk-service-card__body h3 svg.tk-ico { margin-right: 4px; }

/* Email w kartach kontaktu — nie łam brzydko długiego adresu */
.wp-block-group a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; font-size: 0.92em; }

/* === Home: hero full-bleed wewnątrz post-content (ACF blok nie ma wrappera alignfull) === */
.wp-block-post-content > .tk-hero {
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box; /* KLUCZOWE: bez tego padding 24px na mobile robi 100vw+48px = overflow */
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* === Blokada poziomego przewijania na mobile (całościowo) ===
 * Guard na html I body (na realnym mobile przewija się html, nie tylko body).
 * overflow-x: clip zamiast hidden — nie psuje position:sticky nagłówka. */
html, body { overflow-x: clip; max-width: 100%; }

/* Karta wyszukiwarki: 100% szerokości + padding musi mieścić się w viewporcie */
.tk-search, .tk-search--card { box-sizing: border-box; max-width: 100%; }

/* Szerokie tabele w treści (np. lista współprac na /wspolpraca/): przewijaj
 * WEWNĄTRZ tabeli, nie łam całej strony. */
.wp-block-post-content table,
.entry-content table,
.tk-content-card table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* === Karty usług/eventów jako NATYWNE bloki (obraz+tekst edytowalne w Gutenberg) === */
/* Kolumny -> karty: obraz natywny pełnej szerokości u góry, body z paddingiem */
.tk-service-card, .tk-event-card { display: flex; flex-direction: column; height: 100%; }
.tk-service-card > *, .tk-event-card > * { margin-block: 0 !important; }
.tk-service-card .wp-block-image, .tk-event-card .wp-block-image { margin: 0; }
.tk-service-card .wp-block-image img, .tk-event-card .wp-block-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; border-radius: 0; }
.tk-service-card__body, .tk-event-card__body { flex: 1; }
/* CTA jako link (nadpisuje szary kolor akapitu body) */
.tk-service-card__body p.tk-service-card__cta, .tk-event-card__body p.tk-event-card__cta { margin: 14px 0 0 !important; }
.tk-service-card__cta, .tk-service-card__cta a, .tk-event-card__cta, .tk-event-card__cta a {
	font-size: 11px !important; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
	color: #B08D57 !important; text-decoration: none;
}
/* Kolumny kart: równe wysokości + gap jak w starej siatce */
.wp-block-columns:has(.tk-service-card) .wp-block-column,
.wp-block-columns:has(.tk-event-card) .wp-block-column { display: flex; }
