/* ZostanDJ – DJ KURS STARTER. Wszystko w obrębie .zs, żeby nie kolidować z motywem. */
.zs{
  --zs-bg:#0E1117; --zs-panel:#161A22; --zs-panel2:#1D222C; --zs-line:#2A303C;
  --zs-ink:#F4F6F9; --zs-soft:#A8B0BF; --zs-blue:#38B6FF; --zs-blue-dark:#1E93DB; --zs-blue-soft:rgba(56,182,255,.14);
  --zs-ok:#3FBF74; --zs-warn:#F0913F; --zs-off:#6B7382;
  --zs-display:"ZS Montserrat","Montserrat","Helvetica Neue",Arial,sans-serif;
  --zs-body:"ZS Source Sans","Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --zs-mono:"ZS Plex Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;
  background:var(--zs-bg); color:var(--zs-ink); font:17px/1.6 var(--zs-body);
  /* Pełna szerokość niezależnie od kontenera motywu (JS dokłada pomiar co do piksela). */
  width:auto !important; max-width:none !important;
  margin-left:0 !important; margin-right:0 !important;
  box-shadow:0 0 0 100vmax var(--zs-bg); clip-path:inset(0 -100vmax);
}
.zs *,.zs *::before,.zs *::after{box-sizing:border-box}
.zs p{margin:0}
.zs a{color:inherit}
.zs img{max-width:100%;height:auto}
.zs-wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.zs h1,.zs h2,.zs h3{font-family:var(--zs-display);line-height:1.1;margin:0;color:var(--zs-ink);letter-spacing:-.02em;text-transform:none}
.zs .zs-h1{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:800}
.zs .zs-h1 span{display:block;color:var(--zs-blue);font-size:.42em;font-weight:700;letter-spacing:.02em;margin-top:14px}
.zs .zs-h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:800;margin-top:10px}
.zs .zs-h2 + *{margin-top:18px}
.zs-eyebrow{font:600 .8rem/1 var(--zs-body);letter-spacing:.16em;text-transform:uppercase;color:var(--zs-blue)}
.zs-lead{color:var(--zs-soft);font-size:1.12rem;max-width:62ch}
.zs-note{color:var(--zs-soft);font-size:.95rem;margin-top:18px !important}
.zs-sec{padding-block:56px}
.zs-sec:last-of-type{padding-bottom:72px}

/* Przyciski */
.zs .zs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 1rem/1.2 var(--zs-display);letter-spacing:-.01em;padding:16px 28px;border-radius:12px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background-color .15s}
.zs .zs-btn--blue{background:var(--zs-blue);color:#08111A}
.zs .zs-btn--blue:hover{background:#5CC4FF;transform:translateY(-1px)}
.zs .zs-btn--ghost{border-color:var(--zs-line);color:var(--zs-ink)}
.zs .zs-btn--ghost:hover{border-color:var(--zs-blue);color:var(--zs-blue)}
.zs .zs-btn--off{background:var(--zs-panel2);color:var(--zs-off);cursor:default}
.zs :focus-visible{outline:3px solid var(--zs-blue);outline-offset:3px}
.zs-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* Hero */
.zs-hero{position:relative;overflow:hidden;padding-block:56px 60px}
.zs-hero-bg{position:absolute;inset:0;background:url(img/hero.webp) 52% 42%/cover no-repeat;opacity:.55}
.zs-hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(70% 80% at 78% 30%,rgba(56,182,255,.22),transparent 65%),
  linear-gradient(100deg,var(--zs-bg) 34%,rgba(14,17,23,.78) 58%,rgba(14,17,23,.55) 100%),
  linear-gradient(180deg,rgba(14,17,23,.5),rgba(14,17,23,.2) 40%,var(--zs-bg))}
.zs-hero-top{position:relative;z-index:1;margin-bottom:clamp(44px,6vw,80px)}
.zs-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:start}
.zs-logo{width:min(560px,82vw);height:auto;display:block;margin:0 auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.55))}
.zs-perks{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px}
.zs-perks li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:var(--zs-ink);font-size:1rem}
.zs-perks li::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--zs-blue);margin-top:8px;box-shadow:0 0 0 5px var(--zs-blue-soft)}

/* Karta najbliższego terminu w hero */
.zs-next{background:rgba(22,26,34,.92);border:1px solid var(--zs-line);border-radius:20px;padding:28px;backdrop-filter:blur(6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.zs-next-head{font:600 .8rem/1 var(--zs-body);letter-spacing:.16em;text-transform:uppercase;color:var(--zs-blue);margin-bottom:18px}
.zs-next-date{display:flex;align-items:center;gap:14px}
.zs-next .zs-d,.zs-term .zs-d{font:800 3.4rem/1 var(--zs-display);color:var(--zs-ink)}
.zs-next .zs-m,.zs-term .zs-m{font:600 .9rem/1.25 var(--zs-body);color:var(--zs-soft);text-transform:uppercase;letter-spacing:.06em}
.zs-next-info{margin-top:16px;display:grid;gap:8px}
.zs-next-info p{font-size:1rem;color:var(--zs-soft)}
.zs-next-info strong{color:var(--zs-ink)}
.zs-next .zs-bar{margin-top:6px}
.zs-next .zs-btn{margin-top:20px;width:100%}
.zs-seats-line{color:var(--zs-soft)}

/* Dwie kolumny + listy */
.zs-two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.zs-checks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}
.zs-checks li{display:grid;grid-template-columns:30px 1fr;gap:12px;color:var(--zs-soft)}
.zs-checks li::before{content:"✓";color:var(--zs-blue);font-weight:800;font-family:var(--zs-display)}

/* Plan dnia */
.zs-timeline{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:2px;background:var(--zs-line);border:1px solid var(--zs-line);border-radius:16px;overflow:hidden}
.zs-timeline li{background:var(--zs-panel);display:grid;grid-template-columns:130px 1fr;gap:20px;padding:18px 24px;align-items:baseline}
.zs-time{font:500 1rem var(--zs-mono);color:var(--zs-blue)}
.zs-timeline li.is-break{background:linear-gradient(90deg,var(--zs-blue-soft),rgba(56,182,255,.05));box-shadow:inset 3px 0 0 var(--zs-blue)}
.zs-timeline li.is-break span:last-child{color:var(--zs-blue);font-weight:600}

/* Terminy */
.zs-terms{display:grid;gap:20px;margin-top:26px}
.zs-term{background:var(--zs-panel);border:1px solid var(--zs-line);border-radius:18px;padding:24px 26px}
.zs-term.is-full{opacity:.72}
.zs-term header{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.zs-term-date{display:flex;align-items:center;gap:12px}
.zs-term h3{font-size:1.3rem;font-weight:800}
.zs-place{color:var(--zs-soft);font-size:.98rem;margin-top:4px !important}
.zs-badge{font:700 .85rem/1 var(--zs-body);padding:9px 14px;border-radius:999px;white-space:nowrap}
.zs-badge--free{background:rgba(63,191,116,.16);color:#7BE0A6}
.zs-badge--last{background:rgba(240,145,63,.16);color:#F5B172}
.zs-badge--full{background:#22262F;color:var(--zs-off)}
.zs-seats{margin-top:22px}
.zs-bar{height:10px;border-radius:999px;background:#232833;overflow:hidden}
.zs-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--zs-blue),var(--zs-blue-dark));border-radius:999px}
.zs-seats p{color:var(--zs-soft);font-size:.95rem;margin-top:10px !important}
.zs-term-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}
.zs-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.zs-price strong{font:800 2rem/1 var(--zs-display);color:var(--zs-ink)}
.zs-price s{color:var(--zs-off)}
.zs-price span{color:var(--zs-soft);font-size:.95rem}
.zs-term-note{color:var(--zs-blue);font-size:.95rem;margin-top:14px !important}
.zs-empty{color:var(--zs-soft);margin-top:20px !important}

/* Aftermovie */
.zs-yt{position:relative;margin-top:26px;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:16/9}
.zs-yt iframe,.zs-yt img{width:100%;height:100%;display:block;border:0;object-fit:cover}
.zs-yt-btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
.zs-play{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:var(--zs-blue);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.zs-play::after{content:"";position:absolute;left:37px;top:28px;border-style:solid;border-width:18px 0 18px 28px;border-color:transparent transparent transparent #08111A}
.zs-yt-btn:hover .zs-play{background:#5CC4FF}

/* Opinie */
.zs-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.zs-review{background:var(--zs-panel);border:1px solid var(--zs-line);border-radius:18px;padding:24px;margin:0;display:flex;flex-direction:column;gap:16px}
.zs-stars{color:var(--zs-blue);letter-spacing:.12em}
.zs-review blockquote{margin:0;color:var(--zs-ink);font-size:1.02rem}
.zs-review figcaption{display:flex;align-items:center;gap:14px;color:var(--zs-soft);font-size:.95rem;margin-top:auto}
.zs-review figcaption img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.zs-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--zs-blue-soft);color:var(--zs-blue);font:800 1.4rem var(--zs-display)}
.zs-review figcaption strong{color:var(--zs-ink)}

/* FAQ */
.zs-faq{margin-top:22px;border-top:1px solid var(--zs-line)}
.zs-faq details{border-bottom:1px solid var(--zs-line);padding:18px 0;margin:0}
.zs-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--zs-display)}
.zs-faq summary::-webkit-details-marker{display:none}
.zs-faq summary::after{content:"+";color:var(--zs-blue);font-family:var(--zs-mono)}
.zs-faq details[open] summary::after{content:"–"}
.zs-faq details p{color:var(--zs-soft);margin-top:12px !important;max-width:70ch}

/* Finał */
.zs-final{background:linear-gradient(180deg,var(--zs-bg),#0B1018)}
.zs-final .zs-lead{margin-top:16px}
.zs-contact{color:var(--zs-soft);font-size:.95rem;margin-top:26px !important}
.zs-contact a{color:var(--zs-blue);text-decoration:none}

@media (max-width:980px){
  .zs-hero-in{grid-template-columns:1fr;gap:32px}
  .zs-logo{margin-inline:auto}
}
@media (max-width:860px){
  .zs-two{grid-template-columns:1fr}
  .zs-reviews{grid-template-columns:1fr}
  .zs-term header{grid-template-columns:auto 1fr;row-gap:14px}
  .zs-term header .zs-badge{grid-column:1/-1;justify-self:start}
  .zs-timeline li{grid-template-columns:90px 1fr;gap:12px;padding:16px 18px}
  .zs-play{width:68px;height:68px;margin:-34px 0 0 -34px}
  .zs-play::after{left:27px;top:20px;border-width:14px 0 14px 22px}
}
@media (prefers-reduced-motion:reduce){ .zs .zs-btn{transition:none} }

/* Galeria z poprzednich edycji */
.zs-gal{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.zs-gal-item{display:block;border-radius:14px;overflow:hidden;background:var(--zs-panel);border:1px solid var(--zs-line);aspect-ratio:4/3}
.zs-gal-item.is-big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.zs-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.zs-gal-item:hover img{transform:scale(1.04)}
.zs-lb{position:fixed;inset:0;z-index:99999;background:rgba(6,9,14,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.zs-lb img{max-width:min(1200px,94vw);max-height:90vh;width:auto;height:auto;border-radius:12px}
.zs-lb-close{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer}
@media (max-width:760px){
  .zs-gal{grid-template-columns:repeat(2,1fr)}
  .zs-gal-item.is-big{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
}

/* Opinie: źródło + zrzut ekranu */
.zs-rev-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.zs-src{font:600 .78rem/1 var(--zs-body);letter-spacing:.04em;padding:7px 12px;border-radius:999px;background:var(--zs-panel2);color:var(--zs-soft);border:1px solid var(--zs-line);text-decoration:none;white-space:nowrap}
a.zs-src:hover{border-color:var(--zs-blue);color:var(--zs-blue)}
.zs-src--google{color:#8AB4F8;border-color:rgba(138,180,248,.35)}
.zs-src--facebook{color:#8FB6FF;border-color:rgba(143,182,255,.35)}
.zs-src--instagram{color:#F09BC8;border-color:rgba(240,155,200,.35)}
.zs-rev-shot{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--zs-line);background:#fff}
.zs-rev-shot img{width:100%;height:auto;display:block}
.zs-rev-shot span{position:absolute;right:10px;bottom:10px;background:rgba(14,17,23,.86);color:#fff;font:600 .78rem/1 var(--zs-body);padding:8px 12px;border-radius:999px}
.zs-rev-shot:hover span{background:var(--zs-blue);color:#08111A}
