/* JK Wycieczki Szkolne — sekcja C3: mapa bez panelu + kafle + siatka */
.jk-ws{--blue:#0e4d7c;--blue-d:#0a3a5e;--blue-l:#3fa1e8;--ink:#1a2733;--muted:#5b6b78;--line:#e2ecf3;
	--jkws-map-has:#cfe4f4;--jkws-map-off:#eef1f4;--jkws-h-size:17px;--jkws-tile-h:138px;
	--jkws-tile-fs:14px;--jkws-card-fs:17px;--jkws-cols:3;--jkws-bg:transparent;--jkws-pad:0px;
	font-family:'Poppins',system-ui,sans-serif;color:var(--ink);
	background:var(--jkws-bg);padding:var(--jkws-pad);border-radius:14px}
.jk-ws *,.jk-ws *::before,.jk-ws *::after{box-sizing:border-box}
.jk-ws a{text-decoration:none}

/* układ: mapa lewa / kategorie prawa */
.jk-ws-duo{display:grid;grid-template-columns:var(--jkws-duo,1fr 1fr);gap:30px;align-items:start}
.jk-ws-h{font-size:var(--jkws-h-size);font-weight:700;color:var(--blue);margin:0;text-align:center}
.jk-ws-sub{font-size:12.5px;color:var(--muted);margin:5px 0 16px;text-align:center}
.jk-ws-cats-col .jk-ws-h,.jk-ws-cats-col .jk-ws-sub{text-align:left}

/* mapa (bez panelu, cień) */
.jk-ws-map svg{width:100%;height:auto;display:block;max-height:var(--jkws-map-h,460px);filter:drop-shadow(0 18px 28px rgba(14,77,124,.22))}
.jk-ws-map path{cursor:pointer;transition:fill .15s;stroke-linejoin:round;fill:var(--jkws-map-off);stroke:#fff;stroke-width:var(--jkws-stroke,1.6)}
.jk-ws-map path.has{fill:var(--jkws-map-has)}
.jk-ws-map path.has:hover{fill:var(--blue-l)}
.jk-ws-map path:not(.has){cursor:default}
.jk-ws-map path.sel{fill:var(--blue)!important}
.jk-ws-map .mark{pointer-events:none}
.jk-ws-map .mark circle,.jk-ws-map .mark path{fill:var(--blue);stroke:#fff;stroke-width:2}
.jk-ws-map .mark text{fill:#fff;font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;text-anchor:middle;dominant-baseline:central}
/* mapa nieaktywna (kategoria bez województw, np. zagraniczne) */
.jk-ws-map{transition:opacity .2s,filter .2s}
.jk-ws-map.jk-ws-map-off{filter:grayscale(1);opacity:.45;pointer-events:none}
.jk-ws-map.jk-ws-map-off svg{cursor:default}
.jk-ws-map.jk-ws-map-off .mark{display:none}

.jk-ws-legend{display:flex;gap:18px;justify-content:center;margin-top:14px;font-size:11.5px;color:var(--muted)}
.jk-ws-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.jk-ws-lg-has{background:var(--jkws-map-has)}
.jk-ws-lg-off{background:var(--jkws-map-off)}

/* kafle kategorii (styl C3: duże, zoom zdjęcia, etykieta-płytka) */
.jk-ws-cats{display:grid;grid-template-columns:repeat(var(--jkws-cats-cols,2),1fr);gap:14px}
.jk-ws-cat{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;min-height:var(--jkws-tile-h);
	display:flex;align-items:flex-end;padding:14px 16px;transition:.18s;border:2px solid transparent;
	background:linear-gradient(140deg,#27678f,#0a3a5e)}
.jk-ws-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.jk-ws-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,42,66,.06) 25%,rgba(10,42,66,.6) 100%)}
.jk-ws-cat:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(14,77,124,.55)}
.jk-ws-cat:hover img{transform:scale(1.07)}
/* aktywny kafel — mocno widoczny: gruby pierścień akcentu, tint, „ptaszek", uniesienie */
.jk-ws-cat.active{border-color:var(--blue-l);transform:translateY(-3px);
	box-shadow:0 0 0 4px var(--blue-l),0 18px 34px -16px rgba(14,77,124,.7)}
.jk-ws-cat.active::after{background:linear-gradient(180deg,rgba(14,77,124,.3) 10%,rgba(10,42,66,.82) 100%)}
.jk-ws-cat.active b{background:var(--blue)}
.jk-ws-cat.active::before{content:"✓";position:absolute;z-index:3;top:10px;right:12px;
	width:28px;height:28px;border-radius:50%;background:var(--blue-l);color:#fff;
	display:grid;place-items:center;font-size:15px;font-weight:800;box-shadow:0 4px 10px -3px rgba(0,0,0,.5)}
.jk-ws-cat b{position:relative;z-index:2;color:#fff;font-size:var(--jkws-tile-fs);font-weight:700;line-height:1.25;
	background:rgba(10,42,66,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:8px 12px;border-radius:9px;text-shadow:0 1px 5px rgba(0,0,0,.35)}
.jk-ws-cat b small{display:block;font-size:10.5px;font-weight:500;color:rgba(255,255,255,.85);margin-top:2px}
.jk-ws-cnt{position:absolute;z-index:2;top:12px;left:12px;font-size:10.5px;font-weight:700;
	background:rgba(255,255,255,.94);color:var(--blue);border-radius:999px;padding:3px 9px}
.jk-ws-cnt:empty{display:none}
.jk-ws-ext{position:absolute;z-index:2;top:10px;right:12px;color:#fff;font-size:14px;
	background:rgba(255,255,255,.22);border-radius:999px;width:24px;height:24px;display:grid;place-items:center}
/* Grupy nauczycielskie — wyróżnienie (osobna oferta / link zewnętrzny) */
.jk-ws-cat-ext{border-color:rgba(63,161,232,.75);box-shadow:0 0 0 2px rgba(63,161,232,.35),0 14px 28px -18px rgba(14,77,124,.55)}
.jk-ws-cat-ext::after{background:linear-gradient(180deg,rgba(14,77,124,.18) 15%,rgba(10,42,66,.72) 100%)}
.jk-ws-cat-ext b{font-size:calc(var(--jkws-tile-fs) + 3px);padding:9px 13px}
.jk-ws-cat-ext b small{font-size:11.5px;font-weight:600;color:#fff;margin-top:3px;letter-spacing:.01em}
.jk-ws-cat-ext .jk-ws-ext{background:var(--blue-l);width:28px;height:28px;font-size:15px;font-weight:700}

/* pasek info */
.jk-ws-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px;font-size:16.5px;line-height:1.45;color:#3a4a57;font-weight:500}
.jk-ws-info b{color:var(--blue);font-weight:700;font-size:1.05em}
.jk-ws-reset{font-size:14.5px;font-weight:600;color:var(--blue-l);cursor:pointer;text-decoration:underline;display:none}

/* siatka kart (spójna z siatką wyszukiwarki) */
.jk-ws-grid{display:grid;grid-template-columns:repeat(var(--jkws-cols),1fr);gap:var(--jkws-gap,22px);margin-top:22px}
.jk-ws-card{background:#fff;border:1px solid var(--line);border-radius:var(--jkws-card-radius,16px);overflow:hidden;
	box-shadow:0 12px 32px -20px rgba(14,77,124,.4);transition:.2s}
.jk-ws-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(14,77,124,.5)}
.jk-ws-card.jk-ws-hide,.jk-ws-card.jk-ws-more-hide{display:none}
.jk-ws-ph{display:block;aspect-ratio:var(--jkws-ratio,4 / 3);position:relative;overflow:hidden;background:linear-gradient(140deg,#27678f,#0a3a5e)}
.jk-ws-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jk-ws-pill{position:absolute;z-index:2;top:12px;right:12px;background:rgba(18,34,48,.86);color:#fff;
	font-size:15px;font-weight:700;padding:9px 16px;border-radius:999px;display:flex;gap:8px;align-items:center;
	letter-spacing:.01em;box-shadow:0 8px 18px -10px rgba(0,0,0,.55)}
.jk-ws-pill svg{width:16px;height:16px;flex:none}
.jk-ws-badges{position:absolute;z-index:2;top:16px;left:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.jk-ws-badges .jk-zapisy-badge{font-size:13px;padding:8px 15px;box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.jk-ws-b2{display:inline-block;font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;letter-spacing:.03em;
	color:var(--b2c,#fff);background:var(--b2bg,#e8a33d);padding:8px 15px;border-radius:999px;
	box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.jk-ws-body{padding:18px 20px 20px}
.jk-ws-body h4{font-size:var(--jkws-card-fs);font-weight:700;line-height:1.3;color:var(--ink);margin:0}
.jk-ws-body a:hover h4{color:var(--blue)}
.jk-ws-loc{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:15px;margin-top:9px}
.jk-ws-loc svg{width:15px;height:15px;color:var(--blue-l);flex:none}
.jk-ws-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:10px}
.jk-ws-price small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.jk-ws-price b{font-size:24px;font-weight:800;color:var(--ink)}
.jk-ws-price .jk-ws-ind{font-size:14px}
.jk-ws-go.jk-ws-go-ask{padding-left:22px;padding-right:22px}
/* przycisk identyczny z siatką „zagranicznych" */
.jk-ws-go{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;font-weight:700;
	padding:12px 30px;border-radius:10px;white-space:nowrap;transform-origin:center;transition:transform .18s ease;
	box-shadow:0 12px 24px -14px rgba(14,77,124,.8)}
.jk-ws-go:hover{color:#fff;transform:scale(.9)}
.jk-ws-empty{grid-column:1/-1;text-align:center;padding:46px 20px;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:14px}

/* grid strony głównej (bez mapy/filtrów) */
.jk-home .jk-ws-grid{margin-top:0}

/* sekcja katalogu [jk_katalog] */
.jk-ws-katalog{display:flex;align-items:center;gap:20px;background:#f5f7f9;border:1px solid var(--line);
	border-radius:14px;padding:20px 24px;flex-wrap:wrap}
.jk-ws-kcover{width:64px;height:88px;border-radius:6px;object-fit:cover;flex:none;box-shadow:0 10px 20px -10px rgba(14,77,124,.5)}
.jk-ws-kcover-ph{display:grid;place-items:center;background:linear-gradient(160deg,var(--blue),var(--blue-l));color:#fff;font-weight:800;font-size:13px}
.jk-ws-katalog-txt{min-width:200px;flex:1}
.jk-ws-katalog h3{font-size:16px;font-weight:700;color:var(--ink);margin:0}
.jk-ws-katalog p{font-size:13px;color:var(--muted);margin-top:3px;max-width:560px;line-height:1.55}
.jk-ws-katalog-acts{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.jk-ws-kbtn{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;
	padding:12px 24px;border:0;border-radius:10px;text-decoration:none;cursor:pointer;transition:.18s;line-height:1.2;-webkit-appearance:none;appearance:none}
.jk-ws-kbtn svg{width:16px;height:16px}
.jk-ws-kbtn-blue{background:var(--blue);color:#fff}
.jk-ws-kbtn-blue:hover{background:var(--blue-d);color:#fff}
.jk-ws-kbtn-line{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}
.jk-ws-kbtn-line:hover{background:var(--blue);color:#fff}
@media(max-width:600px){.jk-ws-katalog{flex-direction:column;text-align:center}.jk-ws-katalog-acts{margin:0 auto}}
.jk-ws-katalog-embed{display:inline-flex;align-items:center}
/* trigger 3D FlipBook stylizowany na przycisk „Zobacz online" */
.jk-ws-katalog-embed a,
.jk-ws-katalog-embed .df-book-link,
.jk-ws-katalog-embed button{
	display:inline-flex!important;align-items:center;gap:8px;
	font-family:'Poppins',sans-serif!important;font-weight:600!important;font-size:14px!important;line-height:1.2!important;
	padding:12px 22px 12px 42px!important;border-radius:10px!important;text-decoration:none!important;cursor:pointer;white-space:nowrap;
	color:var(--blue)!important;background:#fff no-repeat 16px center/16px 16px;border:1.5px solid var(--blue)!important;transition:.18s;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e4d7c' stroke-width='2'%3E%3Cpath d='M2 4h7a4 4 0 014 4v12a3 3 0 00-3-3H2zM22 4h-7a4 4 0 00-4 4v12a3 3 0 013-3h8z'/%3E%3C/svg%3E")}
.jk-ws-katalog-embed a:hover,
.jk-ws-katalog-embed .df-book-link:hover,
.jk-ws-katalog-embed button:hover{background-color:#eaf3fa;border-color:var(--blue-d)!important;color:var(--blue-d)!important;animation:none}
/* delikatne pulsowanie (wł./tempo z panelu) */
.jk-katalog-pulse .jk-ws-katalog-embed a,
.jk-katalog-pulse .jk-ws-katalog-embed .df-book-link,
.jk-katalog-pulse .jk-ws-katalog-embed button{animation:jk-ws-kpulse var(--jkws-kpulse,2.2s) ease-out infinite}
@keyframes jk-ws-kpulse{
	0%{box-shadow:0 0 0 0 rgba(14,77,124,.45)}
	70%{box-shadow:0 0 0 12px rgba(14,77,124,0)}
	100%{box-shadow:0 0 0 0 rgba(14,77,124,0)}
}
@media (prefers-reduced-motion: reduce){
	.jk-ws-katalog-embed a,
	.jk-ws-katalog-embed .df-book-link,
	.jk-ws-katalog-embed button{animation:none}
}

.jk-ws-more-wrap{text-align:center;margin-top:26px}
.jk-ws-more{font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;color:#fff;cursor:pointer;
	background:var(--blue);border:0;border-radius:10px;padding:13px 32px;transition:.18s}
.jk-ws-more:hover{background:var(--blue-d);transform:translateY(-2px)}

@media(max-width:960px){
	.jk-ws-duo{grid-template-columns:1fr}
	.jk-ws-grid{grid-template-columns:repeat(2,1fr)}
	.jk-ws-cats-col .jk-ws-h,.jk-ws-cats-col .jk-ws-sub{text-align:center}
}
@media(max-width:600px){
	.jk-ws-grid{grid-template-columns:1fr}
	.jk-ws-cats{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
	.jk-ws-cat img,.jk-ws-cat,.jk-ws-card{transition:none!important}
}
