/* Lion Judo – wspólne style nowej strony (nagłówek, stopka, klasy powtarzalnych elementów).
   Style konkretnych podstron (w tym wersja na telefon z projektów) są w assets/css/pages/<strona>.css. */

:root {
	--lj-red: #D6261E;
	--lj-red-text: #B71C15;
	--lj-black: #121212;
	--lj-soft: #F6F5F2;
	--lj-line: #E6E4DF;
	--lj-text: #3D3D3D;
	--lj-muted: #555555;
	--lj-anton: 'Anton', sans-serif;
	--lj-sans: 'Work Sans', system-ui, sans-serif;
}

body.lj-body { margin: 0; background: #FFFFFF; }
.lj { font-family: var(--lj-sans); color: var(--lj-black); background: #FFFFFF; font-size: 17px; line-height: 1.55; overflow-x: clip; }
.lj a { color: var(--lj-red-text); }
.lj a:hover { color: var(--lj-black); }
.lj img, .lj video { max-width: 100%; }
.lj [hidden] { display: none !important; }
.lj :focus-visible { outline: 3px solid var(--lj-red); outline-offset: 2px; }
#lj-main > p:empty { display: none; }

/* ---------- Nagłówek ---------- */
.lj-header { position: relative; z-index: 30; background: #FFFFFF; border-bottom: 1px solid var(--lj-line); }
.lj-header__in { max-width: 1240px; margin: 0 auto; padding: 12px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.lj .lj-brand { display: flex; align-items: center; gap: 10px; color: var(--lj-black); text-decoration: none; }
.lj-brand__logo { width: 60px; height: 60px; object-fit: contain; display: block; }
.lj-brand__text { display: flex; flex-direction: column; line-height: 1; }
.lj-brand__name { font-family: var(--lj-anton); font-size: 26px; letter-spacing: 0.01em; word-spacing: -0.08em; white-space: nowrap; }
.lj-brand__claim { font-size: 12px; letter-spacing: 0.14em; color: var(--lj-red-text); font-weight: 700; margin-top: 4px; }

.lj-nav-desk { display: flex; flex-wrap: wrap; gap: 0 20px; font-size: 15px; font-weight: 600; }
.lj .lj-nav-desk > a, .lj .lj-dd > a { color: var(--lj-black); text-decoration: none; padding: 12px 0; }
.lj .lj-dd > a { display: inline-flex; align-items: center; gap: 4px; }
.lj .lj-nav-desk > a:hover, .lj .lj-dd > a:hover { color: var(--lj-red-text); }
.lj .lj-nav-desk > a[aria-current="page"], .lj .lj-dd > a[aria-current="page"] { color: var(--lj-red-text); box-shadow: inset 0 -3px 0 var(--lj-red); }
.lj-dd { position: relative; }
.lj-dd-menu { display: none; position: absolute; top: 100%; left: -14px; z-index: 30; min-width: 190px; flex-direction: column; padding: 8px; background: #FFFFFF; border: 1px solid var(--lj-line); border-radius: 8px; box-shadow: 0 12px 28px rgba(18,18,18,0.14); }
.lj-dd:hover .lj-dd-menu, .lj-dd:focus-within .lj-dd-menu { display: flex; }
.lj .lj-dd-menu a { display: block; padding: 12px 14px; border-radius: 6px; text-decoration: none; font-weight: 600; color: var(--lj-black); }
.lj .lj-dd-menu a:hover, .lj .lj-dd-menu a[aria-current="page"] { background: var(--lj-soft); color: var(--lj-red-text); }
.lj-chev { transition: transform .2s ease; }
.lj-dd:hover .lj-chev { transform: rotate(180deg); }

.lj .lj-hdr-cta { background: var(--lj-red); color: #FFFFFF; text-decoration: none; font-weight: 700; font-size: 15px; letter-spacing: 0.06em; padding: 14px 22px; border-radius: 4px; }
.lj .lj-hdr-cta:hover { background: var(--lj-red-text); color: #FFFFFF; }

.lj-nav-mob { display: none; }
.lj-nav-mob summary, .lj-mob-sub summary { list-style: none; cursor: pointer; }
.lj-nav-mob summary::-webkit-details-marker, .lj-mob-sub summary::-webkit-details-marker { display: none; }
.lj-nav-mob > summary { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; border-radius: 999px; border: 2px solid var(--lj-black); font-weight: 700; font-size: 15px; letter-spacing: 0.08em; box-sizing: border-box; }
.lj-nav-mob[open] > summary { background: var(--lj-black); color: #FFFFFF; }
.lj-mob-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; display: flex; flex-direction: column; background: #FFFFFF; border-bottom: 3px solid var(--lj-red); box-shadow: 0 16px 30px rgba(18,18,18,0.15); padding: 8px 24px 20px; }
.lj .lj-mob-link { display: block; padding: 14px 4px; border-bottom: 1px solid var(--lj-line); text-decoration: none; font-weight: 700; font-size: 18px; color: var(--lj-black); }
.lj .lj-mob-link[aria-current="page"], .lj-mob-sub summary.is-current { color: var(--lj-red-text); }
.lj-mob-sub { border-bottom: 1px solid var(--lj-line); }
.lj-mob-sub summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 4px; font-weight: 700; font-size: 18px; color: var(--lj-black); }
.lj-mob-sub[open] .lj-chev { transform: rotate(180deg); }
.lj .lj-mob-child { display: block; padding: 10px 4px 10px 20px; text-decoration: none; font-weight: 600; font-size: 16px; color: var(--lj-text); }
.lj .lj-mob-child[aria-current="page"] { color: var(--lj-red-text); }
.lj .lj-mob-cta { display: block; margin-top: 16px; text-align: center; background: var(--lj-red); color: #FFFFFF; text-decoration: none; font-weight: 700; letter-spacing: 0.06em; padding: 16px; border-radius: 4px; }

/* Menu „MENU” (rozwijane) poniżej 1180 px – większy pasek nie zmieściłby się w jednym rzędzie */
@media (max-width: 1180px) {
	.lj-nav-desk, .lj .lj-hdr-cta { display: none; }
	.lj-nav-mob { display: block; }
}

/* Większy, wyraźniejszy górny pasek na komputerze */
@media (min-width: 1181px) {
	.lj-header { box-shadow: 0 4px 18px rgba(18,18,18,0.07); }
	.lj-header__in { max-width: 1360px; padding: 16px 24px; flex-wrap: nowrap; }
	.lj-brand__logo { width: 64px; height: 64px; }
	.lj-brand__name { font-size: 28px; }
	.lj-nav-desk { flex-wrap: nowrap; white-space: nowrap; font-size: 15px; font-weight: 700; gap: 0 16px; }
	.lj .lj-nav-desk > a, .lj .lj-dd > a { padding: 16px 0; }
	.lj .lj-nav-desk > a[aria-current="page"], .lj .lj-dd > a[aria-current="page"] { box-shadow: inset 0 -4px 0 var(--lj-red); }
	.lj .lj-dd-menu a { font-size: 16px; }
	.lj .lj-hdr-cta { white-space: nowrap; font-size: 14px; padding: 15px 20px; }
}
@media (min-width: 1361px) {
	.lj-header__in { padding: 18px 24px; }
	.lj-brand__logo { width: 76px; height: 76px; }
	.lj-brand__name { font-size: 32px; }
	.lj-brand__claim { font-size: 13px; margin-top: 5px; }
	.lj-nav-desk { font-size: 16px; gap: 0 22px; }
	.lj .lj-hdr-cta { font-size: 16px; padding: 17px 26px; }
}

/* ---------- Stopka ---------- */
.lj-footer { background: var(--lj-soft); border-top: 1px solid var(--lj-line); }
.lj-footer__in { max-width: 1240px; margin: 0 auto; padding: 24px 24px 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; font-size: 14px; }
.lj-footer__org { display: flex; align-items: center; gap: 12px; }
.lj-footer__org img { width: 44px; height: 44px; object-fit: contain; display: block; flex: none; }
.lj-footer__org > span { display: flex; flex-direction: column; }
.lj-footer__addr { color: var(--lj-muted); font-size: 13px; }
.lj-footer__col { display: flex; flex-direction: column; }
.lj-footer__h { font-size: 11px; letter-spacing: 0.14em; color: var(--lj-red-text); }
.lj-footer__col > span { display: flex; flex-wrap: wrap; gap: 0 14px; }
.lj .lj-footer__col a { color: var(--lj-black); text-decoration: none; padding: 4px 0; }
.lj .lj-footer__col a:hover { color: var(--lj-red-text); }
.lj-footer__social { display: flex; gap: 8px; }
.lj .lj-footer__social a { width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--lj-black); color: var(--lj-black); display: flex; align-items: center; justify-content: center; }
.lj .lj-footer__social a:hover { background: var(--lj-black); color: #FFFFFF; }
.lj-footer__bar { max-width: 1240px; margin: 0 auto; padding: 10px 24px 16px; border-top: 1px solid #E0DED8; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; font-size: 12px; color: var(--lj-muted); }
.lj .lj-footer__bar a { color: var(--lj-muted); }

@media (max-width: 700px) {
	.lj-header__in { padding: 10px 16px; }
	.lj-footer__in { padding-left: 16px; padding-right: 16px; }
	.lj-footer__bar { padding-left: 16px; padding-right: 16px; }
	/* większe pola dotyku na telefonie */
	.lj .lj-footer__col a { padding: 11px 0; }
	.lj .lj-footer__social a { width: 44px; height: 44px; }
}
@media (max-width: 420px) {
	.lj-brand__logo { width: 50px; height: 50px; }
	.lj-brand__name { font-size: 22px; }
	.lj-brand__claim { font-size: 10px; letter-spacing: 0.1em; }
}

/* ---------- Powtarzalne elementy treści (klasy zamiast stylów inline) ---------- */
.lj-wrap { max-width: 1240px; margin: 0 auto; }
.lj-bg-soft { background: var(--lj-soft); }
.lj-pagehero { background: var(--lj-soft); border-bottom: 1px solid var(--lj-line); }
.lj-pagehero__in { padding: 56px 24px 48px; display: flex; flex-direction: column; gap: 14px; }
.lj-h1 { margin: 0; font-family: var(--lj-anton); font-weight: 400; font-size: clamp(48px, 6vw, 88px); line-height: 0.95; }
.lj-h2 { margin: 0; font-family: var(--lj-anton); font-weight: 400; font-size: clamp(40px, 4.5vw, 60px); line-height: 1; }
.lj-eyebrow { color: var(--lj-red-text); font-weight: 700; font-size: 14px; letter-spacing: 0.16em; }
.lj-lead { margin: 0; font-size: 20px; color: var(--lj-text); max-width: 720px; }
.lj-small { font-size: 14px; color: var(--lj-muted); }
.lj-cta { background: var(--lj-red); color: #FFFFFF; }
.lj-cta__in { padding: 64px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.lj .lj-btn { display: inline-block; text-decoration: none; font-weight: 700; letter-spacing: 0.06em; border-radius: 4px; }
.lj .lj-btn--red, .lj .lj-btn--red:hover { background: var(--lj-red); color: #FFFFFF; padding: 16px 24px; }
.lj .lj-btn--red:hover { background: var(--lj-red-text); }
.lj .lj-btn--white, .lj .lj-btn--white:hover { background: #FFFFFF; color: var(--lj-black); font-size: 17px; padding: 20px 32px; }
.lj .lj-btn--white:hover { background: var(--lj-soft); }
.lj-post { padding: 48px 24px 88px; max-width: 820px; font-size: 18px; }

/* Ruch (assets/js/lj-motion.js): wejście napisów zza lewej krawędzi + pojawianie przy przewijaniu.
   Do czasu uruchomienia skryptu napisy pierwszej sekcji są ukryte (bez „mignięcia”); bezpiecznik w <head> pokazuje je po 2,5 s. */
html.lj-js:not(.lj-motion-done) #lj-main > section:first-of-type :has(> h1) > *,
html.lj-js:not(.lj-motion-done) #lj-main > section:first-of-type .lj-badge { opacity: 0; }
@keyframes lj-from-left { from { opacity: 0; transform: translateX(-110vw); } 60% { opacity: 1; } to { opacity: 1; transform: none; } }
@keyframes lj-fade-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes lj-pop-in { 0% { opacity: 0; transform: scale(.6) rotate(-12deg); } 70% { opacity: 1; transform: scale(1.04) rotate(2deg); } 100% { opacity: 1; transform: none; } }
/* Nagłówki niżej na stronie: spokojne pojawienie się (lekkie rozmycie → ostro, delikatnie z dołu) */
@keyframes lj-wipe { from { opacity: 0; transform: translateY(12px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes lj-rise { from { opacity: 0; transform: translateY(36px) scale(.97); } to { opacity: 1; transform: none; } }
.lj-line { display: block; }
.lj-intro { animation: lj-from-left 1s cubic-bezier(.16, .84, .3, 1) var(--lj-d, 0s) both; }
.lj-fade { animation: lj-fade-in .7s ease-out var(--lj-d, 0s) both; }
.lj-intro-pop { animation: lj-pop-in .9s cubic-bezier(.2, .9, .3, 1.2) var(--lj-d, 0s) both; }
.lj-wipe:not(.is-in) { opacity: 0; }
.lj-wipe.is-in { animation: lj-wipe .8s ease-out both; }
.lj-rise:not(.is-in) { opacity: 0; }
.lj-rise.is-in { animation: lj-rise .75s cubic-bezier(.16, .84, .3, 1) var(--lj-d, 0s) both; }
@media (prefers-reduced-motion: reduce) {
	.lj-intro, .lj-fade, .lj-intro-pop, .lj-wipe.is-in, .lj-rise.is-in { animation: none; }
	.lj-wipe:not(.is-in) { opacity: 1; }
	.lj-rise:not(.is-in) { opacity: 1; }
}

/* Wspólne animacje (strony dokładają swoje w pages/*.css) */
@keyframes lj-pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.lj-pop { animation: lj-pop .3s ease-out both; }
@media (prefers-reduced-motion: reduce) { .lj-pop { animation: none; } }

/* ---------- Formularz kontaktowy (Forminator w ramce z projektu) ---------- */
.lj-form .forminator-ui.forminator-custom-form { margin: 0 !important; font-family: var(--lj-sans) !important; }
.lj-form .forminator-row { margin-bottom: 16px !important; }
.lj-form .forminator-label { font-family: var(--lj-sans) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--lj-black) !important; margin-bottom: 6px !important; }
.lj-form .forminator-input, .lj-form .forminator-textarea, .lj-form select.forminator-select2, .lj-form .forminator-select {
	font-family: var(--lj-sans) !important; font-size: 16px !important; padding: 14px !important; border-radius: 4px !important;
	border: 1px solid #BDBDB8 !important; background: #FFFFFF !important; color: var(--lj-black) !important; min-height: 48px; box-sizing: border-box;
}
.lj-form .forminator-checkbox-label, .lj-form .forminator-consent__label { font-size: 14px !important; color: var(--lj-text) !important; }
.lj-form .forminator-button-submit, .lj-form button.forminator-button {
	background: var(--lj-red) !important; color: #FFFFFF !important; border: 0 !important; font-family: var(--lj-sans) !important;
	font-weight: 700 !important; font-size: 16px !important; letter-spacing: 0.06em !important; padding: 16px 28px !important;
	border-radius: 4px !important; min-height: 48px; cursor: pointer; text-transform: uppercase;
}
.lj-form .forminator-button-submit:hover { background: var(--lj-red-text) !important; }
/* układ pól jak w projekcie: etykieta nad polem, pola na całą szerokość, Imię + Telefon obok siebie */
.lj-form .forminator-row { display: flex; flex-wrap: wrap; gap: 16px; }
.lj-form .forminator-col { flex: 1 1 200px; min-width: 0; }
.lj-form .forminator-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lj-form .forminator-input, .lj-form .forminator-textarea, .lj-form select { width: 100% !important; max-width: 100% !important; }
.lj-form .select2-container { width: 100% !important; max-width: 100%; }
.lj-form .forminator-field-consent .forminator-label { display: none !important; }
.lj-form .forminator-checkbox { display: flex !important; gap: 10px; align-items: flex-start; }
.lj-form .forminator-checkbox input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--lj-red); flex: none; }
.lj-form .forminator-description, .lj-form .forminator-error-message { font-size: 13px; }
.lj-form .forminator-error-message { color: var(--lj-red-text); }

/* Komunikat po wysłaniu: zielony = wysłano, czerwony = błąd */
.lj-form .forminator-response-message { border-radius: 8px !important; padding: 16px 18px 16px 52px !important; margin: 0 0 18px !important; font-size: 16px !important; font-weight: 600; position: relative; }
.lj-form .forminator-response-message:empty, .lj-form .forminator-response-message[aria-hidden="true"] { display: none !important; }
.lj-form .forminator-response-message p { margin: 0 !important; color: inherit !important; }
.lj-form .forminator-response-message.forminator-success { background: #E7F6EC !important; border: 2px solid #2E8B47 !important; color: #1C5E30 !important; }
.lj-form .forminator-response-message.forminator-success::before { content: "✓"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: #2E8B47; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; }
.lj-form .forminator-response-message.forminator-error { background: #FDECEA !important; border: 2px solid var(--lj-red) !important; color: var(--lj-red-text) !important; }
.lj-form .forminator-response-message.forminator-error::before { content: "!"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--lj-red); color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; }

/* ---------- Mapa placówek (Lokalizacje) ---------- */
.lj-map { position: relative; z-index: 0; width: 100%; height: 560px; background: #F3F1EA; border: 1px solid #DCDDD8; border-radius: 12px; overflow: hidden; }
.lj .lj-map img { max-width: none !important; }
/* Pasek gmin: herby mają stałą proporcję, bez „max-width: 100%” (inaczej przy wczytywaniu napisy nachodzą na siebie) */
.lj .lj-marquee img { max-width: none; flex: none; aspect-ratio: 192 / 200; object-fit: contain; }
.lj-map .lj-pin { filter: drop-shadow(0 2px 3px rgba(0,0,0,0.35)); transition: opacity .2s ease; }
.lj-map .leaflet-popup-content { margin: 14px 16px; font-family: var(--lj-sans); font-size: 15px; line-height: 1.45; }
.lj-map .leaflet-popup-content a[style*="background: #D6261E"] { color: #FFFFFF !important; }
.lj-map .leaflet-container a.leaflet-popup-close-button { width: 32px; height: 32px; font-size: 22px; }
@media (max-width: 700px) { .lj-map { height: 420px; } }

/* Lokalizacje: efekty wyboru (gminy wskakują, herb jak pieczątka, karty wjeżdżają po kolei) */
@keyframes lj-gm-in { 0% { opacity: 0; transform: translateY(14px) scale(.85); } 70% { opacity: 1; transform: translateY(-3px) scale(1.03); } 100% { opacity: 1; transform: none; } }
@keyframes lj-stamp { 0% { opacity: 0; transform: scale(1.8) rotate(-18deg); } 60% { opacity: 1; transform: scale(.92) rotate(4deg); } 100% { transform: none; } }
@keyframes lj-card-in { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }
.lj-gm-in { animation: lj-gm-in .5s cubic-bezier(.2, .9, .3, 1.2) var(--lj-d, 0s) backwards; }
.lj-stamp { animation: lj-stamp .65s cubic-bezier(.2, .9, .3, 1.2) .05s both; }
.lj-card-in { animation: lj-card-in .55s cubic-bezier(.16, .84, .3, 1) var(--lj-d, 0s) both; }
.lj .lj-gm-btn { transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.lj .lj-gm-btn:hover { transform: translateY(-2px); border-color: #D6261E !important; box-shadow: 0 6px 14px rgba(214,38,30,0.18); }
.lj .lj-pickbox button[data-type] { transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.lj .lj-pickbox button[data-type]:hover { transform: translateY(-3px); }
.lj .lj-pickbox h2 { color: #121212; }
@media (prefers-reduced-motion: reduce) { .lj-gm-in, .lj-stamp, .lj-card-in { animation: none; } }

/* Lokalizacje: rozwijane godziny zajęć w karcie placówki */
.lj-hours { border-top: 1px solid #E6E4DF; border-bottom: 1px solid #E6E4DF; padding: 8px 0; }
.lj-hours > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; border-radius: 4px; border: 2px solid #D6261E; color: #B71C15; font-weight: 700; font-size: 13px; letter-spacing: 0.06em; background: #FDECEA; }
.lj-hours > summary::-webkit-details-marker { display: none; }
.lj-hours > summary:hover { background: #D6261E; color: #FFFFFF; }
.lj-hours > summary svg { transition: transform .2s ease; }
.lj-hours[open] > summary { background: #D6261E; color: #FFFFFF; }
.lj-hours[open] > summary svg { transform: rotate(180deg); }

/* ---------- Zostań partnerem: kręcący się napis, podwójny puls, pływające naklejki, błysk na przycisku ---------- */
@keyframes lj-p-spin { to { transform: rotate(360deg); } }
@keyframes lj-p-pulse { 0% { transform: scale(.92); opacity: .7; } 100% { transform: scale(1.16); opacity: 0; } }
@keyframes lj-p-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes lj-p-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
.lj-p-spin { animation: lj-p-spin 30s linear infinite; }
.lj-p-pulse { animation: lj-p-pulse 2.6s ease-out infinite; }
.lj-p-pulse--late { animation-delay: 1.3s; }
.lj-p-float { animation: lj-p-float 3.2s ease-in-out infinite; }
.lj-p-float--b { animation-delay: .9s; animation-duration: 3.6s; }
.lj-p-float--c { animation-delay: 1.7s; animation-duration: 4s; }
.lj-shine::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,0.45), transparent); transform: skewX(-20deg); animation: lj-p-shine 3.2s ease-in-out infinite; }
.lj .lj-shine:hover { background: var(--lj-red-text) !important; color: #FFFFFF !important; }
.lj-partner .lj-badge:hover .lj-p-spin { animation-duration: 6s; }
@media (prefers-reduced-motion: reduce) { .lj-p-spin, .lj-p-pulse, .lj-p-float, .lj-shine::after { animation: none; } }

/* ---------- Czat „Weronika z Lion Judo” (prawy dolny róg, styl komunikatora) ---------- */
.lj-help { position: fixed; right: 22px; bottom: 22px; z-index: 9990; display: flex; flex-direction: column; align-items: flex-end; gap: 14px; font-family: var(--lj-sans); }
.lj-help .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lj-av { display: block; border-radius: 50%; overflow: hidden; background: #FDECEA; flex: none; }
.lj-av svg, .lj .lj-av img, .lj-help .lj-av img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.lj-av__dot { position: absolute; right: 1px; bottom: 1px; width: 12px; height: 12px; border-radius: 50%; background: #31A24C; border: 2.5px solid #FFFFFF; }
/* przycisk: awatar + „Porozmawiaj z naszym konsultantem” (czarna pigułka – widoczna na każdym tle) */
.lj-help .lj-help__fab { display: block; padding: 0; border: 0; border-radius: 50%; background: #FFFFFF; cursor: pointer; box-shadow: 0 14px 34px rgba(18,18,18,0.35), 0 0 0 4px #FFFFFF; transition: transform .2s ease; animation: lj-fab-nudge 9s ease-in-out 6s infinite; }
.lj-help .lj-help__fab:hover { transform: scale(1.06); }
.lj-help__fav { position: relative; display: block; width: 112px; height: 112px; border-radius: 50%; box-shadow: 0 0 0 3px var(--lj-red); }
.lj-help__fav::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 3px solid var(--lj-red); animation: lj-help-ring 2.4s ease-out infinite; pointer-events: none; }
@keyframes lj-help-ring { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.4); opacity: 0; } }
.lj-av--fab { width: 100%; height: 100%; }
.lj-av__dot--fab { right: 1px; bottom: 1px; width: 22px; height: 22px; border-width: 3px; border-color: #FFFFFF; }
.lj-help__badge { position: absolute; top: -5px; right: -5px; min-width: 26px; height: 26px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--lj-red); color: #FFFFFF; border: 3px solid var(--lj-black); font-size: 13px; font-weight: 800; line-height: 20px; text-align: center; font-style: normal; animation: lj-badge-pop .5s cubic-bezier(.2, .9, .3, 1.5) both; }
.lj-help__badge[hidden] { display: none; }
@keyframes lj-badge-pop { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes lj-online { 0% { box-shadow: 0 0 0 0 rgba(49,162,76,0.6); } 100% { box-shadow: 0 0 0 7px rgba(49,162,76,0); } }
@keyframes lj-fab-nudge { 0%, 88%, 100% { transform: none; } 91% { transform: rotate(-3deg) scale(1.03); } 94% { transform: rotate(3deg) scale(1.03); } 97% { transform: rotate(-1.5deg); } }
.lj-help.is-ping .lj-help__fab { animation: lj-fab-ping .6s ease-in-out 2; }
@keyframes lj-fab-ping { 0%, 100% { transform: none; } 30% { transform: translateY(-8px); } 60% { transform: translateY(0) scale(1.03); } }
.lj-help.is-open .lj-help__fab { animation: none; }
.lj-help.is-open .lj-help__fav::before { display: none; }

/* chmurka z ikonki: „Masz jakieś pytanie?” – ogonek wskazuje awatar */
.lj-help__bubble { position: relative; align-self: flex-end; margin: 0 2px 6px 0; animation: lj-bubble-in .5s cubic-bezier(.2, .9, .3, 1.35) both, lj-bubble-bob 3.2s ease-in-out 1s infinite; transform-origin: 100% 100%; }
.lj-help__bubble[hidden] { display: none; }
@keyframes lj-bubble-in { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes lj-bubble-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }
.lj-help .lj-help__bubble-text { position: relative; display: block; padding: 14px 22px; border: 3px solid var(--lj-red); border-radius: 22px; background: #FFFFFF; box-shadow: 0 14px 34px rgba(18,18,18,0.25); cursor: pointer; font: inherit; text-align: left; color: var(--lj-black); }
.lj-help .lj-help__bubble-text::after { content: ""; position: absolute; left: var(--lj-tail, 24px); bottom: -13px; width: 20px; height: 20px; background: #FFFFFF; border-right: 3px solid var(--lj-red); border-bottom: 3px solid var(--lj-red); border-bottom-right-radius: 5px; transform: rotate(45deg); }
.lj-help .lj-help__bubble-text:hover { border-color: var(--lj-red-text); }
.lj-help__bubble-q { display: flex; flex-direction: column; gap: 3px; animation: lj-help-fade .3s ease-out both; }
.lj-help__bubble-q strong { font-family: var(--lj-anton); font-weight: 400; font-size: 24px; line-height: 1.05; letter-spacing: 0.01em; }
@keyframes lj-help-fade { from { opacity: 0; } to { opacity: 1; } }
.lj-help__typing { display: none; gap: 6px; padding: 8px 4px; }
.lj-help__typing i { width: 9px; height: 9px; border-radius: 50%; background: #9A9A9A; animation: lj-typing 1s ease-in-out infinite; }
.lj-help__typing i:nth-child(2) { animation-delay: .15s; }
.lj-help__typing i:nth-child(3) { animation-delay: .3s; }
.lj-help__bubble.is-typing .lj-help__typing { display: flex; }
.lj-help__bubble.is-typing .lj-help__bubble-q { display: none; }
.lj-help__bubble.is-typing .lj-help__bubble-text { padding-right: 22px; }
/* okno rozmowy */
.lj-chatwin { width: 380px; height: min(620px, calc(100vh - 150px)); max-width: calc(100vw - 32px); display: flex; flex-direction: column; background: #FFFFFF; border-radius: 18px; overflow: hidden; box-shadow: 0 22px 60px rgba(18,18,18,0.3); animation: lj-help-in .25s ease-out both; transform-origin: bottom right; }
.lj-chatwin[hidden] { display: none; }
@keyframes lj-help-in { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: none; } }
.lj-chatwin__head { flex: none; display: flex; align-items: center; gap: 10px; padding: 10px 8px 10px 14px; border-bottom: 1px solid var(--lj-line); box-shadow: 0 2px 6px rgba(18,18,18,0.06); }
.lj-av--head { position: relative; width: 42px; height: 42px; overflow: visible; }
.lj-av--head svg, .lj-help .lj-av--head img { border-radius: 50%; }
.lj-chatwin__who { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.lj-chat__name { font-size: 16px; color: var(--lj-black); }
.lj-chat__ai { font-size: 12.5px; color: var(--lj-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lj-help .lj-chatwin__icon { flex: none; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--lj-red); display: flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; }
.lj-help .lj-chatwin__icon:hover { background: #FDECEA; color: var(--lj-red-text); }
.lj-chat { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.lj-chat__log { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 3px; padding: 14px 12px 10px; }
.lj-chat__intro { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; padding: 6px 0 16px; }
.lj-chat__intro-av { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; margin-bottom: 6px; }
.lj-chat__intro-av svg, .lj-help .lj-chat__intro-av img { display: block; width: 100%; height: 100%; max-width: none; }
.lj-chat__intro strong { font-size: 16px; color: var(--lj-black); }
.lj-chat__intro span { font-size: 12.5px; color: var(--lj-muted); }
.lj-chat__row { display: flex; align-items: flex-end; gap: 8px; }
.lj-chat__row--user { justify-content: flex-end; }
.lj-chat__row + .lj-chat__row:not(.is-cont) { margin-top: 0; }
.lj-chat__row--assistant + .lj-chat__row--user, .lj-chat__row--user + .lj-chat__row--assistant { margin-top: 10px; }
.lj-chat__mav { flex: none; width: 28px; height: 28px; border-radius: 50%; overflow: hidden; }
.lj-chat__mav svg, .lj-help .lj-chat__mav img { display: block; width: 100%; height: 100%; max-width: none; }
.lj-chat__row.is-cont .lj-chat__mav { visibility: hidden; }
.lj-chat__msg { max-width: 78%; padding: 9px 13px; border-radius: 18px; font-size: 15.5px; line-height: 1.42; word-wrap: break-word; animation: lj-msg-in .22s ease-out both; }
@keyframes lj-msg-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.lj-chat__msg--assistant { background: #F0F0F0; color: var(--lj-black); }
.lj-chat__row--assistant.is-cont .lj-chat__msg { border-bottom-left-radius: 5px; }
.lj-chat__msg--user { background: var(--lj-red); color: #FFFFFF; }
.lj-chat__row--user.is-cont .lj-chat__msg { border-bottom-right-radius: 5px; }
.lj-chat__msg a { color: var(--lj-red-text); font-weight: 700; word-break: break-all; }
/* przyciski pod ostatnią wiadomością: zapis dziecka i prośba o telefon */
.lj-chat__acts { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 2px 36px; animation: lj-msg-in .25s ease-out .1s both; }
.lj-help .lj-chat__act { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 2px solid var(--lj-red); background: #FFFFFF; color: var(--lj-red-text); font: inherit; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; }
.lj-help .lj-chat__act:hover { background: #FDECEA; color: var(--lj-red-text); }
.lj-help .lj-chat__act--main, .lj-help .lj-chat__act--main:hover { background: var(--lj-red); color: #FFFFFF; }
.lj-help .lj-chat__act--main:hover { background: var(--lj-red-text); }
.lj-chat__msg.is-typing { display: flex; gap: 4px; padding: 13px 15px; }
.lj-chat__msg.is-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9A9A9A; animation: lj-typing 1s ease-in-out infinite; }
.lj-chat__msg.is-typing span:nth-child(2) { animation-delay: .15s; }
.lj-chat__msg.is-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes lj-typing { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
.lj-chat__form { flex: none; display: flex; align-items: center; gap: 6px; padding: 10px 10px 6px 12px; border-top: 1px solid var(--lj-line); }
.lj-chat__form[hidden] { display: none; }
.lj-chat__form input { flex: 1 1 auto; min-width: 0; font: inherit; font-size: 16px; padding: 11px 16px; border: 0; border-radius: 999px; color: var(--lj-black); background: #F0F0F0; }
.lj-chat__form input:focus { outline: 2px solid var(--lj-red); outline-offset: 0; background: #FFFFFF; }
.lj-help .lj-chat__form button { flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--lj-red); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.lj-help .lj-chat__form button:hover:not(:disabled) { background: #FDECEA; }
.lj-help .lj-chat__form button:disabled { color: #C4C4C4; cursor: default; }
.lj-chat__foot { flex: none; display: flex; flex-direction: column; gap: 3px; padding: 0 14px 10px; }
.lj-help .lj-chat__handoff { align-self: flex-start; font: inherit; font-weight: 700; font-size: 13px; padding: 4px 0; border: 0; background: none; color: var(--lj-red-text); cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.lj-help .lj-chat__handoff:hover { color: var(--lj-black); }
.lj-help .lj-chat__handoff[hidden] { display: none; }
.lj-chat__note { font-size: 11px; line-height: 1.35; color: var(--lj-muted); }
.lj-help .lj-chat__note a { color: var(--lj-muted); text-decoration: underline; }
.lj-chat__hform { flex: none; display: flex; flex-direction: column; gap: 8px; margin: 0 10px 8px; padding: 12px; border-radius: 12px; background: #F6F6F4; border-top: 3px solid var(--lj-red); }
.lj-chat__hform[hidden] { display: none; }
.lj-chat__hform-title { font-size: 14px; color: var(--lj-black); }
.lj-chat__hform input[type="text"], .lj-chat__hform input[type="tel"] { font: inherit; font-size: 16px; padding: 10px 12px; border: 2px solid #D0D0CB; border-radius: 8px; background: #FFFFFF; color: var(--lj-black); }
.lj-chat__consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.4; color: var(--lj-text); }
.lj-chat__consent input { margin-top: 2px; accent-color: var(--lj-red); flex: none; }
.lj-help .lj-chat__consent a { color: var(--lj-red-text); }
.lj-chat__hform-row { display: flex; gap: 6px; }
.lj-help .lj-chat__hsend { flex: 1 1 auto; font: inherit; font-weight: 700; font-size: 14px; min-height: 42px; border: 0; border-radius: 999px; background: var(--lj-red); color: #FFFFFF; cursor: pointer; }
.lj-help .lj-chat__hsend:disabled { opacity: .5; }
.lj-help .lj-chat__hcancel { font: inherit; font-size: 14px; min-height: 42px; padding: 0 14px; border: 2px solid #D0D0CB; border-radius: 999px; background: #FFFFFF; cursor: pointer; }
/* telefon: rozmowa na cały ekran, jak w komunikatorze */
@media (max-width: 600px) {
	.lj-help { right: 14px; bottom: 14px; }
	.lj-help__fav { width: 64px; height: 64px; }
	.lj-av__dot--fab { width: 16px; height: 16px; }
	.lj-help__bubble-q strong { font-size: 17px; }
	.lj-help .lj-help__bubble-text { padding: 10px 16px; }
	.lj-help__bubble-q strong { font-size: 21px; }
	.lj-chatwin { position: fixed; inset: 0; width: auto; height: 100%; max-width: none; border-radius: 0; }
	.lj-help.is-open .lj-help__fab { display: none; }
	body:has(.lj-help.is-open) .cky-btn-revisit-wrapper { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.lj-help .lj-help__fab, .lj-help__fav::before, .lj-help__bubble, .lj-chatwin, .lj-chat__msg, .lj-help__typing i, .lj-chat__msg.is-typing span { animation: none; }
}

/* ---------- „Zostań partnerem LION JUDO”: czarny pasek nad stopką (z ikoną rąk i szybkim telefonem) + cienki pasek nad nagłówkiem ---------- */
.lj-partner-bar { background: var(--lj-black); color: #FFFFFF; border-top: 4px solid var(--lj-red); }
.lj-partner-bar__in { max-width: 1240px; margin: 0 auto; padding: 28px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.lj-partner-bar__ico { position: relative; flex: none; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #FFFFFF; }
.lj-partner-bar__ico::before, .lj-partner-bar__ico::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #D8B85A; pointer-events: none; animation: lj-echo 2.8s ease-out infinite; }
.lj-partner-bar__ico::before { animation-delay: 1.4s; }
@keyframes lj-echo { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .lj-partner-bar__ico::before, .lj-partner-bar__ico::after { animation: none; } }
.lj .lj-partner-bar__ico img { display: block; width: 52px; height: auto; }
.lj-partner-bar__txt { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.lj-partner-bar__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; color: #FF6A60; }
.lj-partner-bar__title { font-family: var(--lj-anton); font-size: clamp(28px, 3.4vw, 42px); line-height: 1; }
.lj-partner-bar__title { color: #C9A13B; background: linear-gradient(180deg, #F2D98A 0%, #D4AF37 28%, #9C7419 52%, #C99A2E 70%, #EBCB76 86%, #A07A1F 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 1px 0 rgba(0,0,0,0.55)) drop-shadow(0 0 10px rgba(201,161,59,0.28)); }
.lj-partner-bar__title span { color: inherit; }
.lj-partner-bar__sub { font-size: 15px; color: #CFCFCF; }
.lj-partner-bar__cta { flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.lj .lj-partner-bar__btn { position: relative; overflow: hidden; display: block; background: var(--lj-red); color: #FFFFFF; text-decoration: none; font-weight: 700; letter-spacing: 0.06em; padding: 16px 24px; border-radius: 4px; }
.lj .lj-partner-bar__btn:hover { background: var(--lj-red-text); color: #FFFFFF; }
/* „Zostań partnerem →” – biały przycisk z czarnym napisem */
.lj .lj-partner-bar__btn.lj-shine, .lj .lj-partner-bar__btn.lj-shine:hover { background: #FFFFFF !important; color: var(--lj-black) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.35); }
.lj .lj-partner-bar__btn.lj-shine:hover { background: #F2F2F2 !important; }
.lj-partner-bar__btn-txt { position: relative; }
.lj-partner-bar__call { font-size: 13px; color: #CFCFCF; }
.lj .lj-partner-bar__call a { color: #FFFFFF; font-weight: 700; text-decoration: none; border-bottom: 1px solid #FF6A60; }
.lj .lj-partner-bar__call a:hover { color: #FF6A60; }
@media (max-width: 700px) {
	.lj-partner-bar__in { padding: 22px 16px; }
	.lj-partner-bar__ico { width: 60px; height: 60px; }
	.lj .lj-partner-bar__ico img { width: 40px; }
	.lj-partner-bar__txt { flex-basis: calc(100% - 84px); }
	.lj-partner-bar__cta { width: 100%; }
	.lj .lj-partner-bar__btn { box-sizing: border-box; text-align: center; font-size: 14px; padding: 12px 22px; }
}
.lj .lj-topbar { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 9px 16px; background: var(--lj-black); color: #FFFFFF; text-decoration: none; font-size: 14px; line-height: 1.3; }
.lj .lj-topbar:hover { background: #000000; color: #FFFFFF; }
.lj-gold-text { color: #E3C46A; background: linear-gradient(100deg, #C79A35 0%, #E3C46A 35%, #FFF3CC 50%, #E3C46A 65%, #C79A35 100%); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: lj-shimmer 7s linear infinite; }
.lj-topbar__tag { flex: none; padding: 3px 8px; border-radius: 3px; background: var(--lj-red); font-size: 11px; font-weight: 800; letter-spacing: 0.12em; }
.lj-topbar__more { color: #CFCFCF; }
.lj-topbar__go { color: #FF6A60; font-weight: 800; transition: transform .2s ease; }
.lj .lj-topbar:hover .lj-topbar__go { transform: translateX(4px); }
@media (max-width: 760px) { .lj-topbar__more { display: none; } .lj .lj-topbar { font-size: 13px; } }


/* ---------- Mieniący się czerwony napis (np. „LION JUDO” na stronie głównej) ---------- */
.lj-shimmer-red { color: var(--lj-red); background: linear-gradient(100deg, #D6261E 0%, #D6261E 38%, #FF8A80 50%, #D6261E 62%, #D6261E 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: lj-shimmer 4s linear infinite; }
/* Strona „Współpraca”: wersja prestiżowa – czerń i złoto */
.lj-shimmer-gold { color: #D8B85A; background: linear-gradient(100deg, #A87A22 0%, #D8B85A 30%, #FFF1C2 50%, #D8B85A 70%, #A87A22 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: lj-shimmer 4.5s linear infinite; }
.lj .lj-partner--gold a:hover { color: #F1D98A; }
.lj .lj-gold-btn.lj-shine:hover { background: linear-gradient(100deg, #B8862B 0%, #F4DC8E 50%, #B8862B 100%) !important; color: #0E0E0E !important; }
.lj .lj-gold-outline:hover { background: rgba(201,162,39,0.12) !important; color: #FFF1C2 !important; }
@media (prefers-reduced-motion: reduce) { .lj-shimmer-gold { animation: none; } }
@keyframes lj-shimmer { from { background-position: 100% 0; } to { background-position: 0% 0; } }
@media (prefers-reduced-motion: reduce) { .lj-shimmer-red, .lj-gold-text { animation: none; } }


/* ---------- Ramka mapy, film na „ekranie”, telefon: strona główna ---------- */
.lj-pagehero__in { position: relative; z-index: 1; }

/* Obozy letnie: karta w karcie – biała karta sekcji, a w niej karta z filmem z obozu */
.lj #zimowe > div > div:first-child { background: #FFFFFF; border: 2px solid var(--lj-black); border-radius: 20px; padding: 32px; box-shadow: 8px 8px 0 var(--lj-red); }
.lj #letnie > div > div:first-child { background: #FFFFFF; border: 2px solid var(--lj-black); border-radius: 20px; padding: 32px; box-shadow: 8px 8px 0 #2E8B47; }
.lj-screen { display: flex; flex-direction: column; }
.lj-screen__card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 12px 12px 16px; background: var(--lj-soft); border: 1px solid var(--lj-line); border-radius: 16px; box-shadow: 0 14px 34px rgba(18,18,18,0.14); }
.lj .lj-screen video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; background: #000000; object-fit: cover; }
.lj-screen__live { position: absolute; z-index: 2; top: -18px; left: 20px; display: inline-flex; align-items: center; gap: 9px; background: #2E8B47; color: #FFFFFF; font-family: var(--lj-anton); font-size: 22px; letter-spacing: 0.03em; line-height: 1; padding: 9px 14px; border-radius: 6px; transform: rotate(-2deg); box-shadow: 0 6px 14px rgba(18,18,18,0.25); }
.lj-screen__live--blue { background: #1F5FB0; }
.lj-rec { flex: none; width: 12px; height: 12px; border-radius: 50%; background: #FF2A1F; box-shadow: 0 0 0 2px #FFFFFF; }
.lj .lj-screen--tall video { aspect-ratio: 9 / 16; }
.lj-screen__cap { display: flex; flex-direction: column; gap: 2px; padding: 0 6px; }
.lj-screen__cap strong { font-size: 17px; color: var(--lj-black); }
.lj-screen__cap span { font-size: 14px; color: var(--lj-muted); }
@media (max-width: 700px) { .lj #zimowe > div > div:first-child { padding: 22px 16px; box-shadow: 5px 5px 0 var(--lj-red); } .lj #letnie > div > div:first-child { padding: 22px 16px; box-shadow: 5px 5px 0 #2E8B47; } .lj-screen__live { font-size: 17px; left: 14px; } }

/* ramka mapy: biała karta z grubym obrysem, czerwonym cieniem, naklejką i paskiem judo */
.lj-mapframe { position: relative; padding: 10px; background: #FFFFFF; border: 3px solid var(--lj-black); border-radius: 20px; box-shadow: 0 0 0 6px var(--lj-red), 0 14px 30px rgba(18,18,18,0.18); }
.lj-mapframe .lj-map { border: 0; border-radius: 12px; }
.lj-mapframe { margin-top: 40px; }
.lj-mapframe__hint { position: absolute; z-index: 2; bottom: calc(100% + 8px); right: 14px; max-width: calc(100% - 620px); text-align: right; font-size: 15px; line-height: 1.35; color: var(--lj-muted); }
@media (max-width: 1100px) { .lj-mapframe { display: flex; flex-direction: column; } .lj-mapframe__hint { order: 2; position: static; display: block; max-width: none; margin: 8px 0 2px; text-align: center; font-size: 14px; } }
.lj-mapframe .leaflet-top.leaflet-left { top: 34px; }
.lj-mapframe__badge { position: absolute; z-index: 2; top: -30px; left: 22px; background: var(--lj-red); color: #FFFFFF; font-family: var(--lj-anton); font-size: 38px; letter-spacing: 0.03em; line-height: 1; padding: 13px 22px; border-radius: 8px; transform: rotate(-3deg); box-shadow: 0 8px 18px rgba(18,18,18,0.25); }
@media (max-width: 700px) { .lj-mapframe { padding: 6px; border-width: 2px; box-shadow: 0 0 0 4px var(--lj-red), 0 10px 22px rgba(18,18,18,0.16); } .lj-mapframe { margin-top: 32px; } .lj-mapframe__hint { position: static; display: block; margin-top: 8px; text-align: center; font-size: 13px; } .lj-mapframe__badge { font-size: 24px; left: 10px; top: -22px; padding: 10px 14px; } }

/* strona główna na telefonie: napis po lewej, logo po prawej (jak na komputerze), mniejszy znak */
@media (max-width: 700px) {
	.lj-home-hero > div { display: grid !important; grid-template-columns: minmax(0, 1fr) 44%; gap: 14px 8px !important; align-items: center; align-content: start; box-sizing: border-box; min-height: 0; padding: 22px 24px 28px !important; } /* bez rozciągania na cały ekran – mniej pustych pól */
	.lj-home-hero > div > div:first-child { display: contents !important; }
	.lj-home-hero > div > div:first-child > * { grid-column: 1 / -1; }
	.lj-home-hero > div > div:first-child > h1 { grid-column: 1; grid-row: 1; font-size: clamp(40px, min(13.6vw, 7.8svh), 66px) !important; }
	.lj-home-hero > div > div:last-child { grid-column: 2; grid-row: 1; min-width: 0; }
	.lj-home-hero .lj-badge { max-width: min(205px, 26svh) !important; }
	.lj-home-hero > div > div:first-child > p:first-of-type { font-size: clamp(17px, 2.85svh, 25px) !important; line-height: 1.28 !important; }
	.lj-home-hero > div > div:first-child > p:nth-of-type(2) { font-size: clamp(15px, 2.4svh, 21px) !important; line-height: 1.38 !important; }
	.lj-home-hero > div > div:first-child > div:nth-of-type(1) a { font-size: clamp(13px, 2svh, 17px) !important; padding: clamp(11px, 1.95svh, 18px) 16px !important; }
	.lj-home-hero > div > div:first-child > div:nth-of-type(2) a { width: 44px !important; height: 44px !important; }
	.lj-home-hero .lj-badge > span[style*="Anton"] { font-size: 11px !important; padding: 5px 7px !important; border-width: 2px !important; }
}


/* ---------- Menu zostaje na górze przy przewijaniu ---------- */
.lj-header { position: sticky; top: 0; }
.admin-bar .lj-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lj-header { top: 0; } }

/* ---------- „Zapisz dziecko”: dłoń, która klika (zachęta) ---------- */
.lj .lj-hdr-cta { position: relative; transition: transform .12s ease, box-shadow .12s ease; animation: lj-key 14s ease-in-out 3s infinite; }
.lj .lj-hdr-cta:active { transform: scale(.9); box-shadow: inset 0 4px 10px rgba(0,0,0,0.35); }
@keyframes lj-key { 0%, 93%, 99%, 100% { transform: none; box-shadow: none; } 95.5%, 97% { transform: scale(.88); box-shadow: inset 0 4px 12px rgba(0,0,0,0.4); } }
@keyframes lj-press { 0%, 13.5%, 17%, 100% { transform: none; } 15% { transform: scale(.95); } }

/* ---------- Pod filmem z obozu zimowego: strzałka + zachęta ---------- */
.lj-watch { display: flex; align-items: center; gap: 4px; margin-top: -2px; }
.lj-watch__arrow { flex: none; animation: lj-watch-bob 1.6s ease-in-out infinite; }
.lj-watch__txt { font-family: var(--lj-anton); font-size: 22px; line-height: 1.05; color: var(--lj-red); transform: rotate(-3deg); }
@keyframes lj-watch-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }

/* ---------- Obozy letnie: okienko z informacjami (otwiera się z kafelka) ---------- */
.lj .lj-modal-open { position: fixed; inset: 0; z-index: 9995; display: flex !important; flex-direction: column; overflow-y: auto; background: rgba(18,18,18,0.4); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); padding: 32px 16px; box-sizing: border-box; animation: lj-fade-in .2s ease-out both; }
.lj .lj-modal-open > div { width: 100%; max-width: 1100px; padding: 0 !important; margin: auto !important; }
.lj .lj-modal-open > div > div:first-child { position: relative; animation: lj-modal-in .35s cubic-bezier(.2, .9, .3, 1.2) both; }
.lj-modal__x { position: absolute; z-index: 3; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--lj-soft); color: var(--lj-black); font-size: 26px; line-height: 1; cursor: pointer; }
.lj-modal__x:hover { background: var(--lj-line); }
.lj section:not(.lj-modal-open) > div > div > .lj-modal__x { display: none; }
@keyframes lj-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes lj-modal-in { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) { .lj .lj-modal-open { padding: 14px 8px; } }


@media (prefers-reduced-motion: reduce) { .lj .lj-hdr-cta, .lj-watch__arrow { animation: none; } }

/* „Aktualny obóz · zapisy trwają” zawsze w jednej linijce */
.lj .lj-cur span[style*="letter-spacing: 0.16em"], .lj #zimowe span[style*="letter-spacing: 0.14em"] { white-space: nowrap; }
@media (max-width: 600px) {
	.lj .lj-cur span[style*="letter-spacing: 0.16em"] { font-size: 11px !important; letter-spacing: 0.08em !important; gap: 8px !important; }
	.lj #zimowe span[style*="letter-spacing: 0.14em"] { font-size: 10.5px !important; letter-spacing: 0.06em !important; }
	/* „Masz pytanie…?” mniejsze (proporcjonalnie do strony), „Napisz do nas” na środku */
	.lj-cta__in { padding: 44px 20px; gap: 18px; }
	.lj .lj-cta__in h2 { font-size: 30px !important; flex: 1 1 100% !important; text-align: center; }
	.lj .lj-cta__in .lj-btn { margin: 0 auto; font-size: 13px !important; padding: 11px 20px !important; }
	/* baner „Aktualny obóz”: mniejszy, przycisk „Zapisz się” w osobnym wierszu pod tekstem (nic na siebie nie nachodzi) */
	.lj .lj-cur { flex-wrap: wrap !important; gap: 8px 12px !important; padding: 10px 12px 12px !important; }
	.lj .lj-cur > span:nth-of-type(1) { flex: 1 1 0 !important; }
	.lj .lj-cur strong { font-size: 15px !important; }
	.lj .lj-cur span[style*="letter-spacing: 0.16em"] { font-size: 10px !important; letter-spacing: 0.04em !important; gap: 6px !important; }
	.lj .lj-cur-b { flex: 1 1 100% !important; text-align: center; padding: 9px 12px !important; font-size: 13px !important; }
	.lj .lj-tile span[style*="letter-spacing: 0.12em"] { white-space: nowrap; font-size: 11px !important; letter-spacing: 0.06em !important; padding: 5px 8px !important; }
}

/* Strona główna: małe „Aktualności” (3 najnowsze wpisy) */
.lj-news-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.lj .lj-news-mini__card { display: flex; flex-direction: column; color: var(--lj-black); text-decoration: none; background: #FFFFFF; border: 1px solid var(--lj-line); border-radius: 12px; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.lj .lj-news-mini__card:hover { color: var(--lj-black); transform: translateY(-3px); box-shadow: 0 12px 26px rgba(18,18,18,0.1); }
.lj .lj-news-mini__card img { display: block; width: 100%; height: 170px; object-fit: cover; background: #EEEDE9; }
.lj-news-mini__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.lj-news-mini__date { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: var(--lj-muted); }
.lj-news-mini__title { font-weight: 700; font-size: 17px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lj-news-mini__more { font-weight: 700; font-size: 14px; color: var(--lj-red-text); }
@media (max-width: 700px) {
	.lj-news-mini { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 0 -20px; padding: 2px 20px 10px; scrollbar-width: none; }
	.lj-news-mini::-webkit-scrollbar { display: none; }
	.lj .lj-news-mini__card { flex: 0 0 74%; scroll-snap-align: start; }
	.lj .lj-news-mini__card img { height: 130px; }
	.lj-news-mini__body { padding: 10px 12px 12px; }
	.lj-news-mini__title { font-size: 15px; }
}

/* Strona główna na telefonie: mniejsze karty „Więcej niż klub”, kafelki obozy/półkolonie/zawody w poziomie */
@media (max-width: 700px) {
	.lj-home-more > div { padding: 52px 20px !important; gap: 22px !important; }
	.lj-home-more h2 { font-size: 40px !important; }
	.lj-home-more p { font-size: 16px !important; }
	.lj-home-more > div > div:last-child { gap: 10px !important; }
	.lj-home-more > div > div:last-child > div { display: grid !important; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 3px; align-items: start; padding: 16px !important; border-top-width: 4px !important; }
	.lj-home-more > div > div:last-child > div > span:first-child { grid-row: 1 / span 3; width: 48px !important; height: 48px !important; font-size: 20px !important; }
	.lj-home-more > div > div:last-child > div > span:first-child svg { width: 24px; height: 24px; }
	.lj-home-more > div > div:last-child > div > :not(:first-child) { grid-column: 2; }
	.lj-home-more strong { font-size: 21px !important; }
	.lj-home-more > div > div:last-child > div > span:not(:first-child) { font-size: 14.5px !important; line-height: 1.45; }
	.lj-home-tiles > div { padding: 52px 20px !important; gap: 18px !important; }
	/* kafelki jak „wybór bohatera”: środkowa karta duża i podświetlona, sąsiednie mniejsze i przygaszone, strzałki ← → */
	.lj-home-tiles .lj-tiles-row { position: relative; display: flex !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 0 -20px; padding: 6px 20px 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.lj-home-tiles .lj-tiles-row::-webkit-scrollbar { display: none; }
	.lj-home-tiles .lj-tiles-row > * { flex: 0 0 78%; min-height: 240px !important; padding: 18px !important; scroll-snap-align: start; box-sizing: border-box; transition: box-shadow .3s ease; }
	.lj-home-tiles .lj-tiles-row > .is-active { box-shadow: 0 0 0 3px var(--lj-red), 0 12px 26px rgba(18,18,18,0.22); }
	.lj-home-tiles span[style*="font-size: 44px"] { font-size: 30px !important; }
	.lj-home-tiles span[style*="max-width: 32ch"] { font-size: 14px !important; }
	/* „Więcej z Lion Judo” i aktualności – ciaśniej, jak jeden blok */
	.lj-home-more > div { padding-bottom: 36px !important; }
	.lj-home-tiles > div { padding: 30px 20px 26px !important; gap: 10px !important; }
	.lj-home-tiles > div > div:first-child { gap: 4px !important; }
	.lj-home-tiles .lj-h2 { font-size: 30px !important; }
	.lj-home-tiles .lj-swipe { margin: -4px 0 -6px; }
	.lj-home-news { background: var(--lj-soft) !important; }
	.lj-home-news > div { padding: 6px 20px 40px !important; gap: 10px !important; }
	.lj-home-news > div > div:first-child { gap: 4px !important; align-items: flex-end !important; }
	.lj-home-news > div > div:first-child > div { gap: 4px !important; }
	.lj-home-news .lj-h2 { font-size: 30px !important; }
	.lj-home-news > div > div:first-child > a { font-size: 14px; padding: 4px 0 !important; }
	.lj-home-news .lj-swipe { margin: -4px 0 -6px; }
}

/* karuzela kafelków i aktualności (komputer i telefon): strzałki i kropki (dodawane skryptem) */
.lj-car { position: relative; }
.lj-car__btn { display: flex; position: absolute; z-index: 3; top: 50%; width: 46px; height: 46px; margin-top: -23px; border: 0; border-radius: 50%; background: #FFFFFF; color: var(--lj-black); box-shadow: 0 6px 16px rgba(18,18,18,0.25); align-items: center; justify-content: center; cursor: pointer; font-size: 20px; font-weight: 800; line-height: 1; transition: background .2s ease, color .2s ease; }
.lj-car__btn:hover { background: var(--lj-red); color: #FFFFFF; }
.lj-car__btn--prev { left: -22px; }
.lj-car__btn--next { right: -22px; }
.lj-car__btn:disabled { opacity: 0; pointer-events: none; }
.lj-car.is-static .lj-car__btn, .lj-car__nav[hidden] { display: none; }
.lj-car__nav { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 2px; }
.lj-car__dots { display: flex; justify-content: center; gap: 7px; }
.lj-car__dots i { width: 8px; height: 8px; border-radius: 50%; background: #CFCBC2; cursor: pointer; transition: width .25s ease, background .25s ease; }
.lj-car__dots i.is-on { width: 22px; border-radius: 4px; background: var(--lj-red); }
/* kafelki na komputerze – „wybór bohatera”: karta pod myszką lekko się poszerza, bez strzałek i kropek */
.lj-car .lj-car__btn, .lj-car__nav--pick { display: none; }
.lj-car:not(.lj-car--pick):not(.is-static) .lj-car__btn { display: flex; }
@media (min-width: 701px) {
	.lj-car--pick .lj-tiles-row { display: flex !important; gap: 16px !important; }
	/* kafelki na komputerze: wjeżdżają po kolei od dołu, po najechaniu unoszą się, zdjęcie się przybliża, a u dołu przesuwa się czerwony pasek */
	.lj-car--pick .lj-tiles-row > * { flex: 1 1 0 !important; min-width: 0; box-sizing: border-box; transition: transform .35s ease, box-shadow .35s ease; }
	.lj-car--pick .lj-tiles-row > .lj-tile::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 5px; background: var(--lj-red); transform: scaleX(0); transform-origin: left; transition: transform .45s ease; }
	.lj-car--pick .lj-tiles-row > .lj-tile:hover, .lj-car--pick .lj-tiles-row > .lj-tile:focus-visible { transform: translateY(-8px); box-shadow: 0 20px 36px rgba(18,18,18,0.26); }
	.lj-car--pick .lj-tiles-row > .lj-tile:hover::after, .lj-car--pick .lj-tiles-row > .lj-tile:focus-visible::after { transform: scaleX(1); }
	.lj-car--pick .lj-tiles-row > .lj-tile img { transition: transform .6s ease; }
	.lj-car--pick .lj-tiles-row > .lj-tile:hover img { transform: scale(1.08); }
	.lj-car--intro .lj-tiles-row > * { opacity: 0; transform: translateY(36px); }
	.lj-car--intro.is-in .lj-tiles-row > * { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
	.lj-car--intro.is-in .lj-tiles-row > :nth-child(2) { transition-delay: .12s; }
	.lj-car--intro.is-in .lj-tiles-row > :nth-child(3) { transition-delay: .24s; }
	.lj-car--intro.is-in .lj-tiles-row > :nth-child(4) { transition-delay: .36s; }
	.lj-car--intro.is-done .lj-tiles-row > * { transition-delay: 0s; }
	.lj-car--intro.is-done .lj-tiles-row > .lj-tile:hover { transform: translateY(-8px); }
	/* aktualności: rząd przewijany w bok, widać 3 karty i kawałek następnej */
	.lj-news-mini { position: relative; display: flex !important; gap: 16px !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 14px; scrollbar-width: none; }
	.lj-news-mini::-webkit-scrollbar { display: none; }
	.lj .lj-news-mini > * { flex: 0 0 calc((100% - 8px - 48px) / 3.25); scroll-snap-align: start; box-sizing: border-box; transition: box-shadow .3s ease, transform .2s ease; }
	.lj .lj-news-mini > .is-active { box-shadow: 0 0 0 3px var(--lj-red), 0 12px 26px rgba(18,18,18,0.22); }
}
@media (min-width: 701px) and (prefers-reduced-motion: reduce) { .lj-car--pick .lj-tiles-row > *, .lj-car--pick .lj-tiles-row > .lj-tile::after, .lj-car--pick .lj-tiles-row > .lj-tile img { transition: none; } }
@media (max-width: 700px) {
	.lj-car__btn { width: 42px; height: 42px; margin-top: -21px; }
	.lj-car__btn--prev { left: -8px; }
	.lj-car__btn--next { right: -8px; }
	.lj-news-mini { position: relative; }
	.lj .lj-news-mini > .is-active { box-shadow: 0 0 0 3px var(--lj-red), 0 12px 26px rgba(18,18,18,0.22); }
}

/* podpowiedź „Przesuń w bok →” nad rzędami przewijanymi w bok (tylko telefon, dodawana skryptem) */
.lj-swipe { display: none; }
@media (max-width: 700px) {
	.lj-swipe { display: inline-flex; align-self: flex-end; align-items: center; gap: 6px; margin: -6px 0 -8px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; color: var(--lj-red-text); transition: opacity .3s ease; }
	.lj-swipe i { font-style: normal; font-size: 18px; line-height: 1; animation: lj-swipe-arrow 1.2s ease-in-out infinite; }
	.lj-swipe.is-done { opacity: 0; }
}
@keyframes lj-swipe-arrow { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
@media (prefers-reduced-motion: reduce) { .lj-swipe i { animation: none; } }

/* przyciski z pinezką (lokalizacje) */
.lj a:has(> .lj-pin-ic) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.lj-pin-ic { flex: none; display: block; }
@media (max-width: 700px) {
	/* „Sprawdź, czy jesteśmy blisko Ciebie” w jednej linii */
	.lj-home-hero > div > div:first-child > div:nth-of-type(1) a:has(> .lj-pin-ic) { white-space: nowrap; font-size: 12.5px !important; letter-spacing: 0.02em !important; padding: 14px 12px !important; gap: 6px; }
	.lj-home-hero a:has(> .lj-pin-ic) .lj-pin-ic { width: 16px; height: 16px; }
}

/* Pytania FAQ na telefonie – mniejsze (strona główna i podstrony) */
@media (max-width: 700px) {
	.lj .lj-faq > summary { font-size: 16px !important; padding: 15px 0 !important; gap: 12px !important; }
	.lj .lj-faq .lj-plus { width: 28px !important; height: 28px !important; }
	.lj .lj-faq .lj-plus svg { width: 12px; height: 12px; }
	.lj .lj-faq > p { font-size: 15px !important; padding: 0 0 16px !important; line-height: 1.55 !important; }
	.lj section:has(> div > div > .lj-faq) > div { padding-top: 44px !important; padding-bottom: 44px !important; gap: 12px !important; }
	.lj section:has(> div > div > .lj-faq) .lj-h2 { font-size: 30px !important; }
}

/* Współpraca na telefonie: jak strona główna – napis po lewej, złoty lew po prawej */
@media (max-width: 700px) {
	.lj-partner--gold > div { display: grid !important; grid-template-columns: minmax(0, 1fr) 42%; gap: 14px 10px !important; align-items: center; padding: 26px 20px 40px !important; }
	.lj-partner--gold > div > div:first-child { display: contents !important; }
	.lj-partner--gold > div > div:first-child > * { grid-column: 1 / -1; }
	.lj-partner--gold > div > div:first-child > :nth-child(1) { grid-row: 1; }
	.lj-partner--gold > div > div:first-child > :nth-child(2) { grid-row: 2; font-size: 11px !important; letter-spacing: 0.14em !important; }
	.lj-partner--gold > div > div:first-child > h1 { grid-column: 1; grid-row: 3; font-size: clamp(30px, 10.2vw, 44px) !important; }
	.lj-partner--gold > div > div:last-child { grid-column: 2; grid-row: 3; min-width: 0; }
	.lj-partner--gold .lj-badge { max-width: 175px !important; }
	.lj-partner--gold .lj-badge > span[style*="Anton"] { font-size: 10px !important; padding: 5px 7px !important; border-width: 1px !important; }
	.lj-partner--gold > div > div:first-child > p { font-size: 17px !important; }
	.lj-partner--gold > div > div:first-child > div a { font-size: 14px !important; padding: 14px 16px !important; }
}

/* ---------- Kadra: pasek trenerów wyśrodkowany (na telefonie dalej przewijany w bok) ---------- */
.lj-kstrip > button:first-child { margin-left: auto; }
.lj-kstrip > button:last-child { margin-right: auto; }

/* ---------- Pola dotyku ≥ 44 px na telefonie (bez zmiany wyglądu) ---------- */
@media (max-width: 700px) {
	#lj-main a[style*="align-self: flex-start; font-weight: 700"] { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; }
	#lj-main details:not(.lj-faq):not(.lj-hours) > summary { padding: 8px 0; margin: -8px 0; }
	.lj .lj-pickbox .lj-gm-herb { height: 24px !important; }
	.lj-gm-head img { height: 56px !important; }
	.lj .lj-pickbox button[aria-pressed] { min-height: 44px !important; }
	.lj .lj-gminy-lbl { min-height: 44px; box-sizing: border-box; }
	.lj .lj-footer__bar a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
}

/* Praktyka na telefonie: okno z wymaganiami na kyu mniejsze i ciaśniejsze */
@media (max-width: 700px) {
	.lj #wymagania > div:first-child { height: 12px !important; }
	.lj #wymagania > div[style*="padding: 32px"] { padding: 18px 16px !important; gap: 16px !important; }
	.lj #wymagania > div > div:first-child { gap: 4px !important; }
	.lj #wymagania span[style*="font-size: 64px"] { font-size: 42px !important; }
	.lj #wymagania span[style*="font-size: 22px"] { font-size: 17px !important; }
	.lj #wymagania p { font-size: 14px !important; line-height: 1.45; }
	.lj #wymagania div[style*="grid-template-columns"] { gap: 10px !important; }
	.lj #wymagania div[style*="padding: 20px"] { padding: 12px 14px !important; gap: 4px !important; }
	.lj #wymagania .lj-tech { font-size: 15px !important; min-height: 36px !important; padding: 3px 0 !important; }
	.lj #wymagania .lj-play { font-size: 12px !important; gap: 5px !important; }
	.lj #wymagania .lj-play > span { width: 24px !important; height: 24px !important; }
}
/* Praktyka na telefonie: większe pasy i mniej miejsca nad nimi */
@media (max-width: 700px) {
	.lj div:has(> .lj-belts) { padding-top: 14px !important; gap: 18px !important; }
	.lj .lj-belts { gap: 5px !important; }
	.lj .lj-belts .lj-beltbtn { padding: 6px 2px 7px !important; }
	.lj .lj-belts .lj-beltbtn img { width: 112% !important; max-width: none !important; margin: -6px -6% -2px; }
	.lj .lj-belts .lj-beltbtn span:nth-of-type(1) { font-size: 15px !important; }
	.lj .lj-belts .lj-beltbtn span:nth-of-type(2) { font-size: 11px !important; }
}
/* Artykuł „Dwie nowe szkoły”: pinezki podskakują, kropka „zapisy trwają” pulsuje, karty unoszą się po najechaniu */
.lj-ns-dot { width: 10px; height: 10px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 0 0 0 rgba(255,255,255,0.7); animation: lj-ns-ping 1.8s ease-out infinite; }
@keyframes lj-ns-ping { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.7); } 100% { box-shadow: 0 0 0 10px rgba(255,255,255,0); } }
.lj-ns-pin { flex: none; transform-origin: 50% 100%; animation: lj-ns-drop 2.6s cubic-bezier(.3,.7,.4,1) infinite; filter: drop-shadow(0 4px 4px rgba(18,18,18,0.25)); }
.lj-ns-pin--late { animation-delay: .5s; }
@keyframes lj-ns-drop { 0%, 60%, 100% { transform: none; } 70% { transform: translateY(-10px) scale(1.05); } 80% { transform: translateY(0) scaleY(.9); } 88% { transform: translateY(-3px); } }
.lj .lj-ns-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lj .lj-ns-card:hover { transform: translateY(-6px); border-color: #D6261E !important; box-shadow: 0 18px 36px rgba(18,18,18,0.16); }
.lj .lj-ns-tile { transition: transform .3s ease, box-shadow .3s ease; }
.lj .lj-ns-tile:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(18,18,18,0.1); }
.lj-ns-poster { animation: lj-ns-poster-in .9s cubic-bezier(.2,.8,.3,1.1) .35s both; }
@keyframes lj-ns-poster-in { from { opacity: 0; transform: translateY(24px) rotate(-3deg) scale(.94); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) {
	.lj .lj-ns-card { padding: 20px !important; }
	.lj-ns-pill { font-size: 15px !important; padding: 8px 16px !important; }
	.lj .lj-ns-lead { font-size: 16px !important; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) { .lj-ns-dot, .lj-ns-pin, .lj-ns-poster { animation: none; } }

/* ===== Baner cookies (CookieYes) w stylu strony ===== */
.cky-consent-container .cky-consent-bar { background: #FFFFFF !important; border: 0 !important; border-top: 6px solid #D6261E !important; border-radius: 14px !important; box-shadow: 0 16px 40px rgba(18,18,18,0.22) !important; padding: 22px 22px 20px !important; }
.cky-consent-container, .cky-consent-container *, .cky-modal, .cky-modal *, .cky-btn-revisit-wrapper { font-family: 'Work Sans', sans-serif !important; }
.cky-consent-container .cky-notice::before { content: "PLIKI COOKIE"; display: flex; align-items: center; min-height: 38px; padding-left: 48px; margin-bottom: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.16em; color: #B71C15;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3Cmask id='m'%3E%3Crect width='64' height='64' fill='%23fff'/%3E%3Ccircle cx='55' cy='9' r='11' fill='%23000'/%3E%3Ccircle cx='61' cy='24' r='6.5' fill='%23000'/%3E%3Ccircle cx='45' cy='3' r='5' fill='%23000'/%3E%3C/mask%3E%3CradialGradient id='g' cx='40%25' cy='38%25' r='65%25'%3E%3Cstop offset='0' stop-color='%23F2C27E'/%3E%3Cstop offset='.7' stop-color='%23DDA25A'/%3E%3Cstop offset='1' stop-color='%23C0833B'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg mask='url(%23m)'%3E%3Ccircle cx='31' cy='33' r='28' fill='url(%23g)'/%3E%3Ccircle cx='31' cy='33' r='26.5' fill='none' stroke='%23B57532' stroke-width='3'/%3E%3Cg fill='%235A3214'%3E%3Cellipse cx='19' cy='22' rx='4.2' ry='3.4' transform='rotate(-20 19 22)'/%3E%3Cellipse cx='35' cy='18' rx='3.6' ry='2.9' transform='rotate(15 35 18)'/%3E%3Cellipse cx='14' cy='38' rx='3.4' ry='2.8'/%3E%3Cellipse cx='28' cy='32' rx='4.4' ry='3.5' transform='rotate(25 28 32)'/%3E%3Cellipse cx='44' cy='34' rx='3.8' ry='3' transform='rotate(-30 44 34)'/%3E%3Cellipse cx='24' cy='47' rx='3.6' ry='2.9' transform='rotate(10 24 47)'/%3E%3Cellipse cx='39' cy='48' rx='3.2' ry='2.6'/%3E%3C/g%3E%3Cg fill='%23F7D9A6' opacity='.8'%3E%3Ccircle cx='23' cy='15' r='1.2'/%3E%3Ccircle cx='47' cy='42' r='1'/%3E%3Ccircle cx='18' cy='30' r='.9'/%3E%3Ccircle cx='33' cy='40' r='1.1'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23D59A52'%3E%3Ccircle cx='53' cy='22' r='1.6'/%3E%3Ccircle cx='57' cy='31' r='1.2'/%3E%3Ccircle cx='48' cy='14' r='1'/%3E%3C/g%3E%3C/svg%3E") left center / 38px 38px no-repeat; }
.cky-consent-container .cky-title { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 26px !important; line-height: 1.05 !important; letter-spacing: 0.01em; text-transform: uppercase; color: #121212 !important; margin: 0 0 10px !important; }
.cky-consent-container .cky-notice-des, .cky-consent-container .cky-notice-des p { font-size: 14px !important; line-height: 1.55 !important; color: #3D3D3D !important; }
.cky-consent-container .cky-notice-des a, .cky-modal .cky-preference-content-wrapper a { color: #B71C15 !important; font-weight: 600; text-decoration: underline; }
.cky-consent-container .cky-notice-btn-wrapper { gap: 10px; margin-top: 16px !important; flex-wrap: wrap; }
.cky-consent-container .cky-btn, .cky-modal .cky-btn { font-weight: 700 !important; font-size: 13px !important; letter-spacing: 0.06em; text-transform: uppercase; border-radius: 6px !important; padding: 13px 16px !important; margin: 0 !important; line-height: 1.2 !important; flex: 1 1 auto; }
.cky-consent-container .cky-btn-accept, .cky-modal .cky-btn-accept { background: #D6261E !important; border: 2px solid #D6261E !important; color: #FFFFFF !important; box-shadow: 0 6px 14px rgba(214,38,30,0.28); }
.cky-consent-container .cky-btn-accept:hover, .cky-modal .cky-btn-accept:hover { background: #B71C15 !important; border-color: #B71C15 !important; }
.cky-consent-container .cky-btn-reject, .cky-modal .cky-btn-reject { background: #FFFFFF !important; border: 2px solid #121212 !important; color: #121212 !important; }
.cky-consent-container .cky-btn-customize, .cky-modal .cky-btn-preferences { background: #FFFFFF !important; border: 2px solid #E6E4DF !important; color: #3D3D3D !important; }
.cky-consent-container .cky-btn-reject:hover, .cky-consent-container .cky-btn-customize:hover, .cky-modal .cky-btn-reject:hover, .cky-modal .cky-btn-preferences:hover { border-color: #D6261E !important; color: #B71C15 !important; }
/* Panel „Dostosuj” */
.cky-modal .cky-preference-center { border-radius: 14px !important; overflow: hidden; }
.cky-modal .cky-preference-title { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 22px !important; letter-spacing: 0.01em; text-transform: uppercase; color: #121212 !important; }
.cky-modal .cky-preference-content-wrapper, .cky-modal .cky-preference-content-wrapper p, .cky-modal .cky-accordion-header-des, .cky-modal .cky-accordion-header-des p { color: #3D3D3D !important; font-size: 14px !important; line-height: 1.55 !important; }
.cky-modal .cky-accordion-btn { font-weight: 700 !important; color: #121212 !important; }
.cky-modal .cky-show-desc-btn, .cky-modal .cky-always-active { color: #B71C15 !important; font-weight: 700 !important; }
.cky-modal .cky-switch input[type="checkbox"]:checked { background: #D6261E !important; }
.cky-modal .cky-footer-wrapper .cky-prefrence-btn-wrapper { gap: 10px; background: #F6F5F2; }
.cky-btn-revisit-wrapper { background: #D6261E !important; }
@media (max-width: 576px) {
	.cky-consent-container .cky-consent-bar { border-radius: 16px 16px 0 0 !important; padding: 18px 16px 16px !important; }
	.cky-consent-container .cky-title { font-size: 24px !important; }
	.cky-consent-container .cky-notice-btn-wrapper { flex-direction: column; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept { order: -1; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-customize { order: 1; }
	.cky-consent-container .cky-btn { width: 100% !important; }
}
/* Baner cookies – wersja kompaktowa */
.cky-consent-container.cky-box-bottom-left, .cky-consent-container.cky-box-bottom-right { width: 360px !important; }
.cky-consent-container .cky-consent-bar { border-top-width: 4px !important; padding: 14px 16px 14px !important; border-radius: 12px !important; }
.cky-consent-container .cky-notice::before { min-height: 26px; padding-left: 34px; margin-bottom: 4px; font-size: 10px; background-size: 26px 26px; }
.cky-consent-container .cky-title { font-size: 19px !important; margin: 0 0 6px !important; }
.cky-consent-container .cky-notice-des, .cky-consent-container .cky-notice-des p { font-size: 12.5px !important; line-height: 1.45 !important; }
.cky-consent-container .cky-notice-btn-wrapper { gap: 8px; margin-top: 10px !important; }
.cky-consent-container .cky-btn { font-size: 11.5px !important; padding: 9px 10px !important; letter-spacing: 0.04em; }
@media (max-width: 576px) {
	.cky-consent-container.cky-box-bottom-left, .cky-consent-container.cky-box-bottom-right { width: 100% !important; }
	.cky-consent-container .cky-consent-bar { padding: 12px 14px 12px !important; border-radius: 14px 14px 0 0 !important; }
	.cky-consent-container .cky-title { font-size: 18px !important; }
	.cky-consent-container .cky-notice-des, .cky-consent-container .cky-notice-des p { font-size: 12px !important; }
	.cky-consent-container .cky-notice-btn-wrapper { flex-direction: row !important; flex-wrap: wrap; }
	.cky-consent-container .cky-btn { width: auto !important; flex: 1 1 40% !important; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept { flex-basis: 100% !important; }
}
