/*
Theme Name: KS Saska
Theme URI: https://kssaska.pl/
Description: Motyw potomny Twenty Twenty-Five dla KS Saska Warszawa – kolory klubowe, fonty Barlow (hostowane lokalnie), szablony według makiet.
Author: Albert Góral
Template: twentytwentyfive
Version: 0.33.0
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kssaska
*/

/* Nagłówek: dolna linia */
header.wp-block-template-part > .ks-header-main,
header.wp-block-template-part > .wp-block-group:last-child {
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}

/* Linki na granatowych tłach (pasek górny, stopka) */
.has-accent-2-background-color a,
.has-accent-3-background-color a {
	color: inherit;
	text-decoration: none;
}
.has-accent-2-background-color a:hover,
.has-accent-3-background-color a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
}

/* Menu główne: aktywna pozycja i hover w czerwieni */
.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a {
	color: var(--wp--preset--color--accent-1);
}

/* Stopka: linia nad paskiem praw autorskich */
footer.wp-block-template-part .wp-block-group.alignwide:last-child {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Widoczny fokus z klawiatury */
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

/* ---------- Karty wpisów (Aktualności, archiwa, strona główna) ---------- */
.ks-cards > li {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ks-cards > li:hover {
	box-shadow: 0 8px 24px rgba(21, 34, 89, 0.12);
	transform: translateY(-2px);
}
.ks-cards .wp-block-post-featured-image {
	margin: 0;
	height: 190px;
	overflow: hidden;
	background: var(--wp--preset--color--accent-5);
}
.ks-cards .wp-block-post-featured-image a,
.ks-cards .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover;
}
.ks-card-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.ks-card-body > * { margin: 0 !important; }
.ks-card-meta { gap: 0 !important; }
.ks-card-meta,
.ks-card-body .wp-block-post-date {
	color: var(--wp--preset--color--accent-1);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.ks-card-meta .wp-block-post-terms { display: none; }
.ks-card-meta .wp-block-post-terms a { color: inherit; text-decoration: none; }
.ks-card-meta .wp-block-post-terms::before { content: "\00a0·\00a0"; }
.ks-card-body .wp-block-post-title {
	font-size: 1.4375rem;
	line-height: 1.15;
	text-transform: none;
	font-weight: 700;
}
.ks-card-body .wp-block-post-title a {
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.ks-card-body .wp-block-post-title a:hover { color: var(--wp--preset--color--accent-1); }
.ks-card-body .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--small);
	color: #3d4358;
}
.ks-card-body .wp-block-post-excerpt__excerpt {
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ks-card-body .wp-block-post-excerpt__more-text,
.ks-card-body .wp-block-post-excerpt__more-link { display: none; }
.ks-card-body .wp-block-read-more { display: none; }

/* Wpis wiodący – pierwszy wpis na 1. stronie Aktualności */
body:not(.paged) .ks-cards-wiodacy > li:first-child {
	grid-column: 1 / -1;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-post-featured-image {
	flex: 1 1 360px;
	height: 340px;
}
body:not(.paged) .ks-cards-wiodacy > li:first-child .ks-card-body {
	flex: 1 1 300px;
	padding: 28px;
	gap: 12px;
}
body:not(.paged) .ks-cards-wiodacy > li:first-child .ks-card-meta .wp-block-post-terms { display: block; }
body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-post-title { font-size: 2rem; line-height: 1.1; }
body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--medium); }
body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-post-excerpt__excerpt { -webkit-line-clamp: 5; }
body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-read-more {
	display: inline-block;
	margin-top: auto !important;
	align-self: flex-start;
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
	padding-bottom: 2px;
}
@media (max-width: 781px) {
	body:not(.paged) .ks-cards-wiodacy > li:first-child .wp-block-post-featured-image { height: 220px; }
}

/* Okruszki nad tytułem */
.ks-okruszki { margin: 0 0 4px !important; color: var(--wp--preset--color--accent-4); }
.ks-okruszki a { color: inherit; text-decoration: none; }
.ks-okruszki a:hover { text-decoration: underline; }

/* Stronicowanie: na 1. stronie tylko przycisk „Starsze wpisy”, numery stron dopiero dalej */
.ks-pagination { margin-top: 40px !important; gap: 8px; }
body:not(.paged) .ks-pagination .wp-block-query-pagination-numbers { display: none; }
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 28px;
	border: 2px solid var(--wp--preset--color--accent-2);
	border-radius: 8px;
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.wp-block-query-pagination .wp-block-query-pagination-next:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 8px;
	border-radius: 8px;
	text-decoration: none;
	color: var(--wp--preset--color--accent-2);
	font-weight: 600;
}
.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}

/* Link z czerwonym podkreśleniem (np. „Wszystkie aktualności”) */
.ks-link-podkreslony a {
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
}

/* ---------- Przyciski obrysowe (granatowe) ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--accent-2);
	border: 2px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-2);
	border-color: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.has-accent-1-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-accent-2-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-accent-3-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--base);
}
.has-accent-1-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-accent-2-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-accent-3-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-2);
}

/* ---------- Rozwijane sekcje (dawne toggle z Divi) ---------- */
.wp-block-details {
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 10px;
	padding: 0 1.25rem;
	margin-block: 0.75rem;
	background: var(--wp--preset--color--base);
}
.wp-block-details > summary {
	cursor: pointer;
	list-style: none;
	padding: 1rem 2rem 1rem 0;
	position: relative;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--accent-2);
}
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.6em;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}
.wp-block-details[open] > summary::after { content: "–"; }
.wp-block-details[open] { padding-bottom: 1rem; }
.wp-block-details table td { vertical-align: top; padding: 0.25rem 0.75rem 0.25rem 0; border: 0; }

/* ---------- Kroki naboru (lista numerowana w kółkach) ---------- */
.ks-steps {
	list-style: none;
	counter-reset: ks-step;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ks-steps > li {
	counter-increment: ks-step;
	position: relative;
	min-height: 36px;
	padding: 6px 0 0 50px;
	margin: 0;
}
.ks-steps > li::before {
	content: counter(ks-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ks-steps > li:last-child::before { background: var(--wp--preset--color--accent-1); }
.ks-steps strong { font-weight: 700; color: var(--wp--preset--color--contrast); }

/* ---------- Strona Nabory ---------- */
.ks-nabory-tytul { font-size: clamp(2.5rem, 4.5vw, 3.375rem) !important; line-height: 1.02 !important; }
.ks-lead { font-size: 1.125rem; color: #3d4358; }
.ks-nabory-foto { margin: 0; }
.ks-nabory-foto img { width: 100%; height: 380px; object-fit: cover; display: block; }
@media (max-width: 781px) { .ks-nabory-foto img { height: 260px; } }

/* Wybór rocznika */
.ks-roczniki > * { margin-block: 0 !important; }
.ks-roczniki > * + * { margin-top: 16px !important; }
.ks-rocznik-chips { gap: 10px; }
.ks-rocznik-chips .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-2);
	border-radius: 999px;
	min-height: 44px;
	padding: 0.6rem 1.15rem;
	display: inline-flex;
	align-items: center;
}
.ks-rocznik-chips .wp-block-button__link:hover,
.ks-rocznik-chips .is-active .wp-block-button__link {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
}
.ks-rocznik-hint { display: none; color: #c9cfe3; }
.ks-roczniki.ks-js:not(.has-choice) .ks-rocznik-hint { display: block; }
.ks-roczniki.ks-js .ks-rocznik-panel { display: none; }
.ks-roczniki.ks-js .ks-rocznik-panel.is-active { display: block; }
.ks-rocznik-panel > * + * { margin-top: 10px !important; }
.ks-rocznik-tytul {
	font-size: var(--wp--preset--font-size--large) !important;
	margin: 8px 0 0 !important;
	color: var(--wp--preset--color--base) !important;
}
.ks-roczniki.ks-js .ks-rocznik-tytul { display: none; }
.ks-grupa {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	padding: 18px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	align-items: center;
	justify-content: space-between;
}
.ks-grupa > * { margin: 0 !important; }
.ks-grupa-trener { flex: 1 1 240px; }
.ks-grupa-treningi { flex: 2 1 280px; }
.ks-grupa span { font-size: 0.875rem; color: #c9cfe3; }
.ks-grupa-trener strong { font-size: 1.125rem; }
.ks-rocznik-uwaga { color: #c9cfe3; }
.ks-rocznik-uwaga a { color: var(--wp--preset--color--base) !important; text-decoration: underline !important; }

/* Kafelki „na skróty” z ikonami */
.ks-tile {
	position: relative;
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	padding: 22px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ks-tile:hover { box-shadow: 0 8px 24px rgba(21, 34, 89, 0.12); transform: translateY(-2px); }
.ks-tile::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin-bottom: 10px;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-tile h3 {
	margin: 0;
	font-size: 1.375rem;
	text-transform: uppercase;
	line-height: 1.15;
}
.ks-tile h3 a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-tile h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.ks-tile:hover h3 a { color: var(--wp--preset--color--accent-1); }
.ks-ico-kalendarz { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.ks-ico-osoba { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E"); }
.ks-ico-puchar { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4z'/%3E%3Cpath d='M7 6H4a3 3 0 0 0 3 4M17 6h3a3 3 0 0 1-3 4'/%3E%3C/svg%3E"); }
.ks-ico-namiot { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20l9-15 9 15H3z'/%3E%3Cpath d='M12 20v-6'/%3E%3C/svg%3E"); }
.ks-ico-tarcza { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z'/%3E%3C/svg%3E"); }
.ks-ico-pinezka { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }

.ks-ico-telefon { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E"); }
.ks-ico-gwizdek { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M5.6 5.6c3.5 2 5.5 5.3 6.4 9.4M18.4 5.6c-3.5 2-5.5 5.3-6.4 9.4M3 12h18'/%3E%3C/svg%3E"); }
.ks-ico-serce { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.ks-ico-druzyna { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2 20c1-3.5 3.8-5.5 7-5.5s6 2 7 5.5'/%3E%3Ccircle cx='17' cy='8.5' r='2.5'/%3E%3Cpath d='M17 14c2.5 0 4.3 1.5 5 4'/%3E%3C/svg%3E"); }
.ks-ico-dziecko { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2.5'/%3E%3Cpath d='M12 8v7M8 11l4-2 4 2M9 21l3-6 3 6'/%3E%3C/svg%3E"); }
.ks-ico-portfel { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18M16 15h2M7 6V4h10v2'/%3E%3C/svg%3E"); }
.ks-ico-aparat { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E"); }

/* Lista aktualności z miniaturą po lewej (strona Nabory) */
.ks-list-cards { display: flex; flex-direction: column; gap: 16px; padding: 0; margin: 0; list-style: none; }
.ks-list-cards > li {
	display: flex;
	flex-wrap: wrap;
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	overflow: hidden;
	margin: 0;
}
.ks-list-cards .wp-block-post-featured-image { flex: 0 1 200px; min-width: 0; height: 140px; margin: 0; }
.ks-list-cards .wp-block-post-featured-image a,
.ks-list-cards .wp-block-post-featured-image img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.ks-list-body { flex: 1 1 280px; padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; }
.ks-list-body > * { margin: 0 !important; }
.ks-list-body .wp-block-post-date { font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
.ks-list-body .wp-block-post-title {
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
}
.ks-list-body .wp-block-post-title a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-list-body .wp-block-read-more { font-weight: 700; color: var(--wp--preset--color--accent-1); text-decoration: none; margin-top: 4px !important; }
.ks-box {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	padding: 22px;
}
.ks-box > * { margin-block: 0 !important; }
.ks-box > * + * { margin-top: 10px !important; }
.ks-box h2 { font-size: 1.625rem !important; }

/* ---------- Lista z ptaszkami ---------- */
.ks-checklist {
	list-style: none;
	padding-left: 0;
}
.ks-checklist > li {
	position: relative;
	padding-left: 1.9rem;
	margin-bottom: 0.5rem;
}
.ks-checklist > li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	color: var(--wp--preset--color--accent-1);
}

/* ---------- Menu: podmenu ---------- */
.wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--accent-6) !important;
	border-radius: 8px;
	padding: 0.4rem 0;
	box-shadow: 0 8px 24px rgba(21, 34, 89, 0.12);
	min-width: 230px !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container a {
	padding: 0.45rem 1rem !important;
}

/* ---------- Treść wpisu: tabele i obrazki ---------- */
.ks-post-content img { border-radius: 8px; height: auto; }
.ks-post-content table { width: 100%; border-collapse: collapse; }
.ks-post-content th,
.ks-post-content td { border: 1px solid var(--wp--preset--color--accent-6); padding: 0.5rem 0.75rem; }
.ks-post-content thead th,
.ks-post-content tr:first-child th { background: var(--wp--preset--color--accent-5); }
.wp-block-gallery img,
.gallery img { border-radius: 6px; }

/* ---------- Mobile ---------- */


/* ---------- Pogrubienia (rodzic TT25 ma tekst o grubości 300) ---------- */
b,
strong { font-weight: 700; }

/* ---------- Strona Nabory – treść ---------- */
.ks-post-content > .alignwide { margin-top: 56px !important; }
.ks-post-content > .alignwide:first-child { margin-top: 0 !important; }
.ks-onas .ks-lead { font-size: 1.1875rem; }
.ks-callout > * { margin-block: 0 !important; }
.ks-callout > * + * { margin-top: 14px !important; }
.ks-callout::before,
.ks-info-item::before,
.ks-feature::before {
	content: "";
	display: block;
	flex: none;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-callout::before { width: 34px; height: 34px; margin-bottom: 14px; background: var(--wp--preset--color--base); }
.ks-callout p { color: #dfe3f0; }
.ks-sekcja > h2 { margin-bottom: 4px; }
.ks-sekcja > .ks-lead { margin-top: 0; color: var(--wp--preset--color--accent-4); }
.ks-features { margin-top: 28px !important; }
/* Zawsze 3 kafelki w rzędzie (2 rzędy „Zapewniamy”, 1 rząd informacji), na węższych ekranach 2 lub 1 */
.ks-features,
.ks-info { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 960px) {
	.ks-features,
	.ks-info { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.ks-features,
	.ks-info { grid-template-columns: 1fr !important; }
}
.ks-feature {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 !important;
	padding: 18px 20px;
	background: var(--wp--preset--color--accent-5);
	border-radius: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--accent-2);
	line-height: 1.3;
}
.ks-feature::before {
	width: 26px;
	height: 26px;
	padding: 11px;
	box-sizing: content-box;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: none;
	mask: none;
	background-image: none;
	position: relative;
}
.ks-feature { position: relative; }
.ks-feature::after {
	content: "";
	position: absolute;
	left: 31px;
	top: 50%;
	width: 26px;
	height: 26px;
	transform: translateY(-50%);
	background: var(--wp--preset--color--base);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-info-item {
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	padding: 24px;
}
.ks-info-item::before { width: 32px; height: 32px; margin-bottom: 12px; }
.ks-info-item > * { margin-block: 0 !important; }
.ks-info-item > * + * { margin-top: 6px !important; }
.ks-info-item h3 {
	font-size: var(--wp--preset--font-size--large);
	text-transform: uppercase;
}
.ks-cta { gap: 20px 32px; }
.ks-cta-tekst { flex: 1 1 380px; }
.ks-cta-tekst > * { margin-block: 0 !important; }
.ks-cta-tekst > * + * { margin-top: 8px !important; }
.ks-cta-przyciski .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}

/* ---------- Typografia wpisu (makieta „Pojedyncza aktualność”) ---------- */
.single .ks-post-content {
	font-size: 1.125rem;
	line-height: 1.65;
	color: #2a2f42;
}
.ks-post-content h2 { font-size: 2rem; margin-top: 1.4em; }
.ks-post-content h3 { font-size: 1.5rem; margin-top: 1.3em; }
.ks-post-content h2 + *,
.ks-post-content h3 + * { margin-top: 0.6em; }
.ks-post-content li + li { margin-top: 0.35em; }
.ks-post-content blockquote,
.ks-post-content .wp-block-quote {
	border-left: 4px solid var(--wp--preset--color--accent-1);
	padding-left: 1.25rem;
	margin-left: 0;
	font-size: 1.1875rem;
	color: var(--wp--preset--color--accent-2);
}
.ks-post-content figcaption { font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
/* Treści stron (nie wpisów) – czytelny tekst 17 px */
.page .ks-post-content { font-size: 1.0625rem; }

/* Przycisk „Nabory” po prawej stronie menu */
.ks-header-cta { margin-left: 8px; }
.ks-header-cta .wp-block-button__link { padding: 0.65rem 1.5rem; }
/* Telefon: bez czerwonego przycisku w nagłówku – zapisy są w menu (przycisk na dole) i w pasku górnym */
@media (max-width: 599px) { .wp-block-buttons.ks-header-cta { display: none !important; } }

/* Poprzedni / następny wpis – przyciski */
.wp-block-post-navigation-link { flex: 0 1 auto; max-width: calc(50% - 16px); font-size: var(--wp--preset--font-size--small); }
.wp-block-post-navigation-link a {
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100%;
	box-sizing: border-box;
	padding: 12px 18px;
	border: 2px solid var(--wp--preset--color--accent-2);
	border-radius: 10px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.wp-block-post-navigation-link a:hover {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.wp-block-post-navigation-link .post-navigation-link__label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--accent-1);
}
.wp-block-post-navigation-link a:hover .post-navigation-link__label { color: var(--wp--preset--color--base); }
.post-navigation-link-previous .post-navigation-link__label::before { content: "‹ "; }
.post-navigation-link-next { text-align: right; margin-left: auto; }
.post-navigation-link-next .post-navigation-link__label::after { content: " ›"; }
@media (max-width: 600px) {
	.wp-block-post-navigation-link { flex-basis: 100%; max-width: none; }
}

/* ---------- Kalendarz wydarzeń ---------- */
.ks-events { list-style: none; margin: 0; padding: 0; }
.ks-events-pusto { margin: 0; }

/* Kafelki na czerwonym pasku strony głównej */
.ks-events-kafle {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
@media (max-width: 960px) { .ks-events-kafle { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ks-events-kafle { grid-template-columns: 1fr; } }
.ks-event-kafel a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	box-sizing: border-box;
	padding: 18px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	color: var(--wp--preset--color--base);
	text-decoration: none;
	transition: background 0.2s ease;
}
.ks-event-kafel a:hover { background: rgba(255, 255, 255, 0.22); color: var(--wp--preset--color--base); }
.ks-event-kafel .ks-event-kiedy {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1.15;
}
.ks-event-kafel .ks-event-tytul { line-height: 1.4; }
.ks-link-bialy a { color: var(--wp--preset--color--base) !important; font-weight: 700; text-decoration: underline; }
.ks-link-bialy a:hover { text-decoration: none; }

/* Lista z datą w kwadracie (panel boczny, strona kalendarza) */
.ks-events-lista { display: flex; flex-direction: column; gap: 14px; }
.ks-event-wiersz { display: flex; gap: 14px; align-items: flex-start; }
.ks-event-data {
	flex: none;
	width: 52px;
	padding: 6px 0;
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5);
	text-align: center;
	line-height: 1.1;
}
.ks-event-dzien {
	display: block;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.375rem;
	color: var(--wp--preset--color--accent-2);
}
.ks-event-mies { display: block; font-size: 0.75rem; font-weight: 600; color: var(--wp--preset--color--accent-4); }
.ks-event-opis { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ks-event-opis a {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.ks-event-opis a:hover { color: var(--wp--preset--color--accent-1); }
.ks-event-opis .ks-event-kiedy { font-size: 0.8125rem; color: var(--wp--preset--color--accent-1); font-weight: 600; }
.ks-box-ramka { border: 1px solid var(--wp--preset--color--accent-6); border-radius: 10px; padding: 24px; }
.ks-box-ramka h2 { font-size: var(--wp--preset--font-size--large) !important; }

/* Siatka miesiąca */
.ks-kal-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.ks-kal-tytul {
	margin: 0 !important;
	min-width: 12ch;
	text-align: center;
	font-size: var(--wp--preset--font-size--x-large) !important;
}
.ks-kal-strzalka {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--wp--preset--color--accent-2);
	border-radius: 8px;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.ks-kal-strzalka:hover { background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base); }
.ks-kal-dzis {
	margin-left: auto !important;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border: 2px solid var(--wp--preset--color--accent-2);
	border-radius: 8px;
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none !important;
}
.ks-kal-dzis:hover { background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base) !important; }
@media (max-width: 600px) {
	.ks-kal-dzis { margin-left: 0 !important; width: 100%; justify-content: center; }
}
.ks-kal-siatka {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	border-top: 1px solid var(--wp--preset--color--accent-6);
	border-left: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 10px;
	overflow: hidden;
}
.ks-kal-naglowek {
	padding: 8px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.15);
}
.ks-kal-dzien {
	min-height: 110px;
	padding: 6px;
	border-right: 1px solid var(--wp--preset--color--accent-6);
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.ks-kal-dzien.is-poza { background: var(--wp--preset--color--accent-5); }
.ks-kal-nr { font-weight: 700; font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
.ks-kal-dzien.is-dzis { background: #fff6f7; }
.ks-kal-dzien.is-dzis .ks-kal-nr {
	align-self: flex-start;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
}
.ks-kal-event {
	display: block;
	padding: 3px 6px;
	border-radius: 5px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base) !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.ks-kal-event:hover { background: var(--wp--preset--color--accent-1); }
.ks-kal-wiecej { font-size: 0.75rem; color: var(--wp--preset--color--accent-4); }
.ks-kal-lista { display: none; list-style: none; padding: 0; margin: 0; }
.ks-kal-lista li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}
.ks-kal-lista .ks-event-kiedy { font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--accent-1); }
.ks-kal-lista a { font-weight: 600; color: var(--wp--preset--color--accent-2); text-decoration: none; }
@media (max-width: 781px) {
	.ks-kal-siatka { display: none; }
	.ks-kal-lista { display: block; }
}

/* Strona wydarzenia */
.ks-wyd-termin {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	color: var(--wp--preset--color--accent-1);
}
.ks-wyd-link { margin: 6px 0 0; }
.ks-wyd-link a { font-weight: 700; }

/* Biały przycisk na czerwonym tle (np. „Pełny kalendarz”) */
.ks-btn-bialy .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--base) !important;
}

/* ---------- Strona Trenerzy ---------- */
.ks-chipy { gap: 8px; margin-top: 8px !important; }
.ks-chipy .wp-block-button__link {
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--accent-2);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	font-size: var(--wp--preset--font-size--small);
}
.ks-chipy .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base); }
.ks-trener {
	margin-top: 40px !important;
	padding: 32px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 16px;
	scroll-margin-top: 24px;
}
.ks-trener-kolumny { gap: 40px !important; margin: 0 !important; }
.ks-trener-bok > * + * { margin-top: 16px !important; }
.ks-trener-foto { margin: 0; }
.ks-trener-foto img {
	display: block;
	width: 200px;
	max-width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(21, 34, 89, 0.18);
}
.ks-trener-inicjaly {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 2.6rem;
	letter-spacing: 0.02em;
}
.ks-trener-bok { flex: 0 0 240px !important; }
.ks-trener-kontakt { flex-direction: column; align-items: stretch; gap: 8px; }
.ks-trener-kontakt .wp-block-button { width: 100%; }
.ks-trener-kontakt .wp-block-button__link { box-sizing: border-box; }
.ks-trener-kontakt .wp-block-button__link { width: 100%; text-align: center; font-size: 0.9375rem; padding: 0.6rem 1rem; }
.ks-trener-tresc > * { margin-block: 0 !important; }
.ks-trener-tresc > * + * { margin-top: 14px !important; }
.ks-trener-rola {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--accent-1);
}
.ks-trener-tresc h2 { margin-top: 4px !important; }
.ks-trener-tresc > p { font-size: 1.0625rem; }
.ks-trener-tresc > p.ks-trener-rola { font-size: 0.8125rem; }
.ks-trener-tresc .ks-lead { font-size: 1.1875rem; line-height: 1.55; color: var(--wp--preset--color--contrast); }
.ks-osiagniecia,
.ks-odznaczenia {
	padding: 24px 26px;
	border-radius: 12px;
	background: var(--wp--preset--color--accent-5);
	margin-top: 24px !important;
}
.ks-osiagniecia > *,
.ks-odznaczenia > * { margin-block: 0 !important; }
.ks-osiagniecia > * + *,
.ks-odznaczenia > * + * { margin-top: 10px !important; }
.ks-osiagniecia h3,
.ks-odznaczenia h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--wp--preset--font-size--large);
	text-transform: uppercase;
}
.ks-osiagniecia h3::before,
.ks-odznaczenia h3::before {
	content: "";
	width: 26px;
	height: 26px;
	flex: none;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-osiagniecia h3 { --ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4z'/%3E%3Cpath d='M7 6H4a3 3 0 0 0 3 4M17 6h3a3 3 0 0 1-3 4'/%3E%3C/svg%3E"); }
.ks-odznaczenia {
	background: #fff8e6;
	--ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='15' r='6'/%3E%3Cpath d='M8.5 10 6 2h4l2 5 2-5h4l-2.5 8'/%3E%3C/svg%3E");
}
.ks-odznaczenia h3::before { background: #b8860b; }
.ks-osi-tytul {
	margin-top: 18px !important;
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
}
.ks-osi-lista,
.ks-odz-lista {
	list-style: none;
	padding: 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}
.ks-osi-lista li,
.ks-odz-lista li {
	position: relative;
	padding-left: 18px;
	margin: 0 0 6px;
	break-inside: avoid;
}
.ks-osi-lista li::before,
.ks-odz-lista li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1);
}
.ks-odz-lista li::before { background: #b8860b; }
@media (min-width: 1100px) {
	.ks-osi-lista-dluga { column-count: 2; column-gap: 32px; }
}
.ks-osi-wyroznienie {
	margin-top: 16px !important;
	padding: 12px 16px;
	border-left: 4px solid var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--base);
	border-radius: 0 8px 8px 0;
	font-weight: 600;
	color: var(--wp--preset--color--accent-2);
}
.ks-trenerzy-siatka { margin-top: 20px !important; }
.ks-trener-karta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 24px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 16px;
	scroll-margin-top: 24px;
}
.ks-trener-karta > * { margin: 0 !important; }
.ks-trener-karta .ks-trener-inicjaly { width: 84px; height: 84px; font-size: 1.9rem; margin-bottom: 8px !important; }
.ks-trener-karta h3 { font-size: 1.375rem; }
.ks-trener-karta .ks-trener-kontakt { width: 100%; margin-top: 12px !important; }
@media (max-width: 781px) {
	.ks-trener { padding: 20px; }
	.ks-trener-bok { flex: 1 1 auto !important; }
}

/* ---------- Treningi i grafik ---------- */
.ks-sala {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.6;
	vertical-align: 1px;
}
.ks-sala-karta { padding-top: 22px; }
.ks-sala-skrot { margin-bottom: -4px !important; }
.ks-kat-tytul { margin-top: 56px !important; }
.ks-grupy { margin-top: 16px !important; }
.ks-grupa-kafel {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-top: 4px solid var(--wp--preset--color--accent-2);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
}
.ks-grupa-kafel:has(.ks-plec-dz) { border-top-color: var(--wp--preset--color--accent-1); }
.ks-grupa-kafel > * { margin: 0 !important; }
.ks-grupa-kafel h3 { font-size: 1.5rem; }
.ks-plec {
	align-self: flex-start;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.ks-plec-dz { background: #fde8ec; color: var(--wp--preset--color--accent-1); }
.ks-plec-ch { background: #e6eaf6; color: var(--wp--preset--color--accent-2); }
.ks-grupa-trener-link { font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-grupa-trener-link a { font-weight: 600; color: var(--wp--preset--color--accent-2); }
.ks-plan {
	list-style: none;
	padding: 12px 0 0 !important;
	border-top: 1px solid var(--wp--preset--color--accent-6);
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-variant-numeric: tabular-nums;
}
.ks-plan li { display: flex; align-items: center; gap: 10px; margin: 0; }
.ks-plan strong { width: 2.6em; color: var(--wp--preset--color--accent-2); }
.ks-plan .ks-sala { margin-left: auto; }
.ks-grupa-tel { margin-top: auto !important; padding-top: 8px; }
.ks-grupa-tel .wp-block-button { width: 100%; }
.ks-grupa-tel .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; font-size: 0.9375rem; padding: 0.55rem 1rem; }

/* ---------- Historia ---------- */
.ks-liczby { margin-top: 32px !important; }
.ks-liczba {
	padding: 24px;
	border-radius: 14px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.ks-liczba > * { margin: 0 !important; }
.ks-liczba-nr {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 3.5rem;
	line-height: 1;
	letter-spacing: -0.01em;
}
.ks-liczba-nr span {
	font-size: 1.375rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #ff8fa3;
}
.ks-liczba-opis { margin-top: 10px !important; font-size: 0.9375rem; line-height: 1.45; color: #dfe3f0; }
.ks-sukcesy { margin-top: 16px !important; }
.ks-sukces {
	position: relative;
	padding: 24px 24px 24px 76px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	--ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4z'/%3E%3Cpath d='M7 6H4a3 3 0 0 0 3 4M17 6h3a3 3 0 0 1-3 4'/%3E%3C/svg%3E");
}
.ks-sukces::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 24px;
	width: 38px;
	height: 38px;
	background: #b8860b;
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-sukces > * { margin: 0 !important; }
.ks-sukces h3 { font-size: 1.5rem; text-transform: uppercase; }
.ks-sukces p { margin-top: 6px !important; font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-os { position: relative; margin-top: 24px !important; }
.ks-os::before {
	content: "";
	position: absolute;
	left: 139px;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: var(--wp--preset--color--accent-6);
}
.ks-os-rok {
	position: relative;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 0 40px;
	padding-bottom: 32px;
}
.ks-os-rok > * { margin: 0 !important; }
.ks-os-rok::before {
	content: "";
	position: absolute;
	left: 133px;
	top: 10px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1);
	box-shadow: 0 0 0 4px var(--wp--preset--color--base);
}
.ks-os-nr {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 2.25rem;
	line-height: 1;
	color: var(--wp--preset--color--accent-2);
	text-align: right;
}
.ks-os-nr span {
	display: block;
	margin-top: 4px;
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--accent-4);
}
.ks-os-lista {
	list-style: none;
	padding: 4px 0 0 !important;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ks-os-lista li { position: relative; padding-left: 18px; margin: 0; line-height: 1.5; }
.ks-os-lista li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-4);
}
.ks-os-lista li:has(strong)::before { background: #b8860b; width: 8px; height: 8px; left: 1px; top: 0.55em; }
.ks-os-lista strong { color: var(--wp--preset--color--accent-2); }
@media (max-width: 700px) {
	.ks-os::before { left: 7px; }
	.ks-os-rok { grid-template-columns: 1fr; padding-left: 32px; }
	.ks-os-rok::before { left: 1px; top: 6px; }
	.ks-os-nr { text-align: left; margin-bottom: 8px !important; }
	.ks-os-nr span { display: inline; margin-left: 8px; }
}

/* ---------- Osiągnięcia ---------- */
.ks-osi-top {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 16px;
	margin-top: 28px !important;
}
@media (max-width: 860px) { .ks-osi-top { grid-template-columns: 1fr; } }
.ks-medale-panel {
	padding: 28px;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.ks-medale-panel > * { margin: 0 !important; }
.ks-medale-panel h3 { color: var(--wp--preset--color--base); font-size: 1.75rem; text-transform: uppercase; }
.ks-medale-podpis { margin-top: 4px !important; font-size: 0.9375rem; color: #c9cfe3; }
.ks-medale { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 24px !important; }
.ks-medal { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ks-medal > * { margin: 0 !important; }
.ks-medal-nr {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 92px;
	height: 92px;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 2.75rem;
	line-height: 1;
	color: #1b1f2e;
	box-shadow: inset 0 -6px 0 rgba(0, 0, 0, 0.15), 0 0 0 5px rgba(255, 255, 255, 0.12);
}
.ks-medal-zloto .ks-medal-nr { background: radial-gradient(circle at 35% 30%, #fff1a8, #e2b10b 60%, #b8860b); }
.ks-medal-srebro .ks-medal-nr { background: radial-gradient(circle at 35% 30%, #ffffff, #c9ced8 60%, #959cab); }
.ks-medal-braz .ks-medal-nr { background: radial-gradient(circle at 35% 30%, #ffd2a8, #c8783a 60%, #8f4f1f); color: #fff; }
.ks-medal-opis { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #dfe3f0; }
.ks-fakty { display: flex; flex-direction: column; gap: 12px; }
.ks-fakt {
	flex: 1;
	padding: 18px 22px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-left: 5px solid var(--wp--preset--color--accent-1);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ks-fakt > * { margin: 0 !important; }
.ks-fakt-nr {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.875rem;
	line-height: 1.05;
	color: var(--wp--preset--color--accent-2);
	text-transform: uppercase;
}
.ks-fakt-opis { font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-najlepsze { margin-top: 16px !important; }
.ks-najlepszy {
	padding: 22px;
	border-radius: 14px;
	background: var(--wp--preset--color--accent-5);
	border-top: 5px solid #959cab;
}
.ks-najlepszy.is-zloto { border-top-color: #e2b10b; background: #fff8e6; }
.ks-najlepszy > * { margin: 0 !important; }
.ks-najlepszy-rok {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.125rem;
	color: var(--wp--preset--color--accent-1);
}
.ks-najlepszy h3 { font-size: 1.5rem; text-transform: uppercase; }
.ks-najlepszy-opis { margin-top: 4px !important; font-weight: 600; color: var(--wp--preset--color--accent-2); }
.ks-najlepszy-sklad { margin-top: 10px !important; font-size: 0.8125rem; line-height: 1.45; color: var(--wp--preset--color--accent-4); }
.ks-dysc {
	margin-top: 48px !important;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--wp--preset--color--accent-1);
	font-size: 1.75rem !important;
	text-transform: uppercase;
}
.ks-komp { margin-top: 28px !important; font-size: 1.25rem; display: flex; align-items: center; gap: 10px; }
.ks-licznik {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent-4);
}
.ks-wyniki { margin-top: 12px !important; gap: 10px !important; }
.ks-wynik {
	padding: 14px 16px 14px 62px;
	position: relative;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	min-width: 0;
}
.ks-wynik.is-medal { background: #fffcf3; }
.ks-wynik > * { margin: 0 !important; }
.ks-wynik-tytul { font-size: 0.9375rem; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.ks-wynik-tytul strong { color: var(--wp--preset--color--accent-2); }
.ks-wynik-sklad { margin-top: 4px !important; font-size: 0.8125rem; line-height: 1.45; color: var(--wp--preset--color--accent-4); }
.ks-wynik-trener { font-size: 0.8125rem; font-weight: 600; color: var(--wp--preset--color--accent-2); }
.ks-miejsce {
	position: absolute;
	left: 14px;
	top: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--accent-2);
	border: 2px solid var(--wp--preset--color--accent-6);
	background: var(--wp--preset--color--base);
}
.ks-m-zloto { background: radial-gradient(circle at 35% 30%, #fff1a8, #e2b10b 65%); border-color: #c99a06; color: #1b1f2e; }
.ks-m-srebro { background: radial-gradient(circle at 35% 30%, #fff, #c9ced8 65%); border-color: #a5abb8; color: #1b1f2e; }
.ks-m-braz { background: radial-gradient(circle at 35% 30%, #ffd2a8, #c8783a 65%); border-color: #a5612c; color: #fff; }

/* Podium medali (Osiągnięcia) */
.ks-medale-panel { display: flex; flex-direction: column; }
.ks-medale-panel > .wp-block-html,
.ks-medale-panel > p,
.ks-medale-panel > h3 { margin: 0 !important; }
.ks-podium-tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.75rem;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
}
.ks-medale-panel .ks-medale-podpis { margin: 4px 0 0; }
.ks-podium {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: end;
	gap: 10px;
	max-width: 440px;
	margin: 28px auto 0;
}
.ks-podium-miejsce { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.ks-podium-medal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1;
	color: #1b1f2e;
	box-shadow: inset 0 -6px 0 rgba(0, 0, 0, 0.15), 0 0 0 5px rgba(255, 255, 255, 0.12);
}
.ks-podium-zloto .ks-podium-medal { width: 92px; height: 92px; font-size: 2.8rem; background: radial-gradient(circle at 35% 30%, #fff1a8, #e2b10b 60%, #b8860b); }
.ks-podium-srebro .ks-podium-medal { background: radial-gradient(circle at 35% 30%, #ffffff, #c9ced8 60%, #959cab); }
.ks-podium-braz .ks-podium-medal { background: radial-gradient(circle at 35% 30%, #ffd2a8, #c8783a 60%, #8f4f1f); color: #fff; }
.ks-podium-opis { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #dfe3f0; }
.ks-podium-stopien {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	padding-top: 10px;
	border-radius: 8px 8px 0 0;
	background: rgba(255, 255, 255, 0.14);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.75rem;
	color: rgba(255, 255, 255, 0.85);
}
.ks-podium-zloto .ks-podium-stopien { height: 110px; background: linear-gradient(#f0c419, #c99a06); color: #1b1f2e; }
.ks-podium-srebro .ks-podium-stopien { height: 78px; background: linear-gradient(#e3e6ee, #a5abb8); color: #1b1f2e; }
.ks-podium-braz .ks-podium-stopien { height: 54px; background: linear-gradient(#d98c4e, #a5612c); color: #fff; }
.ks-medale-panel > .ks-podium { margin: auto auto 0 !important; padding-top: 28px; width: 100%; }
.ks-fakty > .wp-block-html { display: contents; }
.ks-fakt p { margin: 0; }

/* Puchary na podium */
.ks-podium-puchar { position: relative; display: block; width: 74px; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35)); }
.ks-podium-zloto .ks-podium-puchar { width: 96px; color: #f0c419; }
.ks-podium-srebro .ks-podium-puchar { color: #d5d9e2; }
.ks-podium-braz .ks-podium-puchar { color: #d0844a; }
.ks-puchar-svg { display: block; width: 100%; height: auto; }
.ks-podium-liczba {
	position: absolute;
	left: 0;
	right: 0;
	top: 9%;
	text-align: center;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.9rem;
	line-height: 1;
	color: #1b1f2e;
}
.ks-podium-zloto .ks-podium-liczba { font-size: 2.5rem; }
.ks-podium-braz .ks-podium-liczba { color: #fff; }

/* ---------- Regulamin (stonowany, dokumentowy) ---------- */
.ks-reg-pasek {
	gap: 12px 24px;
	padding: 16px 20px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	background: var(--wp--preset--color--accent-5);
}
.ks-reg-pasek > * { margin: 0 !important; }
.ks-reg-wersja { flex: 1 1 320px; font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-reg-akcje { gap: 8px; }
.ks-reg-akcje .wp-block-button__link { padding: 0.55rem 1.2rem; font-size: 0.9375rem; }
.ks-reg-skrot { margin-top: 36px !important; }
.ks-reg-skrot-tytul { font-size: 1.5rem !important; }
.ks-skrot {
	margin-top: 12px !important;
	border-top: 1px solid var(--wp--preset--color--accent-6);
}
.ks-skrot-poz {
	padding: 14px 16px 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}
.ks-skrot-poz > * { margin: 0 !important; font-size: 0.9375rem; line-height: 1.5; }
.ks-skrot-et {
	margin-bottom: 2px !important;
	font-size: 0.75rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--accent-1);
}
.ks-reg-spis {
	margin-top: 32px !important;
	padding: 20px 24px;
	border-left: 4px solid var(--wp--preset--color--accent-2);
	background: var(--wp--preset--color--accent-5);
	border-radius: 0 12px 12px 0;
}
.ks-reg-spis > * { margin: 0 !important; }
.ks-reg-spis-tytul { font-weight: 700; color: var(--wp--preset--color--accent-2); }
.ks-reg-spis ol { margin-top: 8px !important; padding-left: 1.4em; columns: 2; column-gap: 32px; }
.ks-reg-spis li { margin: 0 0 4px; break-inside: avoid; }
.ks-reg-spis a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-reg-spis a:hover { color: var(--wp--preset--color--accent-1); text-decoration: underline; }
@media (max-width: 600px) { .ks-reg-spis ol { columns: 1; } }
.ks-reg-sekcja {
	margin-top: 44px !important;
	padding-top: 28px;
	border-top: 1px solid var(--wp--preset--color--accent-6);
	scroll-margin-top: 24px;
}
.ks-reg-sekcja > * { margin-block: 0 !important; }
.ks-reg-sekcja > * + * { margin-top: 14px !important; }
.ks-reg-sekcja h2 {
	font-size: 1.625rem !important;
	text-transform: none;
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.ks-reg-nr {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent-1);
	letter-spacing: 0.02em;
}
.ks-reg-sekcja p,
.ks-reg-sekcja li { font-size: 1rem; line-height: 1.7; color: #2a2f42; }
.ks-reg-sekcja strong { color: var(--wp--preset--color--contrast); }
.ks-reg-koniec {
	margin-top: 40px !important;
	padding: 16px 20px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	font-weight: 600;
	text-align: center;
	color: var(--wp--preset--color--accent-2);
}

/* ---------- Wydruk (Regulamin i inne strony) ---------- */
@page { size: A4; margin: 18mm 16mm; }
@media print {
	#wpadminbar,
	header.wp-block-template-part,
	footer.wp-block-template-part,
	.ks-reg-akcje,
	.ks-reg-spis,
	.ks-okruszki,
	.wp-block-buttons { display: none !important; }
	html { margin-top: 0 !important; }
	body { background: #fff !important; color: #000; font-size: 10.5pt; }
	.has-accent-5-background-color { background: none !important; padding: 0 !important; }
	.ks-reg-pasek { border: 0; background: none; padding: 0; }
	.ks-reg-sekcja { break-inside: auto; border-top-color: #bbb; margin-top: 18pt !important; padding-top: 12pt; }
	.ks-reg-sekcja h2 { break-after: avoid; }
	.ks-reg-sekcja p, .ks-reg-sekcja li, .ks-skrot-poz > * { font-size: 10.5pt; line-height: 1.5; color: #000; }
	.ks-reg-sekcja a::after { content: " (" attr(href) ")"; font-size: 8.5pt; color: #444; word-break: break-all; }
	.ks-reg-sekcja a[href^="/"]::after { content: " (kssaska.pl" attr(href) ")"; }
	a { color: #000 !important; }
}

/* ---------- Standardy Ochrony Małoletnich ---------- */
.ks-som-intro > * { margin-block: 0 !important; }
.ks-som-data {
	margin-top: 10px !important;
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--accent-2);
}
.ks-som { margin-top: 36px !important; }
.ks-doki { display: flex; flex-direction: column; gap: 14px; margin-top: 14px !important; }
.ks-dok {
	position: relative;
	padding: 20px 20px 20px 84px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
	--ks-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
}
.ks-dok:hover { border-color: var(--wp--preset--color--accent-2); box-shadow: 0 8px 24px rgba(21, 34, 89, 0.1); }
.ks-dok::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	width: 46px;
	height: 46px;
	border-radius: 10px;
	background: var(--wp--preset--color--accent-5);
}
.ks-dok::after {
	content: "";
	position: absolute;
	left: 29px;
	top: 29px;
	width: 28px;
	height: 28px;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-dok > * { margin: 0 !important; }
.ks-dok-et {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--accent-1);
}
.ks-dok h3 { margin-top: 2px !important; font-size: 1.375rem; }
.ks-dok h3 a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-dok h3 a:hover { color: var(--wp--preset--color--accent-1); }
.ks-dok-opis { margin-top: 4px !important; font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-dok-akcje { margin-top: 12px !important; }
.ks-dok-akcje .wp-block-button__link { padding: 0.45rem 1.1rem; font-size: 0.875rem; }
.ks-som-plakat { margin: 52px 0 0 !important; }
.ks-som-plakat img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	border: 1px solid var(--wp--preset--color--accent-6);
	box-shadow: 0 12px 30px rgba(21, 34, 89, 0.15);
	transition: transform 0.2s ease;
}
.ks-som-plakat a:hover img { transform: translateY(-3px); }
.ks-som-plakat figcaption { margin-top: 8px; font-size: 0.8125rem; text-align: center; color: var(--wp--preset--color--accent-4); }
@media (max-width: 781px) { .ks-som-plakat { margin-top: 8px !important; max-width: 320px; } }

/* ---------- Galeria: przewijak ---------- */
.ks-slider {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	background: var(--wp--preset--color--accent-3);
	box-shadow: 0 18px 40px rgba(21, 34, 89, 0.22);
}
.ks-slider-tor {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	aspect-ratio: 16 / 8;
}
.ks-slider-tor::-webkit-scrollbar { display: none; }
.ks-slajd {
	position: relative;
	flex: 0 0 100%;
	margin: 0;
	scroll-snap-align: start;
}
.ks-slajd img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-slajd figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 90px 36px 30px;
	background: linear-gradient(transparent, rgba(10, 16, 40, 0.88));
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ks-slajd-data { font-size: 0.875rem; font-weight: 600; color: #ff9fb1; }
.ks-slajd-tytul {
	max-width: 760px;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: clamp(1.5rem, 3.2vw, 2.5rem);
	line-height: 1.05;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none;
}
.ks-slajd-link {
	align-self: flex-start;
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-2);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
	font-weight: 700;
	color: #fff !important;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.ks-slajd-link:hover,
.ks-slajd-link:focus-visible { background: #fff; color: var(--wp--preset--color--accent-2) !important; }
.ks-slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.88);
	color: var(--wp--preset--color--accent-2);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.ks-slider-btn:hover { background: #fff; color: var(--wp--preset--color--accent-1); }
.ks-slider-prev { left: 18px; }
.ks-slider-next { right: 18px; }
.ks-slider.is-jeden .ks-slider-btn { display: none; }
.ks-slider-kropki { position: absolute; right: 30px; bottom: 32px; display: flex; gap: 8px; }
.ks-slider-kropki button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: width 0.25s ease, background 0.25s ease;
}
.ks-slider-kropki button[aria-selected="true"] { width: 28px; background: #fff; }
@media (max-width: 700px) {
	.ks-slider { border-radius: 12px; }
	.ks-slider-tor { aspect-ratio: 4 / 3.4; }
	.ks-slajd figcaption { padding: 60px 18px 40px; }
	.ks-slider-btn { display: none; }
	.ks-slider-kropki { left: 18px; right: auto; bottom: 16px; }
}

/* ---------- Galeria: lista galerii ---------- */
.ks-gal-pasek {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 40px 0 20px;
}
.ks-gal-licznik { margin: 0; color: var(--wp--preset--color--accent-4); }
.ks-gal-licznik strong { color: var(--wp--preset--color--accent-2); font-size: 1.125rem; }
.ks-gal-filtr { display: flex; flex-wrap: wrap; gap: 8px; }
.ks-gal-filtr button {
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	font: inherit;
	font-weight: 600;
	color: var(--wp--preset--color--accent-2);
	cursor: pointer;
}
.ks-gal-filtr button:hover { border-color: var(--wp--preset--color--accent-2); }
.ks-gal-filtr button.is-active { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); color: #fff; }
.ks-galerie {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
@media (max-width: 960px) { .ks-galerie { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ks-galerie { grid-template-columns: 1fr; } }
.ks-galeria-kafel[hidden] { display: none; }
.ks-galeria-mozaika {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 4px;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--accent-5);
}
.ks-galeria-mozaika img { min-width: 0; min-height: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.ks-galeria-mozaika.is-pojedyncza { grid-template-columns: 1fr; }
.ks-galeria-mozaika.is-pojedyncza img:not(.ks-mozaika-duze) { display: none; }
.ks-galeria-kafel:hover .ks-galeria-mozaika img { transform: scale(1.04); }
.ks-galeria-ile {
	position: absolute;
	left: 12px;
	bottom: 12px;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(10, 16, 40, 0.8);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
}
.ks-galeria-opis { padding: 12px 2px 0; }
.ks-galeria-data { font-size: 0.8125rem; font-weight: 600; color: var(--wp--preset--color--accent-1); }
.ks-galeria-opis h3 { margin: 4px 0 0; font-size: 1.375rem; line-height: 1.15; }
.ks-galeria-opis h3 a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-galeria-kafel:hover h3 a { color: var(--wp--preset--color--accent-1); }
.ks-gal-sekcja { margin: 64px 0 16px !important; }
.ks-gal-najnowsze {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}
@media (max-width: 960px) { .ks-gal-najnowsze { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ks-gal-najnowsze { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ks-gal-najnowsze-poz {
	position: relative;
	display: block;
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
}
.ks-gal-najnowsze-poz img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.ks-gal-najnowsze-poz span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 30px 10px 10px;
	background: linear-gradient(transparent, rgba(10, 16, 40, 0.85));
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
	opacity: 0;
	transition: opacity 0.25s ease;
}
.ks-gal-najnowsze-poz:hover img { transform: scale(1.06); }
.ks-gal-najnowsze-poz:hover span,
.ks-gal-najnowsze-poz:focus-visible span { opacity: 1; }
@media (hover: none) { .ks-gal-najnowsze-poz span { opacity: 1; } }
.ks-gal-wiecej { margin-top: 16px; }
.ks-gal-wiecej a { font-weight: 700; color: var(--wp--preset--color--accent-2); text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--accent-1); }

/* ---------- Wpis-galeria: siatka zdjęć ---------- */
.ks-galeria { margin-top: 36px; }
.ks-galeria-naglowek { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 14px; }
.ks-galeria-naglowek h2 { margin: 0; font-size: 1.75rem; }
.ks-galeria-naglowek span { font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
.ks-galeria-siatka {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	grid-auto-rows: 150px;
	grid-auto-flow: dense;
	gap: 6px;
}
.ks-foto {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5);
	cursor: zoom-in;
}
.ks-foto img { width: 100%; height: 100%; max-width: none; min-width: 0; object-fit: cover; display: block; transition: transform 0.35s ease, filter 0.35s ease; }
.ks-foto:hover img { transform: scale(1.05); filter: brightness(1.05); }
.ks-foto.is-pion { grid-row: span 2; }
.ks-foto.is-panorama { grid-column: span 2; }
.ks-foto.is-pierwsze { grid-column: span 2; grid-row: span 2; }
.ks-inne-galerie { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--wp--preset--color--accent-6); }
.ks-inne-galerie h2 { margin: 0 0 14px; font-size: 1.5rem; }
.ks-inne-galerie-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 600px) { .ks-inne-galerie-lista { grid-template-columns: 1fr; } }
.ks-inne-galerie-lista a { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.ks-inne-galerie-lista img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; display: block; margin-bottom: 6px; }
.ks-inne-galerie-lista strong { color: var(--wp--preset--color--accent-2); line-height: 1.25; }
.ks-inne-galerie-lista a:hover strong { color: var(--wp--preset--color--accent-1); }

/* ---------- Podgląd pełnoekranowy ---------- */
html.ks-lb-otwarty { overflow: hidden; }
.ks-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(6, 10, 26, 0.95);
}
.ks-lb.is-otwarty { display: flex; }
.ks-lb-kadr {
	margin: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 56px 72px 20px;
	box-sizing: border-box;
}
.ks-lb-kadr img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.ks-lb-kadr figcaption {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	width: 100%;
	max-width: 900px;
	margin-top: 14px;
	color: #dfe3f0;
	font-size: 0.9375rem;
}
.ks-lb-licznik { flex: none; font-variant-numeric: tabular-nums; color: #9aa3bd; }
.ks-lb button {
	position: absolute;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	line-height: 1;
}
.ks-lb button:hover,
.ks-lb button:focus-visible { background: rgba(255, 255, 255, 0.25); }
.ks-lb-zamknij { top: 14px; right: 16px; width: 44px; height: 44px; font-size: 1.8rem; }
.ks-lb-nav { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 2.2rem; }
.ks-lb-prev { left: 12px; }
.ks-lb-next { right: 12px; }
.ks-lb.is-jedno .ks-lb-nav { display: none; }
@media (max-width: 700px) {
	.ks-lb-kadr { padding: 56px 8px 16px; }
	.ks-lb-nav { top: auto; bottom: 14px; transform: none; width: 44px; height: 44px; }
	.ks-lb-kadr figcaption { padding: 0 8px 50px; }
}

/* ---------- Kolaż i strona Partnerzy ---------- */
.ks-kolaz {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 200px 200px;
	gap: 8px;
	border-radius: 18px;
	overflow: hidden;
}
.ks-kolaz-foto { margin: 0; min-width: 0; min-height: 0; overflow: hidden; }
.ks-kolaz-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.ks-kolaz-foto:hover img { transform: scale(1.05); }
.ks-kolaz-foto:first-child { grid-row: 1 / 3; }
.ks-kolaz-3 { grid-template-columns: 2fr 1fr; }
.ks-kolaz-1 { grid-template-columns: 1fr; grid-template-rows: 340px; }
@media (max-width: 700px) {
	.ks-kolaz { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 130px 130px; }
	.ks-kolaz-foto:first-child { grid-row: auto; grid-column: 1 / 3; }
	.ks-kolaz-foto:nth-child(n+6) { display: none; }
}
.ks-partner-wstep { margin-top: 36px !important; }
.ks-partnerzy-loga { margin-top: 20px !important; }
.ks-partner {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 16px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 10px 28px rgba(21, 34, 89, 0.06);
}
.ks-partner > * { margin: 0 !important; }
.ks-partner figure { display: flex; align-items: center; justify-content: center; height: 150px; }
.ks-partner figure img { max-height: 150px; width: auto; max-width: 100%; object-fit: contain; }
.ks-partner-nazwa { font-weight: 700; color: var(--wp--preset--color--accent-2); }
.ks-partner-rola { font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-wsparcie { margin-top: 44px !important; }

/* Układy mozaiki kafli galerii */
.ks-galeria-mozaika { grid-template-areas: "a b" "a c"; }
.ks-galeria-mozaika > img:nth-of-type(1) { grid-area: a; }
.ks-galeria-mozaika > img:nth-of-type(2) { grid-area: b; }
.ks-galeria-mozaika > img:nth-of-type(3) { grid-area: c; }
.ks-galeria-mozaika > img:nth-of-type(4) { grid-area: d; }
.ks-moz-prawo { grid-template-columns: 1fr 2fr; grid-template-areas: "b a" "c a"; }
.ks-moz-gora { grid-template-columns: 1fr 1fr; grid-template-rows: 2fr 1fr; grid-template-areas: "a a" "b c"; }
.ks-moz-dol { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 2fr; grid-template-areas: "b c" "a a"; }
.ks-moz-pas { grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 1fr; grid-template-areas: "a b c"; }
.ks-moz-trzy { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr 1fr; grid-template-areas: "a b" "a c" "a d"; }
.ks-moz-gora .ks-galeria-ile { bottom: auto; top: 12px; }
.ks-galeria-mozaika.is-pojedyncza { grid-template-columns: 1fr; grid-template-rows: 1fr; grid-template-areas: "a"; }

/* ---------- Kontakt ---------- */
.ks-kontakt-szybki {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 16px;
}
.ks-kontakt-szybki > * { margin: 0 !important; }
.ks-kontakt-szybki h3 { font-size: 1.5rem; }
.ks-kontakt-szybki.is-glowny {
	position: relative;
	border: 0;
	background: var(--wp--preset--color--accent-1);
	color: #fff;
}
.ks-kontakt-szybki.is-glowny h3 { color: #fff; text-transform: uppercase; }
.ks-kontakt-szybki.is-glowny p { color: #ffe3e8; }
.ks-kontakt-szybki.is-glowny .wp-block-buttons { margin-top: 10px !important; }
.ks-kontakt-szybki.is-glowny .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2) !important; color: #fff !important; }
.ks-kontakt-tel a {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.625rem;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.ks-kontakt-tel a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	vertical-align: -1px;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico-tel) center / contain no-repeat;
	mask: var(--ks-ico-tel) center / contain no-repeat;
}
:root { --ks-ico-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E"); }
.ks-kontakt-tel a:hover { color: var(--wp--preset--color--accent-1); }
.ks-kontakt-mail { font-size: 0.875rem; overflow-wrap: anywhere; }
.ks-kontakt-mail a { color: var(--wp--preset--color--accent-4); }
.ks-kontakt-mail a:hover { color: var(--wp--preset--color--accent-2); }
.ks-kontakt-osoby { margin-top: 16px !important; }
.ks-kontakt-osoba {
	padding: 18px 20px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ks-kontakt-osoba:hover { border-color: var(--wp--preset--color--accent-2); box-shadow: 0 8px 22px rgba(21, 34, 89, 0.08); }
.ks-kontakt-osoba > * { margin: 0 !important; }
.ks-kontakt-osoba > * + * { margin-top: 4px !important; }
.ks-kontakt-imie a {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.ks-kontakt-osoba .ks-kontakt-tel { margin-top: 10px !important; }
.ks-kontakt-osoba .ks-kontakt-tel a { font-size: 1.375rem; }
.ks-kontakt-uwaga { font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
.ks-kontakt-dane { margin-top: 16px !important; }
.ks-dane-karta {
	height: 100%;
	box-sizing: border-box;
	padding: 24px;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-5);
}
.ks-dane-karta > * { margin-block: 0 !important; }
.ks-dane-karta > * + * { margin-top: 10px !important; }
.ks-dane-karta h3 { font-size: 1.375rem; }
.ks-dane-rejestr { font-variant-numeric: tabular-nums; }
.ks-dane-rejestr span { display: inline-block; width: 64px; font-size: 0.8125rem; font-weight: 700; color: var(--wp--preset--color--accent-4); }
.ks-konto {
	padding: 12px 16px;
	border: 1px dashed var(--wp--preset--color--accent-4);
	border-radius: 10px;
	background: var(--wp--preset--color--base);
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--accent-2);
	user-select: all;
}

/* Miniatury zdjęć na wizytówkach (Kontakt) */
.ks-kontakt-szybki,
.ks-kontakt-osoba { position: relative; }
.ks-awatar {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 56px;
	height: 56px;
	margin: 0 !important;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 0 0 3px var(--wp--preset--color--base), 0 0 0 4px var(--wp--preset--color--accent-6);
}
.ks-awatar.is-duzy { top: 22px; right: 22px; width: 84px; height: 84px; }
.ks-awatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
.ks-awatar.is-inicjaly {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}
.ks-kontakt-szybki .ks-trener-rola,
.ks-kontakt-szybki h3 { padding-right: 96px; }

/* Cel linku #roczniki – mały odstęp od górnej krawędzi */
#roczniki { scroll-margin-top: 16px; }

/* ---------- Nabory na telefonie: roczniki i „na skróty” jako listy ---------- */
.ks-rocznik-przycisk { all: unset; }
@media (max-width: 600px) {
	.ks-roczniki { padding: 22px 18px !important; }
	.ks-roczniki.ks-js .ks-rocznik-chips,
	.ks-roczniki.ks-js .ks-rocznik-hint { display: none !important; }
	.ks-roczniki.ks-js .ks-rocznik-panel {
		display: block;
		margin-top: 0 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}
	.ks-roczniki.ks-js .ks-rocznik-panel:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
	.ks-roczniki.ks-js .ks-rocznik-panel:not(.is-active) > :not(.ks-rocznik-tytul) { display: none !important; }
	.ks-roczniki.ks-js .ks-rocznik-panel.is-active { padding-bottom: 16px; }
	.ks-roczniki.ks-js .ks-rocznik-tytul { display: block; margin: 0 !important; font-size: 1.25rem !important; }
	.ks-roczniki > h2 + * { margin-top: 12px !important; }
	.ks-rocznik-przycisk {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 56px;
		padding: 10px 0;
		cursor: pointer;
		color: var(--wp--preset--color--base);
	}
	.ks-rocznik-przycisk:focus-visible { outline: 3px solid var(--wp--preset--color--base); outline-offset: 2px; }
	.ks-rocznik-nazwa { flex: 1; }
	.ks-rocznik-ile {
		font-family: var(--wp--preset--font-family--barlow);
		font-size: 0.8125rem;
		font-weight: 600;
		text-transform: none;
		letter-spacing: 0;
		color: #c9cfe3;
		background: rgba(255, 255, 255, 0.1);
		border-radius: 999px;
		padding: 2px 10px;
	}
	.ks-rocznik-przycisk::after {
		content: "";
		width: 10px;
		height: 10px;
		margin: 0 6px 4px 2px;
		border-right: 2.5px solid currentColor;
		border-bottom: 2.5px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
	}
	.ks-rocznik-przycisk[aria-expanded="true"] { color: var(--wp--preset--color--base); }
	.ks-rocznik-przycisk[aria-expanded="true"]::after { transform: rotate(-135deg); margin-bottom: -4px; }
	.ks-rocznik-panel.is-active .ks-rocznik-przycisk .ks-rocznik-nazwa { box-shadow: inset 0 -3px 0 var(--wp--preset--color--accent-1); }
	.ks-grupa { padding: 14px 16px; gap: 10px; }
	.ks-grupa-trener,
	.ks-grupa-treningi { flex-basis: 100%; }
	.ks-grupa .wp-block-buttons,
	.ks-grupa .wp-block-button { width: 100%; }
	.ks-grupa .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; }
	.ks-rocznik-uwaga { font-size: 0.875rem; }

	/* Kafelki → lista w jednej karcie: ikona, nazwa, strzałka */
	.wp-block-group.ks-tiles {
		display: flex !important;
		flex-direction: column;
		gap: 0 !important;
		background: var(--wp--preset--color--base);
		border-radius: 14px;
		overflow: hidden;
	}
	.ks-tiles > .ks-tile {
		display: flex;
		align-items: center;
		gap: 14px;
		margin: 0 !important;
		padding: 0 16px;
		min-height: 60px;
		border-radius: 0;
	}
	.ks-tiles > .ks-tile + .ks-tile { border-top: 1px solid var(--wp--preset--color--accent-6); }
	.ks-tile:hover { transform: none; box-shadow: none; background: var(--wp--preset--color--accent-5); }
	.ks-tile::before { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; }
	.ks-tile h3 { flex: 1; font-size: 1.125rem; }
	.ks-tile h3 a::after {
		content: "›";
		border-radius: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding-right: 18px;
		font-size: 2rem;
		font-weight: 300;
		line-height: 1;
		color: var(--wp--preset--color--accent-4);
	}
}

/* ---------- Menu mobilne (nakładka) ---------- */
.ks-menu-extra { display: none; }
.wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	text-align: left;
	padding: 20px 20px 32px !important;
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--base) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	top: 4px;
	right: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--base);
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "Menu";
	display: block;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #c9cfe3;
	line-height: 52px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 8px !important;
	align-items: stretch !important;
	gap: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: stretch !important;
	width: 100%;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	position: relative;
	display: flex;
	flex-direction: row !important;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	align-items: center;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1;
	padding: 14px 0 !important;
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--base) !important;
	text-decoration: none !important;
}
/* Podmenu: bez ramek i cieni, z wcięciem */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	flex-basis: 100%;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	background: transparent !important;
	min-width: 0 !important;
	padding: 0 0 12px 14px !important;
	margin: 0 !important;
	border-left: 2px solid rgba(255, 255, 255, 0.18) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	flex: 1;
	padding: 9px 0 !important;
	font-size: 1.0625rem;
	font-weight: 500;
	color: #dfe3f0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content {
	font-weight: 700;
	color: var(--wp--preset--color--base) !important;
}
/* Rozwijanie podmenu (menu.js) */
.ks-sub-toggle { display: none; }
.ks-menu-js.is-menu-open .ks-sub-toggle {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	cursor: pointer;
	color: var(--wp--preset--color--base);
}
.ks-menu-js.is-menu-open .ks-sub-toggle::before {
	content: "";
	width: 9px;
	height: 9px;
	border-right: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform 0.2s ease;
}
.ks-menu-js.is-menu-open .ks-sub-toggle:focus-visible { outline: 2px solid var(--wp--preset--color--base); border-radius: 50%; }
.ks-menu-js.is-menu-open .ks-otwarte > .ks-sub-toggle::before { transform: translateY(3px) rotate(-135deg); }
.ks-menu-js.is-menu-open .has-child:not(.ks-otwarte) > .wp-block-navigation__submenu-container { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
/* Bieżąca strona: czerwony znacznik zamiast koloru (czerwień na granacie jest mało czytelna) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base) !important;
	box-shadow: inset 4px 0 0 var(--wp--preset--color--accent-1);
	padding-left: 14px !important;
}
.wp-block-navigation__responsive-container.is-menu-open a:focus-visible { outline-color: var(--wp--preset--color--base); }
/* Dół nakładki: Nabory + kontakt */
.wp-block-navigation__responsive-container.is-menu-open .ks-menu-extra {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	margin-top: 28px;
}
.ks-menu-cta {
	display: block;
	padding: 15px 20px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base) !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.0625rem;
	text-decoration: none !important;
}
.ks-menu-kontakt { margin: 0; font-size: 0.9375rem; color: #c9cfe3; text-align: center; }
.ks-menu-kontakt a { color: var(--wp--preset--color--base) !important; text-decoration: underline !important; }

/* ---------- Podmenu na komputerze: białe, czytelne ----------
   Kolory nakładki mobilnej (granat) WordPress przenosi też na rozwijane podmenu – tu wracamy do bieli. */
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--accent-2) !important;
	padding: 6px 0 !important;
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-2) !important;
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 0.9375rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.35;
	text-decoration: none !important;
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--accent-1) !important;
	background: var(--wp--preset--color--accent-5);
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-1) !important;
	font-weight: 700;
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--accent-4);
}

/* ---------- Tabele (archiwum SLS i inne tabele w treści) ---------- */
.wp-block-table.ks-tabela {
	overflow-x: auto;
	margin: 24px 0;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	-webkit-overflow-scrolling: touch;
}
.ks-tabela table { width: 100%; border-collapse: collapse; font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.ks-tabela th,
.ks-tabela td {
	padding: 0.5rem 0.7rem;
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--accent-6) !important;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
}
.wp-block-table.ks-tabela thead { border-bottom: 0; }
.wp-block-table.ks-tabela thead th {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--base) !important;
	font-size: 0.8125rem;
	font-weight: 600;
	border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}
.wp-block-table.ks-tabela thead tr + tr th { background: #24326e !important; font-weight: 500; }
.ks-tabela tbody tr:nth-child(even) { background: var(--wp--preset--color--accent-5); }
.ks-tabela tbody tr:hover { background: #e8ecf6; }
.ks-tabela tbody tr:last-child td { border-bottom: 0 !important; }
.ks-tabela td:nth-child(2),
.ks-tabela thead tr:first-child th:nth-child(2) { text-align: left; }
.ks-tabela td:nth-child(2) { font-weight: 600; color: var(--wp--preset--color--accent-2); }
.ks-tabela tfoot td { font-weight: 700; background: var(--wp--preset--color--accent-5); }
.ks-tabela-brak {
	padding: 16px 20px;
	border-radius: 12px;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--accent-4);
	font-style: italic;
}

/* ---------- Kalendarz w telefonie ---------- */
.ks-dodaj-kal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 14px; }
.ks-dodaj-kal-tytul { font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--accent-4); margin-right: 2px; }
.ks-dodaj-kal-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0.45rem 1rem;
	border: 2px solid var(--wp--preset--color--accent-2);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-2) !important;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none !important;
}
.ks-dodaj-kal-btn::before,
.ks-subskrypcja::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-dodaj-kal-btn:hover { background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base) !important; }

.ks-subskrypcja {
	margin-top: 24px;
	padding: 24px;
	border-radius: 14px;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}
.ks-subskrypcja::before { display: block; width: 30px; height: 30px; margin-bottom: 10px; background: var(--wp--preset--color--base); }
.ks-subskrypcja h2 { margin: 0 0 8px; color: var(--wp--preset--color--base) !important; font-size: var(--wp--preset--font-size--large) !important; }
.ks-subskrypcja p { margin: 0 0 14px; font-size: 0.9375rem; color: #dfe3f0; }
.ks-subskrypcja-przyciski { display: flex; flex-direction: column; gap: 10px; }
.ks-sub-btn {
	display: block;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	text-align: center;
	font-weight: 700;
	text-decoration: none !important;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-2) !important;
}
.ks-sub-btn.ks-sub-apple { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--base) !important; }
.ks-sub-btn:hover { filter: brightness(1.08); }
.ks-subskrypcja-kopiuj { margin: 0 !important; font-size: 0.8125rem !important; }
.ks-subskrypcja-kopiuj a { color: var(--wp--preset--color--base) !important; text-decoration: underline !important; }
@media (max-width: 600px) { .ks-dodaj-kal-tytul { flex-basis: 100%; } }

/* ---------- Wyszukiwarka, wyniki, strona 404 ---------- */
.ks-szukaj { max-width: 640px; }
.ks-szukaj .wp-block-search__inside-wrapper {
	padding: 4px;
	border: 2px solid var(--wp--preset--color--accent-6);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
}
.ks-szukaj .wp-block-search__inside-wrapper:focus-within { border-color: var(--wp--preset--color--accent-2); }
.ks-szukaj .wp-block-search__input {
	border: 0 !important;
	padding: 0.55rem 1rem;
	font-size: 1rem;
	background: transparent;
	min-width: 0;
}
.ks-szukaj .wp-block-search__input:focus { outline: 0; }
.ks-szukaj .wp-block-search__button {
	margin: 0;
	padding: 0.55rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}
.ks-szukaj .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}
.ks-404-kod {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-1);
}
.ks-404 .ks-lead { max-width: 640px; }

.ks-szybko { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0 0; padding: 0; list-style: none; }
.ks-szybko-kafel { position: relative; margin: 0; }
.ks-szybko-kafel a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	box-sizing: border-box;
	padding: 20px 22px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ks-szybko-kafel a::before {
	content: "";
	width: 28px;
	height: 28px;
	margin-bottom: 8px;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-szybko-kafel strong { font-family: var(--wp--preset--font-family--barlow-condensed); font-size: 1.375rem; text-transform: uppercase; color: var(--wp--preset--color--accent-2); line-height: 1.15; }
.ks-szybko-kafel span { font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-szybko-kafel a:hover { box-shadow: 0 8px 24px rgba(21, 34, 89, 0.12); transform: translateY(-2px); }
.ks-szybko-kafel a:hover strong { color: var(--wp--preset--color--accent-1); }

.ks-sz-licznik { margin: 0 0 8px; color: var(--wp--preset--color--accent-4); }
.ks-sz-lista { margin: 0; padding: 0; list-style: none; }
.ks-sz-wynik { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.ks-sz-miniatura { flex: 0 0 88px; }
.ks-sz-foto { display: block; width: 88px; height: 88px; object-fit: cover; border-radius: 10px; }
.ks-sz-tresc { flex: 1; min-width: 0; }
.ks-sz-meta { margin: 0 0 4px; font-size: 0.8125rem; font-weight: 700; color: var(--wp--preset--color--accent-1); }
.ks-sz-typ-page .ks-sz-meta { color: var(--wp--preset--color--accent-2); }
.ks-sz-tytul { margin: 0 0 6px !important; font-size: 1.375rem !important; line-height: 1.2; text-transform: none !important; }
.ks-sz-tytul a { color: var(--wp--preset--color--accent-2); text-decoration: none; }
.ks-sz-tytul a:hover { color: var(--wp--preset--color--accent-1); }
.ks-sz-fragment { margin: 0; font-size: 0.9375rem; color: #3d4358; }
.ks-sz-lista mark { background: #fde9ed; color: inherit; padding: 0 2px; border-radius: 3px; }
.ks-sz-strony ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
.ks-sz-strony a,
.ks-sz-strony span {
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
	padding: 0 12px;
	border-radius: 999px;
	border: 2px solid var(--wp--preset--color--accent-6);
	color: var(--wp--preset--color--accent-2);
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
}
.ks-sz-strony .current { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base); }
.ks-sz-strony .dots { border: 0; }
.ks-sz-brak .ks-szybko { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 781px) { .ks-szybko { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.ks-szybko, .ks-sz-brak .ks-szybko { grid-template-columns: 1fr; gap: 10px; }
	.ks-szybko-kafel a { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; padding: 14px 16px; }
	.ks-szybko-kafel a::before { margin: 0; }
	.ks-szybko-kafel span { flex-basis: 100%; padding-left: 42px; margin-top: -4px; }
	.ks-sz-miniatura { flex-basis: 64px; }
	.ks-sz-foto { width: 64px; height: 64px; }
	.ks-szukaj .wp-block-search__button { padding: 0.55rem 1rem; }
}

/* ---------- Trenerzy: osiągnięcia rozwijane (rozwin.js) ---------- */
.ks-osiagniecia.ks-js { padding-top: 6px; padding-bottom: 6px; }
.ks-osiagniecia.ks-js:not(.is-open) .ks-osi-tresc { display: none; }
.ks-osiagniecia.ks-js h3::before { display: none; }
.ks-osi-tresc > * { margin-block: 0 !important; }
.ks-osi-tresc > * + * { margin-top: 10px !important; }
.ks-osi-tresc { padding-bottom: 18px; }
.ks-osi-przycisk {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	cursor: pointer;
	color: var(--wp--preset--color--accent-2);
}
.ks-osi-przycisk::before {
	content: "";
	width: 26px;
	height: 26px;
	flex: none;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-osi-przycisk::after {
	content: "";
	width: 10px;
	height: 10px;
	margin: 0 6px 4px auto;
	border-right: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.ks-osiagniecia.is-open .ks-osi-przycisk::after { transform: rotate(-135deg); margin-bottom: -4px; }
.ks-osi-przycisk:focus-visible { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: 4px; border-radius: 6px; }
.ks-osi-nazwa { flex: 0 1 auto; min-width: 0; }
.ks-osi-ile {
	flex: none;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: none;
	color: var(--wp--preset--color--accent-4);
	background: var(--wp--preset--color--base);
	border-radius: 999px;
	padding: 2px 10px;
}
.ks-osiagniecia:not(.is-open) .ks-osi-przycisk:hover { color: var(--wp--preset--color--accent-1); }
@media (max-width: 600px) { .ks-osi-przycisk { font-size: 1.25rem; } }

/* ---------- Strona Obozy ---------- */
.ks-obozy-wstep { margin-bottom: 8px !important; }
.ks-obozy-wstep h2 { margin-top: 0 !important; }
.ks-oboz-karta {
	display: flex;
	flex-direction: column;
	margin-top: 24px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
	color: inherit;
	text-decoration: none !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
a.ks-oboz-karta:hover { box-shadow: 0 10px 28px rgba(21, 34, 89, 0.12); transform: translateY(-2px); }
.ks-oboz-karta-foto { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.ks-oboz-karta-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-oboz-etykieta {
	position: absolute;
	left: 14px;
	top: 14px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ks-oboz-etykieta.is-bez-foto { position: static; align-self: flex-start; margin: 18px 20px 0; }
.ks-oboz-karta-tresc { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; }
.ks-oboz-data { font-size: 0.875rem; font-weight: 700; color: var(--wp--preset--color--accent-1); }
.ks-oboz-karta strong { font-family: var(--wp--preset--font-family--barlow-condensed); font-size: 1.5rem; line-height: 1.15; color: var(--wp--preset--color--accent-2); }
.ks-oboz-zajawka { font-size: 0.9375rem; color: #3d4358; }
.ks-oboz-wiecej { font-weight: 700; color: var(--wp--preset--color--accent-2); }
a.ks-oboz-karta:hover strong, a.ks-oboz-karta:hover .ks-oboz-wiecej { color: var(--wp--preset--color--accent-1); }
.ks-oboz-karta.is-pusty { background: var(--wp--preset--color--accent-5); }
.ks-obozy-liczby { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ks-obozy-liczby .ks-liczba { padding: 20px; }
.ks-obozy-liczby .ks-liczba-nr { font-size: 2.5rem; }
.ks-obozy-liczby .ks-liczba-nr span { font-size: 1.0625rem; }
.ks-obozy-liczby .ks-liczba-opis { font-size: 0.8125rem; margin-top: 8px !important; }
.ks-obozy-wstep .ks-kolaz { grid-template-rows: 200px 200px; }
/* Z zapowiedzią: prawa kolumna = kolaż + kafelki 2×2, rozciągnięte do dolnej krawędzi karty „Najbliższy obóz”. */
.ks-obozy-wstep > .wp-block-column:last-child { display: flex; flex-direction: column; }
.ks-obozy-wstep .ks-kolaz:has(+ .ks-obozy-liczby) { grid-template-rows: 170px 170px; flex: none; }
.ks-obozy-wstep .ks-obozy-liczby { flex: 1; grid-template-rows: repeat(2, minmax(0, 1fr)); }
.ks-obozy-wstep .ks-liczba { display: flex; flex-direction: column; justify-content: center; }
/* Bez zapowiedzi: kafelki w jednej linii pod wstępem. */
.ks-obozy-liczby.is-w-linii { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 32px !important; }
@media (max-width: 900px) { .ks-obozy-liczby.is-w-linii { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ks-kolaz + .ks-obozy-liczby { margin-top: 14px !important; }
.ks-obozy-naglowek { margin-top: 56px !important; margin-bottom: 20px !important; }
.ks-obozy-atuty { gap: 16px; }
.ks-atut {
	padding: 22px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
}
.ks-atut > * { margin: 0 !important; }
.ks-atut > * + * { margin-top: 8px !important; }
.ks-atut::before {
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	margin-bottom: 12px;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-atut h3 { font-size: 1.375rem !important; text-transform: uppercase; line-height: 1.15; }
.ks-atut p { font-size: 0.9375rem; line-height: 1.5; color: #3d4358; }
.ks-obozy-som { margin-top: 16px !important; font-size: 0.9375rem; color: var(--wp--preset--color--accent-4); }
.ks-obozy-miejsca { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ks-obozy-miejsca li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 16px 10px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
}
.ks-obozy-miejsca li::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--ks-ico) center / contain no-repeat;
	mask: var(--ks-ico) center / contain no-repeat;
}
.ks-obozy-miejsca strong { color: var(--wp--preset--color--accent-2); }
.ks-obozy-miejsca span { font-size: 0.875rem; color: var(--wp--preset--color--accent-4); }
.ks-obozy-miejsca li:first-child { background: var(--wp--preset--color--accent-2); }
.ks-obozy-miejsca li:first-child strong { color: var(--wp--preset--color--base); }
.ks-obozy-miejsca li:first-child span { color: #c9cfe3; }
.ks-obozy-miejsca li:first-child::before { background: #ff8fa3; }
.ks-obozy-kontakt {
	margin-top: 56px !important;
	padding: 32px 36px;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-2);
	color: #dfe3f0;
	gap: 20px 40px;
}
.ks-obozy-kontakt h2 { margin: 0 0 6px !important; }
.ks-obozy-kontakt p { margin: 0; }
.ks-obozy-kontakt .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--base); color: var(--wp--preset--color--base); }
@media (max-width: 600px) {
	.ks-obozy-liczby { gap: 10px; }
	.ks-obozy-liczby .ks-liczba { padding: 16px; }
	.ks-obozy-liczby .ks-liczba-nr { font-size: 2rem; }
	.ks-obozy-naglowek { margin-top: 40px !important; }
	.ks-obozy-kontakt { padding: 24px 20px; }
	.ks-obozy-kontakt .wp-block-buttons, .ks-obozy-kontakt .wp-block-button, .ks-obozy-kontakt .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
}

/* ---------- Zawodniczki i zawodnicy (/absolwenci/) ---------- */
.ks-abs-wstep { margin-top: 28px !important; }
.ks-abs-wstep > .wp-block-column:last-child { display: flex; flex-direction: column; }
.ks-abs-foto { margin: 0 !important; }
.ks-abs-foto img { width: 100%; height: 320px; object-fit: cover; display: block; }
.ks-abs-wstep .ks-abs-liczby { flex: 1; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(2, minmax(0, 1fr)); margin-top: 0 !important; }
.ks-abs-wstep .ks-liczba { display: flex; flex-direction: column; justify-content: center; }
.ks-abs-wstep .ks-abs-skok { flex-wrap: nowrap; gap: 6px; }
.ks-abs-wstep .ks-abs-skok a { flex: 1 1 0; min-width: 0; padding: 6px 0; text-align: center; font-size: 0.875rem; }
@media (max-width: 600px) {
	.ks-abs-wstep .ks-abs-skok { flex-wrap: wrap; }
	.ks-abs-wstep .ks-abs-skok a { flex: 0 0 auto; padding: 6px 14px; }
}
.ks-abs-liczby { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px !important; }
.ks-abs-liczby .ks-liczba { padding: 20px; }
.ks-abs-liczby .ks-liczba-nr { font-size: 2.75rem; }
.ks-abs-liczby .ks-liczba-nr span { font-size: 1.125rem; }
.ks-abs-skok { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ks-abs-skok a {
	padding: 6px 14px;
	border: 2px solid var(--wp--preset--color--accent-6);
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--accent-2);
	text-decoration: none;
}
.ks-abs-skok a:hover { border-color: var(--wp--preset--color--accent-2); background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--base); }
.ks-abs-wyroznienie {
	position: relative;
	margin-top: 28px !important;
	padding: 20px 24px 20px 72px;
	border-radius: 14px;
	background: #fff8e6;
}
.ks-abs-wyroznienie::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 22px;
	width: 32px;
	height: 32px;
	background: #b8860b;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ks-abs-wyroznienie > * { margin: 0 !important; }
.ks-abs-wyroznienie > * + * { margin-top: 4px !important; }
.ks-abs-wyroznienie-etykieta { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a6508; }
.ks-abs-rocznik {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	margin-top: 0 !important;
	padding: 28px 0;
	border-top: 1px solid var(--wp--preset--color--accent-6);
	scroll-margin-top: 16px;
}
.ks-abs-liczby + .ks-abs-skok + .ks-abs-wyroznienie + .ks-abs-rocznik,
.ks-abs-wyroznienie + .ks-abs-rocznik { margin-top: 36px !important; }
.ks-abs-rocznik > * { margin: 0 !important; }
.ks-abs-rok {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 3.25rem;
	line-height: 1;
	color: var(--wp--preset--color--accent-2);
}
.ks-abs-rok::before {
	content: "rocznik";
	display: block;
	margin-bottom: 4px;
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-1);
}
.ks-abs-grupy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ks-abs-grupy > * { margin: 0 !important; }
.ks-abs-grupa > * { margin: 0 !important; }
.ks-abs-grupa h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px !important;
	font-size: 1.125rem !important;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.ks-abs-grupa h3::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--accent-1); }
.ks-abs-ch h3::before { background: var(--wp--preset--color--accent-2); }
.ks-abs-lista { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ks-abs-lista li {
	margin: 0 !important;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
	font-size: 0.9375rem;
	line-height: 1.35;
}
.ks-abs-lista li.ks-abs-gwiazda { background: #b8860b; color: var(--wp--preset--color--base); box-shadow: none; font-weight: 700; }
.ks-abs-lista li.ks-abs-gwiazda::before { content: "★ "; }
@media (max-width: 781px) {
	.ks-abs-foto img { height: 220px; }
	.ks-abs-liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ks-abs-rocznik { grid-template-columns: 1fr; gap: 12px; padding: 22px 0; }
	.ks-abs-rok { font-size: 2.5rem; }
	.ks-abs-grupy { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
	.ks-abs-liczby { gap: 10px; }
	.ks-abs-liczby .ks-liczba { padding: 16px; }
	.ks-abs-liczby .ks-liczba-nr { font-size: 2rem; }
	.ks-abs-wyroznienie { padding: 18px 18px 18px 60px; }
	.ks-abs-wyroznienie::before { left: 18px; }
}

/* Lżejsze kafelki z liczbami (Absolwenci, Mistrzostwa Klubu): biała karta, czerwony pasek z lewej */
.ks-abs-liczby .ks-liczba,
.ks-liczby-lekkie .ks-liczba {
	padding: 18px 22px;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-left: 4px solid var(--wp--preset--color--accent-1);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
.ks-abs-liczby .ks-liczba-nr,
.ks-liczby-lekkie .ks-liczba-nr {
	font-size: 1.75rem !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-2);
}
.ks-abs-liczby .ks-liczba-nr span { font-size: inherit !important; font-weight: 800; color: inherit; }
.ks-liczby-lekkie .ks-liczba-opis,
.ks-abs-liczby .ks-liczba-opis { margin-top: 4px !important; font-size: 0.9375rem !important; color: var(--wp--preset--color--accent-4); }
@media (max-width: 600px) { .ks-abs-wstep .ks-abs-liczby { grid-template-columns: 1fr !important; grid-template-rows: none; gap: 10px; } .ks-abs-liczby .ks-liczba { padding: 14px 16px; } .ks-abs-liczby .ks-liczba-nr { font-size: 1.5rem !important; } }

/* ---------- Mistrzostwa Klubu ---------- */
.ks-mk-wstep h2 { margin-top: 0 !important; }
.ks-mk-liczby { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 32px !important; }
.ks-mk-os { position: relative; margin: 0; padding: 0 0 0 64px; list-style: none; }
.ks-mk-os::before { content: ""; position: absolute; left: 23px; top: 8px; bottom: 8px; width: 2px; background: var(--wp--preset--color--accent-6); }
.ks-mk-edycja { position: relative; margin: 0 0 20px; }
.ks-mk-nr {
	position: absolute;
	left: -64px;
	top: 18px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.125rem;
	box-shadow: 0 0 0 5px var(--wp--preset--color--base);
}
.ks-mk-edycja:first-child .ks-mk-nr { background: var(--wp--preset--color--accent-1); }
.ks-mk-karta {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
	color: inherit;
	text-decoration: none !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ks-mk-karta:hover { box-shadow: 0 10px 28px rgba(21, 34, 89, 0.12); transform: translateY(-2px); }
.ks-mk-foto { position: relative; display: block; min-height: 190px; }
.ks-mk-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-mk-tresc { display: flex; flex-direction: column; gap: 6px; padding: 20px 24px; }
.ks-mk-meta { font-size: 0.875rem; font-weight: 700; color: var(--wp--preset--color--accent-1); }
.ks-mk-karta strong { font-family: var(--wp--preset--font-family--barlow-condensed); font-size: 1.625rem; line-height: 1.1; text-transform: uppercase; color: var(--wp--preset--color--accent-2); }
.ks-mk-dopisek { align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: #fff8e6; color: #8a6508; font-size: 0.8125rem; font-weight: 700; }
.ks-mk-zajawka { font-size: 0.9375rem; color: #3d4358; }
.ks-mk-wiecej { margin-top: auto; font-weight: 700; color: var(--wp--preset--color--accent-2); }
.ks-mk-karta:hover strong, .ks-mk-karta:hover .ks-mk-wiecej { color: var(--wp--preset--color--accent-1); }
@media (max-width: 900px) { .ks-mk-liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
	.ks-mk-os { padding-left: 44px; }
	.ks-mk-os::before { left: 15px; }
	.ks-mk-nr { left: -44px; width: 32px; height: 32px; font-size: 0.875rem; top: 12px; box-shadow: 0 0 0 4px var(--wp--preset--color--base); }
	.ks-mk-karta { grid-template-columns: 1fr; }
	.ks-mk-foto { min-height: 0; aspect-ratio: 16 / 9; }
	.ks-mk-tresc { padding: 16px 18px; }
}
@media (max-width: 600px) { .ks-mk-liczby { gap: 10px; } }

/* ---------- Nasze turnieje (Turniej „Niepodległa”) ---------- */
.ks-tn-wstep .ks-kolaz { flex: 1; grid-template-rows: minmax(190px, 1fr) minmax(190px, 1fr); }
.ks-tn-zwyciezcy { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 6px; }
.ks-tn-zw-tytul { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.ks-tn-zw { position: relative; padding-left: 26px; font-size: 0.9375rem; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.ks-tn-zw::before { content: "🏆"; position: absolute; left: 0; top: 0; font-size: 0.9375rem; }
.ks-tn-zw em { font-style: normal; font-weight: 700; color: var(--wp--preset--color--accent-2); margin-right: 6px; }
.ks-tn-zw em::after { content: ":"; }
.ks-tn-zw.is-saska { font-weight: 700; color: var(--wp--preset--color--accent-1); }
.ks-tn-galerie { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0 !important; font-size: 0.875rem; }
.ks-tn-galerie > span { font-weight: 700; color: var(--wp--preset--color--accent-4); }
.ks-tn-galerie a { padding: 4px 12px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 999px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--accent-2); font-weight: 700; text-decoration: none; }
.ks-tn-galerie a:hover { border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-1); }
.ks-tn-galerie small { margin-left: 4px; font-weight: 500; color: var(--wp--preset--color--accent-4); }
.ks-tn-najblizszy .ks-oboz-zajawka a { color: var(--wp--preset--color--accent-1); font-weight: 700; }
@media (max-width: 781px) { .ks-tn-wstep .ks-kolaz { flex: none; min-height: 380px; } }
@media (max-width: 700px) { .ks-tn-wstep .ks-kolaz { min-height: 0; grid-template-rows: 220px 130px 130px; } }

/* ---------- Nagłówek: bez odstępu nad pierwszą sekcją, podkreślenie aktywnej pozycji, pływające menu (komputer) ---------- */
/* Twenty Twenty-Five dodaje odstęp między blokami głównymi strony – pod nagłówkiem zbędny (biały pasek nad hero/tytułem). */
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start: 0 !important; }

/* Aktywna strona (także „Klub”, gdy jesteśmy na jego podstronie): czerwona kreska pod pozycją; przy najechaniu kreska się wysuwa. */
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { position: relative; }
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 3px;
	border-radius: 2px;
	background: var(--wp--preset--color--accent-1);
	transform: scaleX(0);
	transition: transform 0.2s ease;
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--wp--preset--color--accent-1); }

/* Pływające menu: granatowy pasek przewija się, biały pasek z logo i menu zostaje u góry; po przewinięciu jest niższy i z cieniem. */
@media (min-width: 782px) {
	html { scroll-padding-top: 96px; }
	header.wp-block-template-part {
		position: sticky;
		top: calc(var(--ks-pasek, 37px) * -1);
		z-index: 100;
		background: var(--wp--preset--color--base);
		transition: box-shadow 0.25s ease;
	}
	.admin-bar header.wp-block-template-part { top: calc(32px - var(--ks-pasek, 37px)); }
	header.wp-block-template-part > .wp-block-group:last-child > .wp-block-group { transition: padding 0.25s ease; }
	header.wp-block-template-part .wp-block-site-logo img { transition: width 0.25s ease; }
	header.wp-block-template-part.ks-przyklejony { box-shadow: 0 6px 20px rgba(21, 34, 89, 0.10); }
	header.wp-block-template-part.ks-przyklejony > .wp-block-group:last-child > .wp-block-group { padding-top: 6px !important; padding-bottom: 6px !important; }
	header.wp-block-template-part.ks-przyklejony .wp-block-site-logo img { width: 84px !important; }
}
@media (min-width: 782px) and (prefers-reduced-motion: reduce) {
	header.wp-block-template-part, header.wp-block-template-part * { transition: none !important; }
}

/* ---------- Kontakt: zdjęcia budynków w kartach „Miejsca zajęć” ---------- */
.ks-sala-karta:has(.ks-sala-foto) { display: flex; flex-direction: column; overflow: hidden; padding-top: 0; }
.ks-sala-karta:has(.ks-sala-foto)::before { display: none; }
.ks-info-item > .ks-sala-foto { margin: 0 -24px 18px !important; }
.ks-sala-foto img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 0.5s ease; }
.ks-sala-karta:hover .ks-sala-foto img { transform: scale(1.04); }
.ks-sala-foto { overflow: hidden; }
.ks-sala-karta:has(.ks-sala-foto) > .ks-link-podkreslony:last-child { margin-top: auto !important; padding-top: 10px; }
