/* arenaskakania.pl - nowocześnie i profesjonalnie
   Koncepcja: platforma eventowa. Grafitowe tło z żywą aurorą (pomarańcz sygnałowy + morski),
   jasne sekcje robocze, siatka bento, liczniki, karty z efektem światła i przechyleniem. */
@font-face{font-family:"Unbounded";src:url(/fonts/unbounded-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Unbounded";src:url(/fonts/unbounded-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Manrope";src:url(/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Manrope";src:url(/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Chakra";src:url(/fonts/chakra-petch-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1E9F}
@font-face{font-family:"Chakra";src:url(/fonts/chakra-petch-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  --ink:#0A0F1F; --ink-2:#4A5470; --ink-3:#717A93; --tlo:#F4F5F9; --bialy:#FFFFFF; --linia:#E2E5EE;
  --akcent:#FF5A1F; --akcent-ciemny:#D9400A; --morski:#12B5A6; --fiolet:#6C5CE7; --noc-2:#141B33;
  --f-disp:"Unbounded","Arial Black",system-ui,sans-serif;
  --f-txt:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-num:"Chakra",ui-monospace,Menlo,monospace;
  --r:20px; --max:1220px; --pasek-h:70px;
  --cien:0 1px 2px rgba(10,15,31,.05),0 18px 40px -26px rgba(10,15,31,.35);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
html.bez-przewijania{overflow:hidden}
body{margin:0;background:var(--tlo);color:var(--ink);font:500 1.0625rem/1.65 var(--f-txt);padding-bottom:calc(var(--pasek-h) + env(safe-area-inset-bottom,0px));-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--akcent-ciemny);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3{margin:0;text-wrap:balance;color:inherit}
h1,h2{font-family:var(--f-disp);font-weight:700;letter-spacing:-.03em;line-height:1.04}
h1{font-size:clamp(2.1rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.65rem,3.4vw,2.7rem)}
h3{font:750 1.18rem/1.3 var(--f-txt);letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:3px solid var(--akcent);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ukryte{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.skok{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:99}.skok:focus{left:16px}

.postep{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:3px;z-index:90;pointer-events:none}
.postep span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--akcent),var(--morski));transform-origin:0 50%;transform:scaleX(var(--postep,0))}

.sekcja{padding-block:clamp(64px,8vw,112px);position:relative}
.sekcja-in,.glowa-in,.stopka-in{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));position:relative}
.sekcja-glowa{display:grid;gap:14px;max-width:800px;margin-bottom:clamp(28px,4vw,48px)}
.sekcja-glowa p{color:var(--ink-2);font-size:1.08rem}
.etykieta{display:inline-flex;align-items:center;gap:10px;font:700 .78rem/1 var(--f-txt);letter-spacing:.16em;text-transform:uppercase;color:var(--akcent-ciemny)}
.etykieta::before{content:"";width:22px;height:2px;background:currentColor}
.prose{max-width:72ch;display:grid;gap:16px;min-width:0}
.prose h2{margin-top:24px;font-size:clamp(1.35rem,2.5vw,1.85rem)}
.prose ul,.prose ol{margin:0;padding-left:1.2em;display:grid;gap:6px}
.ciemna{background:var(--ink);color:#C9CEDF}
.ciemna .sekcja-glowa p{color:#9AA3BE}
.ciemna h2,.ciemna h3{color:#fff}
.ciemna .etykieta{color:#FF8A5C}

/* przyciski */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;border-radius:12px;border:1.5px solid transparent;font:750 .98rem/1.1 var(--f-txt);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s,box-shadow .25s,color .2s;-webkit-tap-highlight-color:transparent;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;background:radial-gradient(120px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 60%);opacity:0;transition:opacity .25s;z-index:-1}
.btn:hover::before{opacity:1}
.btn:active{transform:scale(.97)}
.btn-akcent,.btn-glowny,.btn-mag,.btn-zloty{background:var(--akcent);color:#fff;box-shadow:0 10px 26px -12px var(--akcent)}
.btn-akcent:hover,.btn-glowny:hover,.btn-mag:hover,.btn-zloty:hover{background:var(--akcent-ciemny);color:#fff;box-shadow:0 16px 34px -12px var(--akcent)}
.btn-jasny{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.btn-jasny:hover{background:#fff;color:var(--ink)}
.btn-ciemny{background:var(--ink);color:#fff}.btn-ciemny:hover{background:#000;color:#fff}
.btn-pelny{width:100%}
.link-btn{background:none;border:0;padding:6px 0;font:700 .9rem var(--f-txt);color:var(--ink-2);cursor:pointer;text-align:left;transition:color .2s}
.link-btn:hover{color:var(--akcent-ciemny)}

/* nagłówek */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bialy)}
.glowa{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.8);backdrop-filter:saturate(1.8) blur(18px);-webkit-backdrop-filter:saturate(1.8) blur(18px);border-bottom:1px solid rgba(226,229,238,.8);transition:box-shadow .3s,background .3s}
.glowa.przewiniete{background:rgba(255,255,255,.95);box-shadow:0 10px 30px -20px rgba(10,15,31,.4)}
.glowa-in{display:flex;align-items:center;gap:16px;min-height:68px;transition:min-height .3s}
.glowa.przewiniete .glowa-in{min-height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto;font:700 1.06rem/1 var(--f-disp);letter-spacing:-.03em}
.logo b{font-weight:700;color:var(--akcent);margin-left:.18em}
.logo:hover{color:var(--ink)}
.logo-pilka{transform-box:fill-box;transform-origin:center}
.logo:hover .logo-pilka{animation:podskok .6s cubic-bezier(.3,1.6,.5,1)}
.nawigacja{display:flex;align-items:center;gap:2px}
.nawigacja>a,.nav-rozwin{padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink-2);font:700 .94rem var(--f-txt);background:none;border:0;cursor:pointer;transition:color .2s,background .2s}
.nawigacja>a:hover,.nawigacja>a[aria-current],.nav-rozwin:hover{color:var(--ink);background:var(--tlo)}
.nav-rozwin::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px}
.nav-grupa{position:relative}
.podmenu{position:absolute;top:calc(100% + 10px);left:-10px;width:320px;background:var(--bialy);border:1px solid var(--linia);border-radius:16px;padding:8px;box-shadow:0 30px 60px -30px rgba(10,15,31,.45);display:grid;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.nav-grupa:hover .podmenu,.nav-grupa:focus-within .podmenu,.nav-rozwin[aria-expanded=true]+.podmenu{opacity:1;visibility:visible;transform:none}
.podmenu a{display:grid;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.podmenu a small{color:var(--ink-3);font-size:.82rem;font-weight:600}
.podmenu a:hover,.podmenu a[aria-current]{background:var(--tlo)}
.podmenu a:hover b{color:var(--akcent-ciemny)}
.nawigacja .nav-tel{font-family:var(--f-num);font-size:1rem;color:var(--ink)}
.nawigacja .nav-rez{background:var(--ink);color:#fff;margin-left:6px;padding-inline:16px}
.nawigacja .nav-rez:hover{background:var(--akcent);color:#fff}
.menu-btn{display:none;width:46px;height:46px;border:1px solid var(--linia);border-radius:12px;background:var(--bialy);cursor:pointer;position:relative}
.menu-btn span:first-child,.menu-btn span:first-child::before,.menu-btn span:first-child::after{position:absolute;left:12px;width:20px;height:2px;background:var(--ink);border-radius:2px;content:"";transition:transform .25s}
.menu-btn span:first-child{top:22px}.menu-btn span:first-child::before{top:-6px;left:0}.menu-btn span:first-child::after{top:6px;left:0}
.menu-btn[aria-expanded=true] span:first-child{background:transparent}
.menu-btn[aria-expanded=true] span:first-child::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:first-child::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1100px){
  .menu-btn{display:block}
  .nawigacja{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:var(--bialy);border-bottom:1px solid var(--linia);padding:10px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));box-shadow:0 30px 40px -30px rgba(10,15,31,.4);max-height:calc(100vh - 68px);overflow:auto}
  .nawigacja.otwarte{display:flex;animation:wjazd .25s ease}
  .nawigacja>a,.nav-rozwin{padding:14px 12px;font-size:1.04rem;text-align:left;width:100%}
  .podmenu{position:static;width:auto;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;background:var(--tlo);margin:4px 0 8px}
  .nav-grupa:hover .podmenu{display:none}
  .nav-rozwin[aria-expanded=true]+.podmenu{display:grid}
  .nawigacja .nav-rez{margin:10px 0 0;text-align:center}
}
.okruszki{max-width:var(--max);margin:0 auto -44px;padding:16px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));position:relative;z-index:3}
.okruszki ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font:700 .76rem/1.4 var(--f-txt);letter-spacing:.06em;text-transform:uppercase;color:#8890AA}
.okruszki li+li::before{content:"/";margin-right:8px;opacity:.5}
.okruszki a{color:#C9CEDF;text-decoration:none}
.okruszki a:hover{color:#fff}

/* aurora - żywe tło */
.aurora{position:absolute;inset:-20%;pointer-events:none;filter:blur(70px);opacity:.75;z-index:-1}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.aurora i:nth-child(1){width:46%;height:56%;left:8%;top:22%;background:var(--akcent);animation:aur1 18s ease-in-out infinite}
.aurora i:nth-child(2){width:42%;height:50%;right:6%;top:6%;background:var(--morski);animation:aur2 22s ease-in-out infinite}
.aurora i:nth-child(3){width:34%;height:44%;left:40%;bottom:0;background:var(--fiolet);opacity:.7;animation:aur3 26s ease-in-out infinite}
.siatka-tlo{position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:clamp(56px,8vw,110px) clamp(48px,6vw,84px);isolation:isolate}
.hero .aurora{opacity:.6}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center}
.hero-tekst{display:grid;gap:22px;min-width:0}
.znaczek{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);font:700 .84rem var(--f-txt);color:#DCE0EE;backdrop-filter:blur(8px)}
.znaczek i{width:22px;height:22px;border-radius:50%;background:var(--morski);display:grid;place-items:center;animation:puls 2s infinite}
.znaczek i::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.gradient{background:linear-gradient(90deg,#FF8A5C,var(--akcent),#FFB38F,var(--morski),#FF8A5C);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:przelew 8s linear infinite}
.lead{color:#B7BED3;font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:58ch}
.hero-akcje{display:flex;flex-wrap:wrap;gap:12px}
.hero-zaufanie{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0;color:#9AA3BE;font-weight:700;font-size:.9rem}
.hero-zaufanie li{display:flex;align-items:center;gap:8px}
.hero-zaufanie li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--morski) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/100% no-repeat}
.panel{position:relative;background:rgba(20,27,51,.72);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:20px;display:grid;gap:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.panel-tyt{display:flex;justify-content:space-between;align-items:center;font:700 .76rem var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:#8890AA}
.panel-tyt i{font-style:normal;color:var(--morski);display:inline-flex;align-items:center;gap:6px}
.panel-tyt i::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--morski);animation:puls 2s infinite}
.panel-siatka{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.liczba{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;display:grid;gap:6px;min-width:0}
.liczba b{font:700 clamp(1.9rem,4vw,2.7rem)/1 var(--f-num);color:#fff;font-variant-numeric:tabular-nums}
.liczba b small{font-size:.48em;color:#FF8A5C;margin-left:4px}
.liczba span{font-size:.82rem;font-weight:700;color:#8890AA}
.panel-pasek{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.panel-pasek span{display:block;height:100%;width:var(--w,70%);background:linear-gradient(90deg,var(--akcent),var(--morski));border-radius:6px;animation:wypelnij 1.8s cubic-bezier(.2,.8,.2,1) both}
.panel-stopka{font-size:.82rem;color:#8890AA}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}}

/* przewijana taśma */
.tasma{background:var(--akcent);color:#fff;overflow:hidden;white-space:nowrap;padding-block:14px;font:700 clamp(.95rem,1.7vw,1.25rem)/1 var(--f-disp);letter-spacing:-.01em}
.tasma-in{display:inline-flex;animation:tasma 36s linear infinite}
.tasma-in span{display:inline-flex;align-items:center;gap:30px;padding-right:30px}
.tasma-in span::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;opacity:.75}
.tasma:hover .tasma-in{animation-play-state:paused}

.hero-pod{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:clamp(90px,10vw,130px) clamp(56px,7vw,90px);isolation:isolate}
.hero-pod .aurora{opacity:.45}
.hero-pod-in{display:grid;gap:16px}
.hero-pod h1{font-size:clamp(1.9rem,4.6vw,3.4rem);max-width:22ch}
.hero-pod .lead a{color:#FF8A5C}

/* "W skrócie" */
.w-skrocie{position:relative;border-radius:18px;padding:20px 22px 20px 26px;background:var(--bialy);border:1px solid var(--linia);box-shadow:var(--cien);overflow:hidden}
.w-skrocie::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--akcent),var(--morski))}
.w-skrocie-tyt{font:800 .76rem var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:var(--akcent-ciemny);margin-bottom:6px}
.uklad-tresci{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(24px,4vw,56px);align-items:start}
.boczny{position:sticky;top:92px;display:grid;gap:16px;min-width:0}
.boczny .termin-pola{grid-template-columns:1fr}
.powiazane{background:var(--bialy);border:1px solid var(--linia);border-radius:18px;padding:18px 20px}
.powiazane-tyt{font:800 .76rem var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.powiazane ul{list-style:none;margin:0;padding:0;display:grid}
.powiazane a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--linia);text-decoration:none;color:var(--ink);font-weight:700}
.powiazane a::after{content:"→";transition:transform .2s}
.powiazane a:hover{color:var(--akcent-ciemny)}
.powiazane a:hover::after{transform:translateX(4px)}
@media (max-width:900px){.uklad-tresci{grid-template-columns:1fr}.boczny{position:static}}
.lista-krokow{list-style:none;padding:0;counter-reset:k;display:grid;gap:10px}
.lista-krokow li{counter-increment:k;position:relative;padding:18px 18px 18px 72px;background:var(--bialy);border:1px solid var(--linia);border-radius:16px;display:grid;gap:4px}
.lista-krokow li::before{content:counter(k,decimal-leading-zero);position:absolute;left:20px;top:18px;font:700 1.2rem var(--f-num);color:var(--akcent)}

/* kalkulator */
.tablica{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(10,15,31,.55);border:1px solid var(--linia)}
.tablica-wejscie{background:var(--bialy);padding:clamp(20px,3vw,34px);display:grid;gap:20px;align-content:start}
.tablica-lab{font:750 1.15rem var(--f-txt)}
.suwak-rzad{display:flex;align-items:center;gap:14px}
.suwak-rzad input{flex:1;min-width:0;accent-color:var(--akcent);height:34px}
.suwak-rzad output{font:700 2.6rem/1 var(--f-num);color:var(--akcent);min-width:3.2ch;text-align:right;font-variant-numeric:tabular-nums}
.przel{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:center;font-weight:700;cursor:pointer}
.przel input{width:22px;height:22px;accent-color:var(--akcent);margin:0}
.tablica-wynik{position:relative;background:var(--ink);color:#fff;padding:clamp(20px,3vw,34px);display:grid;gap:16px;overflow:hidden;isolation:isolate}
.tablica-wynik::before{content:"";position:absolute;inset:-40%;background:radial-gradient(40% 40% at 80% 20%,rgba(255,90,31,.35),transparent),radial-gradient(40% 40% at 10% 90%,rgba(18,181,166,.3),transparent);z-index:-1;animation:aur2 16s ease-in-out infinite}
.led-rzad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.led{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 10px;display:grid;gap:4px;text-align:center}
.led b{font:700 clamp(1.6rem,3.2vw,2.2rem)/1 var(--f-num);color:#fff;font-variant-numeric:tabular-nums}
.led span{font:700 .68rem/1.2 var(--f-txt);text-transform:uppercase;letter-spacing:.06em;color:#8890AA}
.zestaw{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:z}
.zestaw li{counter-increment:z;display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;background:rgba(255,255,255,.06);border-radius:10px;animation:wjazd .35s ease both}
.zestaw li::before{content:counter(z,decimal-leading-zero);font:700 .85rem var(--f-num);color:var(--morski)}
.zestaw li b{font:700 1rem var(--f-num);white-space:nowrap}
.zestaw-rez{font-size:.8rem;font-weight:800;color:#FF8A5C;text-decoration:none;padding:4px 8px;border:1px solid rgba(255,138,92,.4);border-radius:8px}
.zestaw-rez:hover{background:var(--akcent);color:#fff}
.zestaw li.brak{grid-template-columns:1fr;background:transparent;border:1px dashed rgba(255,255,255,.2);color:#B7BED3}
.zestaw li.brak::before{display:none}
.tablica-suma{color:#B7BED3}
.tablica-suma b{font:700 1.5rem var(--f-num);color:#fff}
.tablica-suma small{display:block;font-size:.8rem;opacity:.75}
.tablica-akcje{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:900px){.tablica{grid-template-columns:1fr}.led-rzad{grid-template-columns:repeat(2,minmax(0,1fr))}.zestaw li{grid-template-columns:24px 1fr auto}.zestaw-rez{grid-column:2/-1;justify-self:start}}

/* bento - rodzaje wydarzeń */
.imprezy{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.impreza{position:relative;grid-column:span 2;display:grid;gap:10px;align-content:end;min-height:240px;padding:24px;border-radius:var(--r);text-decoration:none;color:var(--ink);background:var(--bialy);border:1px solid var(--linia);overflow:hidden;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.impreza:nth-child(1){grid-column:span 4;background:var(--ink);color:#fff;border-color:transparent}
.impreza:nth-child(2){background:var(--akcent);color:#fff;border-color:transparent}
.impreza::after{content:"";position:absolute;inset:0;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(255,90,31,.14),transparent 60%);opacity:0;transition:opacity .3s;z-index:-1}
.impreza:nth-child(1)::after,.impreza:nth-child(2)::after{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 60%)}
.impreza:hover::after{opacity:1}
.impreza:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(10,15,31,.5);color:var(--ink)}
.impreza:nth-child(1):hover,.impreza:nth-child(2):hover{color:#fff}
.impreza .ikona{position:absolute;top:22px;left:24px;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--tlo);color:var(--akcent);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.impreza:hover .ikona{transform:rotate(-8deg) scale(1.08)}
.impreza:nth-child(1) .ikona,.impreza:nth-child(2) .ikona{background:rgba(255,255,255,.12);color:#fff}
.impreza h3{font:700 clamp(1.1rem,1.8vw,1.4rem)/1.12 var(--f-disp);letter-spacing:-.02em}
.impreza p{color:var(--ink-2);font-size:.96rem}
.impreza:nth-child(1) p,.impreza:nth-child(2) p{color:rgba(255,255,255,.82)}
.impreza span{font:800 .88rem var(--f-txt);display:inline-flex;gap:6px;align-items:center}
.impreza span::after{content:"→";transition:transform .25s}
.impreza:hover span::after{transform:translateX(5px)}
@media (max-width:900px){.imprezy{grid-template-columns:1fr 1fr}.impreza,.impreza:nth-child(n){grid-column:span 1}.impreza:nth-child(1){grid-column:1/-1}}
@media (max-width:540px){.imprezy{grid-template-columns:1fr}.impreza:nth-child(n){grid-column:auto;min-height:200px}}

/* karty atrakcji */
.karty,.siatka-atrakcji{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:18px}
.karta{position:relative;background:var(--bialy);border:1px solid var(--linia);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-width:0;color:var(--ink);transition:transform .25s ease-out,box-shadow .3s,border-color .3s;isolation:isolate}
.karta::after{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(255,90,31,.12),transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none}
.karta:hover{box-shadow:0 30px 60px -30px rgba(10,15,31,.45);border-color:#CDD2E0}
.karta:hover::after{opacity:1}
.ciemna .karta{color:var(--ink)}
.ciemna .karta h3{color:var(--ink)}
.karta-obraz{position:relative;aspect-ratio:4/3;background:#EEF0F6;max-width:100%;overflow:hidden}
.karta-obraz img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.karta:hover .karta-obraz img{transform:scale(1.05)}
.karta-kat{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:var(--ink);font:800 .68rem/1 var(--f-txt);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:8px}
.karta-hit{position:absolute;right:12px;top:12px;background:var(--akcent);color:#fff;font:800 .68rem/1 var(--f-txt);letter-spacing:.04em;padding:7px 10px;border-radius:8px}
.karta-tresc{padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;flex:1}
.karta-tresc>p{color:var(--ink-2);font-size:.96rem}
.statystyki{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.statystyki li{background:var(--tlo);border-radius:10px;padding:8px;display:grid;text-align:center;min-width:0}
.statystyki b{font:700 1.2rem/1.1 var(--f-num);color:var(--ink);font-variant-numeric:tabular-nums}
.statystyki b.tekst{font:800 .9rem/1.3 var(--f-txt);padding-block:3px}
.statystyki span{font-size:.66rem;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.karta-dol{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--linia)}
.karta-cena{display:grid;line-height:1.15}
.karta-cena b{font:700 1.45rem var(--f-num);font-variant-numeric:tabular-nums}
.karta-cena span{font-size:.8rem;color:var(--ink-3);font-weight:600}
.karta-dol .btn{min-height:44px;padding-inline:18px}

/* oś przebiegu */
.os{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:o;position:relative}
.os::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.12)}
.os::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--akcent),var(--morski));transform-origin:0 50%;transform:scaleX(var(--os,1));transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}
.js-ruch .os{--os:0}
.js-ruch .os.widoczne{--os:1}
.os li{counter-increment:o;padding:30px 20px 0 0;position:relative;display:grid;gap:8px;align-content:start}
.os li::before{content:counter(o,decimal-leading-zero);position:absolute;top:-14px;left:0;background:var(--ink);border:1px solid rgba(255,255,255,.2);color:#fff;font:700 .85rem/1 var(--f-num);padding:7px 9px;border-radius:8px;z-index:1}
.os h3{margin-top:6px;color:#fff}
.os p{color:#9AA3BE;font-size:.96rem}
@media (max-width:900px){.os{grid-template-columns:1fr;gap:28px}.os::before,.os::after{display:none}.os li{padding:24px 0 0;border-top:2px solid rgba(255,255,255,.12)}}

.parametry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.parametr{background:var(--bialy);border:1px solid var(--linia);border-radius:var(--r);padding:22px;display:grid;gap:6px;transition:transform .3s,box-shadow .3s}
.parametr:hover{transform:translateY(-3px);box-shadow:var(--cien)}
.parametr b{font:700 1.7rem/1 var(--f-num);color:var(--akcent)}
.parametr span{font-weight:800}
.parametr small{color:var(--ink-2);font-size:.9rem}

.dwie-kol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:820px){.dwie-kol{grid-template-columns:1fr}}
.ramka{background:var(--bialy);border:1px solid var(--linia);border-radius:var(--r);padding:clamp(20px,3vw,30px)}
.uwaga{background:#FFF1EA;border:1px solid #FFD2BF;color:var(--ink);border-radius:12px;padding:14px 16px;font-weight:700}

.faq{display:grid;gap:10px;max-width:920px}
.faq details{background:var(--bialy);border:1px solid var(--linia);border-radius:16px;transition:border-color .25s,box-shadow .25s}
.faq details[open]{border-color:#FFC4AC;box-shadow:var(--cien)}
.faq summary{list-style:none;cursor:pointer;padding:18px 58px 18px 22px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:8px;background:var(--tlo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%230A0F1F' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .3s,background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:#FFE3D6}
.faq summary h3{font-size:1.05rem;color:var(--ink)}
.faq-odp{padding:0 22px 20px;color:var(--ink-2)}
.faq details[open] .faq-odp{animation:wjazd .3s ease}
.ciemna .faq details{background:var(--noc-2);border-color:rgba(255,255,255,.08)}
.ciemna .faq details[open]{border-color:rgba(255,138,92,.5)}
.ciemna .faq summary h3{color:#fff}
.ciemna .faq-odp{color:#B7BED3}
.ciemna .faq summary::after{background-color:rgba(255,255,255,.9)}

.wpisy{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;list-style:none;margin:0;padding:0}
.wpisy a{display:grid;gap:8px;height:100%;background:var(--noc-2);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;text-decoration:none;color:#fff;transition:transform .25s,border-color .25s}
.wpisy a:hover{transform:translateY(-3px);border-color:var(--akcent);color:#fff}
.wpisy small{font:700 .8rem var(--f-num);color:#FF8A5C}
.wpisy b{font-weight:800;line-height:1.35}
.opinie{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.opinia{background:var(--bialy);border:1px solid var(--linia);border-radius:var(--r);padding:22px;display:grid;gap:10px;margin:0}
.opinia footer{font-size:.9rem;color:var(--ink-2)}
.gwiazdki{color:var(--akcent);letter-spacing:2px}

.pas-cta{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:clamp(56px,7vw,88px);isolation:isolate}
.pas-cta .aurora{opacity:.55}
.pas-cta-in{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.pas-cta p{color:#B7BED3;max-width:52ch;margin-top:10px}
.pas-cta-akcje{display:flex;flex-wrap:wrap;gap:12px}

/* sprawdzanie terminu */
.pas-termin{position:relative;background:var(--bialy);border-block:1px solid var(--linia);padding-block:clamp(48px,6vw,72px);overflow:hidden}
.pas-termin::before{content:"";position:absolute;right:-10%;top:-60%;width:50%;height:200%;background:radial-gradient(closest-side,rgba(255,90,31,.12),transparent);pointer-events:none}
.pas-termin h2{font-size:clamp(1.45rem,2.9vw,2.2rem)}
.pas-termin-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,48px);align-items:center}
.pas-termin-in>div{display:grid;gap:12px}
.pas-termin-in>div>p{color:var(--ink-2)}
@media (max-width:860px){.pas-termin-in{grid-template-columns:1fr}}
.termin{display:grid;gap:12px;background:var(--bialy);color:var(--ink);border:1px solid var(--linia);border-radius:20px;padding:clamp(16px,2.5vw,24px);box-shadow:var(--cien)}
.termin-pola{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px;align-items:end}
@media (max-width:640px){.termin-pola{grid-template-columns:1fr}}
.kontakt-dane .termin-pola{grid-template-columns:1fr}
.termin-wynik{border-radius:12px;padding:14px 16px;background:var(--tlo);display:grid;gap:10px;justify-items:start;animation:wjazd .3s ease}
.termin-wynik.dobrze{background:#E6F8F5;border:1px solid var(--morski)}
.termin-wynik.zle{background:#FFF1EA;border:1px solid #FFC4AC}
.termin-wynik ul{margin:0;padding-left:1.2em}
.termin-info{font-size:.84rem;color:var(--ink-3)}

/* formularz */
.form{display:grid;gap:16px;background:var(--bialy);border:1px solid var(--linia);border-radius:20px;padding:clamp(18px,3vw,28px);color:var(--ink)}
.form-tytul{font-weight:700;color:var(--ink-2)}
.form-siatka{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pole{display:grid;gap:6px;min-width:0}
.pole-szer{grid-column:1/-1}
.pole span{font:800 .76rem var(--f-txt);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.pole input,.pole select,.pole textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--linia);border-radius:12px;background:var(--tlo);font:600 16px/1.3 var(--f-txt);color:var(--ink);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.pole select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.pole input[type=date]{display:block}
.pole textarea{resize:vertical;min-height:90px}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:none;border-color:var(--akcent);background:#fff;box-shadow:0 0 0 4px rgba(255,90,31,.15)}
.pole.blad input,.pole.blad select{border-color:var(--akcent);background:#FFF1EA}
.zgoda{display:grid;grid-template-columns:24px 1fr;gap:10px;font-size:.86rem;color:var(--ink-2)}
.zgoda input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--akcent)}
.zgoda.blad span{color:var(--akcent-ciemny)}
.form-status{font-weight:700;min-height:1em}
.form-status.dobrze{color:#0B8A7E}.form-status.zle{color:var(--akcent-ciemny)}
.form-alt{font-size:.9rem;color:var(--ink-2);text-align:center}
.form-alt a{font-weight:800;color:var(--ink)}
@media (max-width:560px){.form-siatka{grid-template-columns:1fr}}
.kontakt-uklad{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.kontakt-uklad{grid-template-columns:1fr}}
.kontakt-dane{display:grid;gap:16px;min-width:0}
.kontakt-tel{font:700 clamp(2.2rem,5vw,3.2rem)/1 var(--f-num);color:#FF8A5C;text-decoration:none}
.ciemna .kontakt-dane a:not(.btn):not(.kontakt-tel){color:#fff}
.ciemna .termin-info a{color:var(--akcent-ciemny)}

/* stały pasek */
.pasek{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:rgba(10,15,31,.92);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-top:1px solid rgba(255,255,255,.08)}
.pasek a,.pasek button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:12px;border:0;cursor:pointer;text-decoration:none;font-family:var(--f-txt);-webkit-tap-highlight-color:transparent;transition:transform .15s,background .2s}
.pasek a:active,.pasek button:active{transform:scale(.97)}
.pasek span{display:grid;text-align:left;line-height:1.1}
.pasek small{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
.pasek b{font-size:1.02rem;font-weight:800}
.pasek-tel{background:#fff;color:var(--ink)}
.pasek-tel b{font-family:var(--f-num)}
.pasek-tel svg{color:var(--akcent)}
.pasek-form{background:var(--akcent);color:#fff}
.pasek-form:hover{background:var(--akcent-ciemny)}
@media (min-width:861px){.pasek{grid-template-columns:auto auto;justify-content:center;gap:12px}.pasek a,.pasek button{padding-inline:26px;min-width:260px}}

.okno{width:min(640px,100%);max-height:min(92vh,100%);margin:auto;padding:0;border:0;border-radius:22px;background:var(--tlo);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.okno::backdrop{background:rgba(10,15,31,.6);backdrop-filter:blur(6px)}
.okno[open]{animation:okno .35s cubic-bezier(.2,.8,.2,1)}
.okno-glowa{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--ink);color:#fff}
.okno-glowa p{font:700 1.05rem var(--f-disp);letter-spacing:-.02em}
.okno-zamknij{width:42px;height:42px;border-radius:10px;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;transition:transform .3s,background .2s}
.okno-zamknij:hover{transform:rotate(90deg);background:var(--akcent)}
.okno .form{background:transparent;border:0;border-radius:0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
@media (max-width:640px){.okno{max-height:100%;height:100%;max-width:100%;border-radius:0;margin:0;padding-top:env(safe-area-inset-top,0px)}}

.stopka{position:relative;overflow:hidden;background:var(--ink);color:#9AA3BE;padding-block:72px 26px;font-size:.95rem;isolation:isolate}
.stopka-aurora{position:absolute;left:-10%;right:-10%;bottom:-60%;height:100%;background:radial-gradient(40% 50% at 30% 50%,rgba(255,90,31,.22),transparent),radial-gradient(40% 50% at 75% 50%,rgba(18,181,166,.2),transparent);filter:blur(30px);z-index:-1;animation:aur1 20s ease-in-out infinite}
.stopka-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}
.stopka a:not(.btn){color:#fff;text-decoration:none}
.stopka a:not(.btn):hover{color:#FF8A5C}
.stopka-marka .btn{justify-self:start}
.stopka-logo{font:700 1.4rem var(--f-disp);color:#fff;letter-spacing:-.03em}
.stopka-tyt{font:800 .76rem var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:#FF8A5C;margin-bottom:6px}
.stopka-kol{display:grid;gap:12px;align-content:start}
.stopka-soc{display:flex;gap:12px;flex-wrap:wrap}
.stopka-op{font-size:.82rem;color:#7A839C}
.stopka-sync{max-width:var(--max);margin:40px auto 0;padding:18px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));border-top:1px solid rgba(255,255,255,.08);font-size:.84rem;color:#7A839C;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kropka{width:8px;height:8px;border-radius:50%;background:var(--morski);animation:puls 2s infinite}
@media (max-width:900px){.stopka-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stopka-in{grid-template-columns:1fr}}

.pas-atrakcji{background:var(--tlo)}
.pas-faq{background:var(--bialy);border-top:1px solid var(--linia)}

/* konfetti (JS) */
.konfetti{position:fixed;left:0;top:0;width:8px;height:12px;z-index:200;pointer-events:none;border-radius:2px;animation:konfetti var(--t,1.2s) cubic-bezier(.2,.6,.4,1) forwards}

/* odsłanianie przy przewijaniu (tylko z JS) */
.js-ruch .odslon{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s,box-shadow .3s,border-color .3s}
.js-ruch .odslon.widoczne{opacity:1;transform:none;filter:none}
.js-ruch .karta.odslon.widoczne{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .2s ease-out,filter .8s,box-shadow .3s,border-color .3s}
.tytul-anim{animation:tytul 1s cubic-bezier(.2,.8,.2,1) both}

@keyframes aur1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(10%,-8%) scale(1.15)}66%{transform:translate(-6%,6%) scale(.9)}}
@keyframes aur2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-12%,10%) scale(1.2)}}
@keyframes aur3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14%,-12%) scale(1.1)}}
@keyframes przelew{to{background-position:250% 0}}
@keyframes puls{0%{box-shadow:0 0 0 0 rgba(18,181,166,.6)}70%{box-shadow:0 0 0 10px rgba(18,181,166,0)}100%{box-shadow:0 0 0 0 rgba(18,181,166,0)}}
@keyframes wypelnij{from{width:0}}
@keyframes tasma{to{transform:translateX(-50%)}}
@keyframes wjazd{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes okno{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@keyframes podskok{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}}
@keyframes tytul{from{opacity:0;transform:translateY(20px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes konfetti{0%{opacity:1;transform:translate(var(--x0),var(--y0)) rotate(0)}100%{opacity:0;transform:translate(calc(var(--x0) + var(--dx)),calc(var(--y0) + var(--dy))) rotate(var(--rot))}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-ruch .odslon{opacity:1;transform:none;filter:none}}
.liczba b span{font:inherit;color:inherit;letter-spacing:inherit}
.impreza:nth-child(6){grid-column:span 6;min-height:170px}@media (max-width:900px){.impreza:nth-child(6){grid-column:1/-1}}@media (max-width:540px){.impreza:nth-child(6){grid-column:auto}}

/* ===== więcej ruchu ===== */
.tasma-2{background:var(--ink);color:#fff;transform:rotate(-1.2deg) scale(1.02);margin-block:-6px 0;position:relative;z-index:2;border-block:1px solid rgba(255,255,255,.1)}
.tasma-2 .tasma-in{animation-direction:reverse;animation-duration:42s}
.tasma-2 .tasma-in span::after{background:var(--akcent);opacity:1}
/* nagłówki wysuwane spod maski, słowo po słowie */
.slowo{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.slowo>span{display:inline-block;transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 60ms)}
.slowa-widoczne .slowo>span{transform:none}
/* zdjęcie karty odsłania się kurtyną */
.js-ruch .karta.odslon .karta-obraz{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1) .15s}
.js-ruch .karta.odslon.widoczne .karta-obraz{clip-path:inset(0)}
/* animowana ramka modułu terminu */
.pas-termin .termin{position:relative;isolation:isolate;border-color:transparent}
.pas-termin .termin::before{content:"";position:absolute;inset:-2px;border-radius:22px;background:conic-gradient(from var(--kat,0deg),var(--akcent),var(--morski),var(--fiolet),var(--akcent));z-index:-2;animation:obrot-kat 5s linear infinite}
.pas-termin .termin::after{content:"";position:absolute;inset:0;border-radius:20px;background:var(--bialy);z-index:-1}
@property --kat{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes obrot-kat{to{--kat:360deg}}
/* światło za kursorem w ciemnych sekcjach */
.ciemna{position:relative;isolation:isolate}
.ciemna::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(520px circle at var(--sx,50%) var(--sy,-30%),rgba(255,90,31,.13),transparent 62%);transition:background .2s}
/* fala po kliknięciu */
.fala{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:fala .6s ease-out forwards;pointer-events:none}
@keyframes fala{to{transform:scale(4);opacity:0}}
/* ceny "nabijają się" */
.karta-cena b{display:inline-block}
/* galeria - pasek realizacji */
.pas-galerii{background:var(--bialy);border-top:1px solid var(--linia);overflow:hidden}
.galeria{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,32%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
@media (max-width:700px){.galeria{grid-auto-columns:80%}}
.galeria-el{margin:0;scroll-snap-align:start;position:relative;border-radius:18px;overflow:hidden;background:var(--ink)}
.galeria-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.galeria-btn img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .4s}
.galeria-el:hover img{transform:scale(1.07);opacity:.85}
.galeria-el figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(10,15,31,.85));color:#fff;font-weight:800;transform:translateY(40%);opacity:0;transition:.35s}
.galeria-el:hover figcaption{transform:none;opacity:1}
@media (hover:none){.galeria-el figcaption{transform:none;opacity:1}}
.lightbox{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));border:0;background:rgba(10,15,31,.95);color:#fff}
.lightbox[open]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.lightbox figure{margin:0;display:grid;gap:10px;justify-items:center;min-width:0}
.lightbox img{max-width:100%;max-height:78vh;border-radius:14px}
.lightbox figcaption{font-weight:800}
.lb-wej{animation:okno .4s cubic-bezier(.2,.8,.2,1)}
.lb-x,.lb-p,.lb-n{width:50px;height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer}
.lb-x{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:16px}
.lb-p:hover,.lb-n:hover,.lb-x:hover{background:var(--akcent);border-color:var(--akcent)}
.lb-licz{position:absolute;bottom:max(16px,env(safe-area-inset-bottom,0px));left:50%;translate:-50% 0;font:700 .9rem var(--f-num);opacity:.8}
@media (prefers-reduced-motion:reduce){.slowo>span{transform:none}.js-ruch .karta.odslon .karta-obraz{clip-path:none}}

/* katalog miejsc imprez */
.katalog-baner{position:relative;display:grid;gap:10px;padding:clamp(24px,4vw,40px);border-radius:24px;background:var(--ink);color:#fff;text-decoration:none;overflow:hidden;isolation:isolate}
.katalog-baner::before{content:"";position:absolute;inset:-40%;background:radial-gradient(35% 50% at 85% 30%,rgba(255,90,31,.45),transparent),radial-gradient(30% 45% at 15% 80%,rgba(18,181,166,.35),transparent);z-index:-1;animation:aur2 18s ease-in-out infinite}
.katalog-baner:hover{color:#fff}
.katalog-liczby{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;color:#B7BED3;font-weight:700}
.katalog-liczby b{font:700 clamp(2rem,5vw,3.4rem)/1 var(--f-num);color:#fff;margin-right:6px}
.katalog-tyt{font:700 clamp(1.3rem,2.6vw,2rem)/1.1 var(--f-disp);letter-spacing:-.02em;max-width:24ch}
.katalog-cta{font-weight:800;color:#FF8A5C}
.katalog-baner:hover .katalog-cta{text-decoration:underline}
.spis-miejsc{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0}
.spis-miejsc a{padding:6px 12px;border:1px solid var(--linia);border-radius:999px;background:var(--bialy);text-decoration:none;color:var(--ink);font-weight:700;font-size:.88rem;transition:background .2s,color .2s}
.spis-miejsc a:hover{background:var(--akcent);border-color:var(--akcent);color:#fff}
.katalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:14px}
.katalog-m{background:var(--bialy);border:1px solid var(--linia);border-radius:18px;padding:22px;display:grid;gap:10px;align-content:start;scroll-margin-top:90px}
.katalog-m h2{font-size:1.4rem}
.katalog-m h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--akcent-ciemny);margin-top:6px}
.miejsca-lista{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.miejsca-lista li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;border-radius:10px;background:var(--tlo)}
.miejsca-lista b{font-weight:800}
.miejsca-lista li>span:not(.miejsca-linki){font-size:.86rem;color:var(--ink-2);grid-column:1}
.miejsca-lista b{grid-column:1}
.miejsca-linki{grid-column:2;grid-row:1/span 2;display:flex;gap:10px;align-items:center}
.miejsca-linki a{font-size:.82rem;font-weight:800}
.katalog-oferta{font-size:.9rem;font-weight:700;padding-top:6px;border-top:1px solid var(--linia)}
.miejsca-zrodlo{font-size:.84rem;color:var(--ink-3);margin:22px 0}

/* podstrony atrakcji i katalog */
.karta h3 a{color:inherit;text-decoration:none}
.karta h3 a:hover{color:var(--akcent-ciemny)}
.atrakcja-uklad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){.atrakcja-uklad{grid-template-columns:1fr}}
.atrakcja-foto{margin:0;border-radius:24px;overflow:hidden;background:#EEF0F6;aspect-ratio:4/3;max-width:100%;border:1px solid var(--linia)}
.atrakcja-foto img{width:100%;height:100%;object-fit:cover}
.atrakcja-dane{display:grid;gap:16px;min-width:0}
.atrakcja-dane .led-rzad{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.atrakcja-dane .led{background:var(--ink)}
.liczniki-kat{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:20px}
.licznik-kat{background:var(--bialy);border:1px solid var(--linia);border-radius:16px;padding:16px;display:grid;gap:4px}
.licznik-kat b{font:700 2rem/1 var(--f-num);color:var(--akcent)}
.licznik-kat span{font-size:.84rem;font-weight:700;color:var(--ink-2)}
.katalog-m summary{list-style:none;cursor:pointer;display:grid;gap:6px;position:relative;padding-right:40px}
.katalog-m summary::-webkit-details-marker{display:none}
.katalog-m summary::after{content:"+";position:absolute;right:0;top:0;width:30px;height:30px;border-radius:8px;background:var(--tlo);display:grid;place-items:center;font-weight:800;transition:transform .3s}
.katalog-m[open] summary::after{transform:rotate(45deg)}
.katalog-krotko{font-size:.86rem;color:var(--ink-2)}
.katalog-krotko b{color:var(--akcent-ciemny)}
.spis-miejsc small{color:var(--ink-3);font-weight:800}
