@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@600;700&display=swap');

/* ==========================================================
   NORSKLING AKADEMIA · design system v1
   Działa wyłącznie wewnątrz .nk-akademia (wrapper na stronach /akademia).
   W Elementorze: klasa .nk-akademia na najwyższym kontenerze strony,
   CSS ładowany przez Custom Code z warunkiem "URL zawiera /akademia".
   ========================================================== */

.nk-akademia {
  --natt: #0D1F2D;
  --fjord: #1B4F72;
  --is: #00B4D8;
  --polarlys: #90E0EF;
  --skygge: #4A6070;
  --border: #E2EDF2;
  --border-open: #BDE4F0;
  --tint: #EAF7FB;
  --white: #FFFFFF;
  --ok: #1E7A55;
  --ok-bg: #E8F6EF;
  --err: #B03A2E;
  --err-bg: #FBEDEB;
  --r2: 8px; --r3: 16px; --r4: 24px; --pill: 100px;
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px; --s5: 48px; --s6: 72px;
  --wrap: 1160px;
  --shadow: 0 10px 30px rgba(13,31,45,.07);
  --f-head: 'Space Grotesk', system-ui, sans-serif;
  --f-body: 'Inter', system-ui, sans-serif;

  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--skygge);
  background: linear-gradient(180deg, #F7FBFD 0%, #EFF7FA 100%);
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
}
.nk-akademia *, .nk-akademia *::before, .nk-akademia *::after { box-sizing: border-box; }
.nk-akademia :where(p, h1, h2, h3, h4, ul, ol, li, table, figure, blockquote) { margin: 0; padding: 0; }
.nk-akademia :where(ul, ol) { list-style: none; }
.nk-akademia img { max-width: 100%; display: block; }

/* ---------- Typografia ---------- */
.nk-akademia :where(h1, h2, h3, h4) { font-family: var(--f-head); color: var(--natt); font-weight: 700; letter-spacing: -0.01em; }
.nk-akademia h1, .nk-akademia .nk-h1 { font-size: clamp(2rem, 5.2vw, 3.4rem); line-height: 1.12; letter-spacing: -0.035em; }
.nk-akademia h2, .nk-akademia .nk-h2 { font-size: clamp(1.35rem, 3vw, 1.7rem); line-height: 1.25; letter-spacing: -0.025em; }
.nk-akademia h3, .nk-akademia .nk-h3 { font-size: 1.15rem; line-height: 1.35; }
.nk-akademia h4 { font-size: 1rem; font-weight: 600; line-height: 1.4; }
.nk-akademia .nk-lead { font-size: 1.12rem; color: var(--skygge); max-width: 620px; }
.nk-akademia .nk-small { font-size: .85rem; }
.nk-akademia strong { color: var(--natt); font-weight: 600; }
.nk-akademia .nk-mark { background-image: linear-gradient(transparent 82%, #90E0EF 82%, #90E0EF 100%, transparent 100%); white-space: nowrap; }
.nk-akademia .nk-rule { width: 88px; height: 4px; border-radius: 2px; background: var(--is); margin: 20px 0 0; }
.nk-akademia .nk-eyebrow { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--fjord); }

/* Linki w treści (motyw nadpisuje na cyjan) */
.nk-akademia a.nk-link, .nk-akademia a.nk-link:link, .nk-akademia a.nk-link:visited { color: var(--fjord) !important; text-decoration: underline !important; text-decoration-color: var(--polarlys) !important; text-underline-offset: 3px; text-decoration-thickness: 2px !important; font-weight: 500; }
.nk-akademia a.nk-link:hover, .nk-akademia a.nk-link:focus { color: var(--natt) !important; }

/* ---------- Layout ---------- */
.nk-akademia .nk-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.nk-akademia .nk-section ,.nk-akademia.nk-section{ padding: var(--s6) 0; }
.nk-akademia .nk-section--tight ,.nk-akademia.nk-section--tight{ padding: var(--s5) 0; }
.nk-akademia .nk-section-head { margin-bottom: var(--s4); max-width: 680px; }
.nk-akademia .nk-section-head p { margin-top: 12px; }
.nk-akademia .nk-grid { display: grid; gap: 20px; }
.nk-akademia .nk-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nk-akademia .nk-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nk-akademia .nk-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nk-akademia .nk-stack > * + * { margin-top: var(--s2); }

/* ---------- Pastylka ---------- */
.nk-akademia .nk-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--border); border-radius: var(--pill); padding: 6px 14px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--natt); line-height: 1.4; }
.nk-akademia .nk-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--is); flex: none; }
.nk-akademia .nk-pill--plain::before { display: none; }

/* ---------- Tag (zagadnienie) ---------- */
.nk-akademia .nk-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.nk-akademia .nk-tag { display: inline-block; background: var(--tint); color: var(--fjord); border-radius: var(--pill); padding: 3px 12px; font-size: .8rem; font-weight: 500; line-height: 1.6; }

/* ---------- Przyciski ---------- */
.nk-akademia a.nk-btn, .nk-akademia a.nk-btn:link, .nk-akademia a.nk-btn:visited, .nk-akademia button.nk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--fjord) !important; color: #FFFFFF !important; text-decoration: none !important;
  border: 1px solid var(--fjord) !important; border-radius: var(--r2); padding: 15px 32px;
  font-family: var(--f-body); font-size: 1rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em;
  cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nk-akademia a.nk-btn:hover, .nk-akademia a.nk-btn:focus, .nk-akademia button.nk-btn:hover, .nk-akademia button.nk-btn:focus-visible {
  background: var(--natt) !important; border-color: var(--natt) !important; color: #FFFFFF !important; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(27,79,114,.22);
}
.nk-akademia a.nk-btn--ghost, .nk-akademia a.nk-btn--ghost:link, .nk-akademia a.nk-btn--ghost:visited, .nk-akademia button.nk-btn--ghost {
  background: var(--white) !important; color: var(--fjord) !important; border: 1px solid var(--border) !important;
}
.nk-akademia a.nk-btn--ghost:hover, .nk-akademia a.nk-btn--ghost:focus, .nk-akademia button.nk-btn--ghost:hover, .nk-akademia button.nk-btn--ghost:focus-visible {
  background: var(--white) !important; color: var(--natt) !important; border-color: var(--border-open) !important; box-shadow: var(--shadow);
}
.nk-akademia .nk-btn--sm { padding: 10px 18px !important; font-size: .9rem !important; }
.nk-akademia .nk-btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; flex: none; }
.nk-akademia .nk-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* ---------- Karty ---------- */
.nk-akademia .nk-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r3); padding: 22px; transition: transform .18s ease, box-shadow .18s ease; }
.nk-akademia .nk-card--hover:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.nk-akademia .nk-card--lg { border-radius: var(--r4); padding: 32px; }
.nk-akademia .nk-card--tint { background: var(--tint); border-color: transparent; }
.nk-akademia .nk-card h3 + p, .nk-akademia .nk-card h3 + .nk-small { margin-top: 6px; }

/* ---------- Ikony ---------- */
.nk-akademia .nk-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--tint); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.nk-akademia .nk-icon svg { width: 20px; height: 20px; stroke: var(--fjord); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.nk-akademia .nk-icon--lg { width: 48px; height: 48px; border-radius: 12px; }
.nk-akademia .nk-icon--lg svg { width: 24px; height: 24px; }

/* ---------- Statystyki ---------- */
.nk-akademia .nk-stats { display: flex; flex-wrap: wrap; margin-top: var(--s4); }
.nk-akademia .nk-stat { padding: 0 26px; border-left: 1px solid var(--border); }
.nk-akademia .nk-stat:first-child { padding-left: 0; border-left: 0; }
.nk-akademia .nk-stat b { display: block; font-family: var(--f-head); font-weight: 700; color: var(--natt); font-size: 1.7rem; line-height: 1.2; letter-spacing: -0.025em; }
.nk-akademia .nk-stat span { font-size: .8rem; }

/* ---------- Krótka odpowiedź ---------- */
.nk-akademia .nk-answer { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--is); border-radius: var(--r3); padding: 22px 26px; }
.nk-akademia .nk-answer .nk-eyebrow { display: block; margin-bottom: 8px; }
.nk-akademia .nk-answer p:first-of-type { font-weight: 600; color: var(--natt); }
.nk-akademia .nk-answer p + p { margin-top: 8px; }

/* ---------- Checklista ---------- */
.nk-akademia .nk-check li { position: relative; padding-left: 30px; }
.nk-akademia .nk-check li + li { margin-top: 8px; }
.nk-akademia .nk-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--fjord); font-weight: 700; }

/* ---------- Tabela ---------- */
.nk-akademia .nk-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border); border-radius: var(--r3); overflow: hidden; background: var(--white); }
.nk-akademia .nk-table th { background: var(--tint); color: var(--natt); text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; text-align: left; padding: 14px 18px; font-weight: 700; }
.nk-akademia .nk-table td { padding: 14px 18px; border-top: 1px solid var(--border); vertical-align: top; }

/* ---------- FAQ / akordeon ---------- */
.nk-akademia .nk-faq details { background: var(--white); border: 1px solid var(--border); border-radius: var(--r3); padding: 0 22px; }
.nk-akademia .nk-faq details + details { margin-top: 10px; }
.nk-akademia .nk-faq details[open] { border-color: var(--border-open); }
.nk-akademia .nk-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font-family: var(--f-head); font-weight: 600; color: var(--natt); font-size: 1.02rem; }
.nk-akademia .nk-faq summary::-webkit-details-marker { display: none; }
.nk-akademia .nk-faq summary::after { content: "+"; color: var(--fjord); font-size: 1.4rem; line-height: 1; font-weight: 500; }
.nk-akademia .nk-faq details[open] summary::after { content: "−"; }
.nk-akademia .nk-faq details > div { padding: 0 0 20px; }

/* ---------- Breadcrumb ---------- */
.nk-akademia .nk-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: .85rem; }
.nk-akademia .nk-crumbs a, .nk-akademia .nk-crumbs a:link, .nk-akademia .nk-crumbs a:visited { color: var(--skygge) !important; text-decoration: none !important; }
.nk-akademia .nk-crumbs a:hover { color: var(--fjord) !important; }
.nk-akademia .nk-crumbs span[aria-hidden] { color: #9AB0BC; }
.nk-akademia .nk-crumbs [aria-current] { color: var(--natt); font-weight: 500; }

/* ---------- Pasek akademii (góra) ---------- */
.nk-akademia .nk-bar { background: rgba(255,255,255,.85); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(8px); }
.nk-akademia .nk-bar .nk-wrap ,.nk-akademia.nk-bar .nk-wrap{ display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.nk-akademia .nk-logo { font-family: var(--f-head); font-weight: 700; color: var(--natt); font-size: 1.15rem; letter-spacing: -0.02em; text-decoration: none !important; }
.nk-akademia .nk-logo em { font-style: normal; color: var(--fjord); font-weight: 600; }
.nk-akademia .nk-bar nav ,.nk-akademia.nk-bar nav{ display: flex; gap: 22px; align-items: center; font-size: .92rem; }
.nk-akademia .nk-bar nav a:not(.nk-btn), .nk-akademia .nk-bar nav a:not(.nk-btn):link, .nk-akademia .nk-bar nav a:not(.nk-btn):visited ,.nk-akademia.nk-bar nav a:not(.nk-btn),.nk-akademia.nk-bar nav a:not(.nk-btn):link,.nk-akademia.nk-bar nav a:not(.nk-btn):visited{ color: var(--natt) !important; text-decoration: none !important; font-weight: 500; }

/* ==========================================================
   STRONA /akademia
   ========================================================== */
.nk-akademia .nk-hero { padding: 72px 0 64px; }
.nk-akademia .nk-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.nk-akademia .nk-hero h1 ,.nk-akademia.nk-hero h1{ margin-top: 18px; }
.nk-akademia .nk-hero .nk-lead ,.nk-akademia.nk-hero .nk-lead{ margin-top: 22px; }
.nk-akademia .nk-hero .nk-btns ,.nk-akademia.nk-hero .nk-btns{ margin-top: 30px; }
.nk-akademia .nk-hero-visual { position: relative; }
.nk-akademia .nk-preview { background: var(--white); border: 1px solid var(--border); border-radius: var(--r4); padding: 18px; box-shadow: 0 24px 60px rgba(13,31,45,.08); }
.nk-akademia .nk-preview-video { aspect-ratio: 16/9; border-radius: 12px; background: linear-gradient(135deg, #1B4F72 0%, #0D1F2D 100%); display: flex; align-items: center; justify-content: center; }
.nk-akademia .nk-preview-video i { width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.95); display: flex; align-items: center; justify-content: center; }
.nk-akademia .nk-preview-video i::after { content: ""; border-left: 15px solid var(--fjord); border-top: 9px solid transparent; border-bottom: 9px solid transparent; margin-left: 4px; }
.nk-akademia .nk-preview-rows { margin-top: 14px; display: grid; gap: 8px; }
.nk-akademia .nk-preview-row { display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; font-size: .88rem; color: var(--natt); font-weight: 500; }
.nk-akademia .nk-preview-row .nk-icon { width: 30px; height: 30px; border-radius: 8px; }
.nk-akademia .nk-preview-row .nk-icon svg { width: 16px; height: 16px; }

.nk-akademia .nk-course { display: flex; flex-direction: column; border-radius: var(--r4); padding: 28px; }
.nk-akademia .nk-course-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.nk-akademia .nk-level { font-family: var(--f-head); font-weight: 700; font-size: 2.6rem; line-height: 1; letter-spacing: -0.04em; color: var(--natt); }
.nk-akademia .nk-course h3 { margin-top: 18px; font-size: 1.3rem; }
.nk-akademia .nk-course .nk-check { margin: 18px 0 22px; font-size: .95rem; }
.nk-akademia .nk-course-meta { display: flex; gap: 18px; font-size: .85rem; padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 20px; }
.nk-akademia .nk-course-meta b { color: var(--natt); }
.nk-akademia .nk-course-meta { margin-top: auto; }
.nk-akademia .nk-course .nk-btn { flex: 1 1 auto; }
.nk-akademia .nk-price { font-family: var(--f-head); font-weight: 700; color: var(--natt); font-size: 1.5rem; letter-spacing: -0.02em; margin-bottom: 14px; }
.nk-akademia .nk-price small { font-family: var(--f-body); font-weight: 400; font-size: .8rem; color: var(--skygge); letter-spacing: 0; margin-left: 6px; }

.nk-akademia .nk-feature { display: flex; flex-direction: column; gap: 14px; }
.nk-akademia .nk-feature h3 { font-size: 1.05rem; }

.nk-akademia .nk-steps { counter-reset: nkstep; }
.nk-akademia .nk-step { position: relative; padding-top: 58px; }
.nk-akademia .nk-step::before { counter-increment: nkstep; content: counter(nkstep); position: absolute; left: 22px; top: 22px; width: 32px; height: 32px; border-radius: 50%; background: var(--fjord); color: #fff; font-family: var(--f-head); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: .95rem; }

.nk-akademia .nk-cta-band { background: var(--white); border: 1px solid var(--border); border-radius: var(--r4); padding: 44px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }

/* ==========================================================
   SZABLON LEKCJI
   ========================================================== */
.nk-akademia .nk-lesson-head { padding: 36px 0 28px; }
.nk-akademia .nk-lesson-head h1 ,.nk-akademia.nk-lesson-head h1{ font-size: clamp(1.8rem, 4.2vw, 2.7rem); margin-top: 14px; }
.nk-akademia .nk-lesson-head .nk-tags ,.nk-akademia.nk-lesson-head .nk-tags{ margin-top: 18px; }
.nk-akademia .nk-lesson-head .nk-pill ,.nk-akademia.nk-lesson-head .nk-pill{ margin-top: 22px; }
.nk-akademia .nk-lesson-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; padding-bottom: 72px; }
.nk-akademia .nk-lesson-main > * + * { margin-top: 28px; }

.nk-akademia .nk-toc { display: flex; flex-wrap: wrap; gap: 8px; }
.nk-akademia .nk-toc a, .nk-akademia .nk-toc a:link, .nk-akademia .nk-toc a:visited { display: inline-flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--border); border-radius: var(--pill); padding: 7px 14px; font-size: .85rem; font-weight: 500; color: var(--natt) !important; text-decoration: none !important; }
.nk-akademia .nk-toc a:hover { border-color: var(--border-open); color: var(--fjord) !important; }
.nk-akademia .nk-toc a b { font-family: var(--f-head); color: var(--fjord); }

.nk-akademia .nk-block { background: var(--white); border: 1px solid var(--border); border-radius: var(--r4); padding: 28px; scroll-margin-top: 84px; }
.nk-akademia .nk-block-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.nk-akademia .nk-block-head h2 { font-size: 1.35rem; }
.nk-akademia .nk-block-head .nk-num { font-family: var(--f-head); font-weight: 700; font-size: .8rem; color: var(--fjord); background: var(--tint); border-radius: 8px; padding: 4px 9px; letter-spacing: .02em; }
.nk-akademia .nk-block-head p { font-size: .9rem; margin-top: 2px; }

.nk-akademia .nk-video { position: relative; aspect-ratio: 16/9; border-radius: var(--r3); overflow: hidden; background: linear-gradient(135deg, #1B4F72 0%, #0D1F2D 100%); }
.nk-akademia .nk-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nk-akademia .nk-video-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: rgba(255,255,255,.85); font-size: .9rem; text-align: center; padding: 20px; }
.nk-akademia .nk-video-ph i { width: 68px; height: 68px; border-radius: 50%; background: rgba(255,255,255,.95); display: flex; align-items: center; justify-content: center; }
.nk-akademia .nk-video-ph i::after { content: ""; border-left: 19px solid var(--fjord); border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 5px; }

.nk-akademia .nk-file { display: flex; align-items: center; gap: 16px; border: 1px solid var(--border); border-radius: var(--r3); padding: 16px 18px; }
.nk-akademia .nk-file-body { flex: 1; min-width: 0; }
.nk-akademia .nk-file-body b { display: block; color: var(--natt); font-weight: 600; line-height: 1.4; }
.nk-akademia .nk-file-body span { font-size: .82rem; }
.nk-akademia .nk-audio-list { display: grid; gap: 10px; margin-top: 14px; }
.nk-akademia .nk-audio { border: 1px solid var(--border); border-radius: var(--r3); padding: 14px 18px; }
.nk-akademia .nk-audio-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 8px; }
.nk-akademia .nk-audio-top b { color: var(--natt); font-weight: 600; font-size: .95rem; }
.nk-akademia .nk-audio-top span { font-size: .8rem; }
.nk-akademia .nk-audio audio { width: 100%; height: 40px; }
.nk-akademia .nk-sublabel { font-family: var(--f-head); font-weight: 600; color: var(--natt); font-size: .95rem; margin-top: 22px; }

.nk-akademia .nk-quizlet { display: flex; align-items: center; gap: 18px; background: var(--tint); border-radius: var(--r3); padding: 20px 22px; margin-top: 18px; }
.nk-akademia .nk-quizlet .nk-icon { background: var(--white); }
.nk-akademia .nk-quizlet div { flex: 1; }
.nk-akademia .nk-quizlet b { display: block; color: var(--natt); font-weight: 600; }
.nk-akademia .nk-quizlet span { font-size: .9rem; }

.nk-akademia .nk-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nk-akademia a.nk-pager-link, .nk-akademia a.nk-pager-link:link, .nk-akademia a.nk-pager-link:visited { display: block; background: var(--white); border: 1px solid var(--border); border-radius: var(--r3); padding: 18px 20px; text-decoration: none !important; color: var(--skygge) !important; transition: transform .18s, box-shadow .18s; }
.nk-akademia a.nk-pager-link:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.nk-akademia .nk-pager-link small { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--fjord); }
.nk-akademia .nk-pager-link b { display: block; color: var(--natt); font-family: var(--f-head); font-weight: 600; margin-top: 4px; line-height: 1.35; }
.nk-akademia .nk-pager-link--next { text-align: right; }
.nk-akademia .nk-pager-link--disabled { opacity: .45; pointer-events: none; }

/* Lista lekcji (sidebar + mobile) */
.nk-akademia .nk-side { position: sticky; top: 84px; }
.nk-akademia .nk-lessons { background: var(--white); border: 1px solid var(--border); border-radius: var(--r4); overflow: hidden; }
.nk-akademia .nk-lessons-head { padding: 18px 20px 14px; border-bottom: 1px solid var(--border); }
.nk-akademia .nk-lessons-head b { display: block; font-family: var(--f-head); color: var(--natt); font-size: 1.05rem; }
.nk-akademia .nk-lessons-head input { margin-top: 12px; width: 100%; border: 1px solid var(--border); border-radius: var(--r2); padding: 9px 12px; font: inherit; font-size: .88rem; color: var(--natt); background: #F7FBFD; outline: none; }
.nk-akademia .nk-lessons-head input:focus { border-color: var(--is); background: #fff; }
.nk-akademia .nk-lessons ol { max-height: calc(100vh - 230px); overflow-y: auto; }
.nk-akademia .nk-lessons li { border-top: 1px solid var(--border); }
.nk-akademia .nk-lessons li:first-child { border-top: 0; }
.nk-akademia .nk-lessons a, .nk-akademia .nk-lessons a:link, .nk-akademia .nk-lessons a:visited { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 12px 20px; text-decoration: none !important; color: var(--skygge) !important; }
.nk-akademia .nk-lessons a:hover { background: #F7FBFD; }
.nk-akademia .nk-lessons .nk-n { font-family: var(--f-head); font-weight: 700; color: var(--fjord); font-size: .9rem; line-height: 1.5; }
.nk-akademia .nk-lessons .nk-t { display: block; color: var(--natt); font-weight: 600; font-size: .9rem; line-height: 1.45; }
.nk-akademia .nk-lessons .nk-d { display: block; font-size: .78rem; line-height: 1.5; margin-top: 2px; }
.nk-akademia .nk-lessons [aria-current="page"] { background: var(--tint) !important; box-shadow: inset 3px 0 0 var(--is); }
.nk-akademia .nk-lessons .nk-empty { padding: 16px 20px; font-size: .85rem; display: none; }
.nk-akademia .nk-lessons details > summary { display: none; }

/* ==========================================================
   ĆWICZENIA INTERAKTYWNE (.nk-ex) · silnik nk-cwiczenia.js
   ========================================================== */
.nk-akademia .nk-ex { border: 1px solid var(--border); border-radius: var(--r3); padding: 22px; background: var(--white); }
.nk-akademia .nk-ex + .nk-ex { margin-top: 18px; }
.nk-akademia .nk-ex-head { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; margin-bottom: 6px; }
.nk-akademia .nk-ex-head h3 { font-size: 1.08rem; }
.nk-akademia .nk-ex-type { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--fjord); background: var(--tint); border-radius: var(--pill); padding: 3px 10px; white-space: nowrap; }
.nk-akademia .nk-ex-intro { font-size: .92rem; margin-bottom: 16px; }
.nk-akademia .nk-ex-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .82rem; margin-bottom: 10px; }
.nk-akademia .nk-ex-bar { height: 4px; border-radius: 2px; background: var(--border); overflow: hidden; margin-bottom: 18px; }
.nk-akademia .nk-ex-bar i { display: block; height: 100%; width: 0; background: var(--is); transition: width .25s ease; }
.nk-akademia .nk-ex-q { font-family: var(--f-head); font-weight: 600; color: var(--natt); font-size: 1.35rem; line-height: 1.35; letter-spacing: -0.015em; }
.nk-akademia .nk-ex-hint { font-size: .85rem; margin-top: 4px; }
.nk-akademia .nk-ex-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.nk-akademia .nk-ex-opts--inline { display: flex; flex-wrap: wrap; }
.nk-akademia button.nk-opt { font: inherit; font-size: .98rem; text-align: left; background: var(--white); color: var(--natt); border: 1px solid var(--border); border-radius: var(--r2); padding: 12px 16px; cursor: pointer; line-height: 1.4; transition: border-color .15s, background .15s; }
.nk-akademia button.nk-opt:hover:not(:disabled) { border-color: var(--is); background: #F7FBFD; }
.nk-akademia button.nk-opt:focus-visible { outline: 2px solid var(--is); outline-offset: 2px; }
.nk-akademia button.nk-opt.is-ok { background: var(--ok-bg); border-color: var(--ok); color: var(--ok); font-weight: 600; }
.nk-akademia button.nk-opt.is-err { background: var(--err-bg); border-color: var(--err); color: var(--err); }
.nk-akademia button.nk-opt:disabled { cursor: default; }
.nk-akademia .nk-ex-feedback { min-height: 26px; margin-top: 14px; font-size: .92rem; }
.nk-akademia .nk-ex-feedback.is-ok { color: var(--ok); font-weight: 600; }
.nk-akademia .nk-ex-feedback.is-err { color: var(--err); }
.nk-akademia .nk-ex-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; }
.nk-akademia .nk-ex-input { font: inherit; font-size: 1.05rem; width: 100%; max-width: 360px; border: 1px solid var(--border); border-radius: var(--r2); padding: 11px 14px; color: var(--natt); outline: none; margin-top: 16px; }
.nk-akademia .nk-ex-input:focus { border-color: var(--is); }
.nk-akademia .nk-ex-input.is-ok { border-color: var(--ok); background: var(--ok-bg); }
.nk-akademia .nk-ex-input.is-err { border-color: var(--err); background: var(--err-bg); }
.nk-akademia .nk-ex-chars { display: flex; gap: 6px; margin-top: 10px; }
.nk-akademia button.nk-char { font: inherit; width: 38px; height: 34px; border: 1px solid var(--border); background: var(--tint); color: var(--fjord); border-radius: 6px; cursor: pointer; font-weight: 600; }
.nk-akademia .nk-ex-built { min-height: 54px; border: 1px dashed var(--border-open); border-radius: var(--r2); padding: 8px; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; background: #F7FBFD; }
.nk-akademia .nk-ex-pool { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.nk-akademia button.nk-word { font: inherit; font-size: 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--r2); padding: 7px 14px; color: var(--natt); cursor: pointer; font-weight: 500; }
.nk-akademia button.nk-word:hover { border-color: var(--is); }
.nk-akademia .nk-ex-built button.nk-word { background: var(--tint); border-color: transparent; color: var(--fjord); }
.nk-akademia .nk-ex-text { background: #F7FBFD; border-left: 4px solid var(--polarlys); border-radius: 0 var(--r2) var(--r2) 0; padding: 14px 18px; margin-bottom: 18px; font-size: .98rem; color: var(--natt); }
.nk-akademia .nk-ex-text p + p { margin-top: 8px; }
.nk-akademia .nk-ex-done { text-align: center; padding: 18px 0 6px; }
.nk-akademia .nk-ex-done b { display: block; font-family: var(--f-head); font-size: 1.5rem; color: var(--natt); letter-spacing: -0.02em; }
.nk-akademia .nk-ex-done p { margin: 6px 0 16px; font-size: .92rem; }
.nk-akademia .nk-ex-review { text-align: left; margin: 0 auto 16px; max-width: 520px; font-size: .88rem; }
.nk-akademia .nk-ex-review li { padding: 6px 0; border-top: 1px solid var(--border); }
.nk-akademia .nk-ex-review li b { display: inline; font-family: var(--f-body); font-size: .88rem; color: var(--err); }
.nk-akademia button.nk-linkbtn { font: inherit; font-size: .85rem; background: none; border: 0; color: var(--fjord); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; padding: 0; }

/* ---------- Responsywność ---------- */
@media (max-width: 1000px) {
  .nk-akademia .nk-lesson-layout { grid-template-columns: 1fr; }
  .nk-akademia .nk-side { position: static; }
  .nk-akademia .nk-lessons ol { max-height: none; }
  .nk-akademia .nk-hero-grid { grid-template-columns: 1fr; }
  .nk-akademia .nk-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nk-akademia .nk-grid--3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nk-akademia { font-size: 16px; }
  .nk-akademia .nk-wrap { padding: 0 16px; }
  .nk-akademia .nk-section ,.nk-akademia.nk-section{ padding: 48px 0; }
  .nk-akademia .nk-hero ,.nk-akademia.nk-hero{ padding: 40px 0; }
  .nk-akademia .nk-btns { flex-direction: column; align-items: stretch; }
  .nk-akademia a.nk-btn, .nk-akademia button.nk-btn { width: 100%; }
  .nk-akademia .nk-ex-foot button.nk-btn { width: auto; }
  .nk-akademia .nk-grid--2, .nk-akademia .nk-grid--4 { grid-template-columns: 1fr; }
  .nk-akademia .nk-block, .nk-akademia .nk-card--lg, .nk-akademia .nk-course { padding: 20px; }
  .nk-akademia .nk-ex { padding: 16px; }
  .nk-akademia .nk-ex-opts { grid-template-columns: 1fr; }
  .nk-akademia .nk-ex-q { font-size: 1.15rem; }
  .nk-akademia .nk-cta-band { grid-template-columns: 1fr; padding: 26px; }
  .nk-akademia .nk-stat { padding: 0 14px; }
  .nk-akademia .nk-stat b { font-size: 1.35rem; }
  .nk-akademia .nk-bar nav a:not(.nk-btn) ,.nk-akademia.nk-bar nav a:not(.nk-btn){ display: none; }
  .nk-akademia .nk-pager { grid-template-columns: 1fr; }
  .nk-akademia .nk-quizlet { flex-direction: column; align-items: flex-start; }
  .nk-akademia .nk-file { flex-wrap: wrap; }
  .nk-akademia .nk-file-body { flex: 1 1 calc(100% - 70px); }
  .nk-akademia .nk-file .nk-btns { width: 100%; flex-direction: row; }
  .nk-akademia .nk-file .nk-btns .nk-btn { flex: 1; width: auto; }
  .nk-akademia .nk-block-head { flex-direction: column; align-items: flex-start; gap: 10px; }
  .nk-akademia .nk-table th, .nk-akademia .nk-table td { padding: 10px 12px; font-size: .88rem; }
}

/* kompatybilnosc z sekcjami Elementora (tylko na czas szkicow) */
.nk-akademia.nk-lesson-head .elementor-widget-heading h1{font-size:clamp(1.8rem,4.2vw,2.7rem)}
.nk-akademia .nk-courselist ol{max-height:none}
body{background:linear-gradient(180deg,#F7FBFD 0%,#EFF7FA 100%)}
.nk-akademia.elementor-section{background:transparent;font-family:var(--f-body)}
.nk-akademia.elementor-section>.elementor-container{max-width:var(--wrap);margin:0 auto;padding:0 24px;display:block}
.nk-akademia .elementor-column{width:100%!important}
.nk-akademia .elementor-widget-wrap{padding:0!important;display:block!important}
.nk-akademia .elementor-widget{width:100%;margin:0!important}
.nk-akademia .elementor-widget:not(:last-child){margin-block-end:0}
.nk-akademia .elementor-heading-title{font-family:var(--f-head);color:var(--natt);font-size:inherit;line-height:inherit;font-weight:700;letter-spacing:inherit}
.nk-akademia h1 .elementor-heading-title,.nk-akademia .elementor-widget-heading h1{font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.12;letter-spacing:-.035em}
.nk-akademia .elementor-widget-heading h2{font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.25;letter-spacing:-.025em}
.nk-bar.nk-akademia.elementor-section{background:rgba(255,255,255,.85);position:sticky;top:0;z-index:20}
.nk-bar.nk-akademia>.elementor-container{padding:0;max-width:none}
.nk-akademia .nk-pt0{padding-top:0!important}
.nk-akademia a.nk-soon{pointer-events:none;opacity:.6;cursor:default}
.nk-narrow>.elementor-container{max-width:860px!important}
.nk-akademia .nk-sh{margin-bottom:var(--s4)}
.nk-akademia .nk-sp{margin-top:12px}.nk-akademia .nk-mt14{margin-top:14px}
.nk-akademia.nk-hero>.elementor-container{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.nk-akademia.nk-lesson-sec>.elementor-container{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;padding-bottom:72px}
.nk-akademia .nk-lesson-main>.elementor-widget-wrap>*+*{margin-top:28px!important}
.nk-akademia .nk-block.elementor-section>.elementor-container{padding:0;max-width:none}
.nk-akademia .elementor-column.nk-side{position:sticky;top:84px}
.nk-akademia .nk-block .elementor-section-wrap,.nk-akademia .nk-block{background:var(--white);border:1px solid var(--border);border-radius:var(--r4);padding:28px;scroll-margin-top:84px}
.nk-akademia .nk-pagerw>.elementor-widget-container .nk-pager{margin:0}
.nk-akademia .nk-ex-wrap+.nk-ex-wrap{margin-top:18px!important}
.nk-akademia .nk-lessons-w{margin-top:var(--s3)}
.nk-akademia .nk-faq .elementor-toggle-item{background:var(--white);border:1px solid var(--border)!important;border-radius:var(--r3);padding:0 22px;margin-top:10px}
.nk-akademia .nk-faq .elementor-tab-title{padding:18px 0;border:0!important;display:flex;justify-content:space-between;align-items:center}
.nk-akademia .nk-faq .elementor-toggle-title{font-family:var(--f-head);font-weight:600;color:var(--natt)!important;font-size:1.02rem}
.nk-akademia .nk-faq .elementor-toggle-icon{order:2;color:var(--fjord)}
.nk-akademia .nk-faq .elementor-tab-content{padding:0 0 20px;border:0!important;color:var(--skygge)}
@media(max-width:1000px){.nk-akademia.nk-hero>.elementor-container,.nk-akademia.nk-lesson-sec>.elementor-container{grid-template-columns:1fr}.nk-akademia .elementor-column.nk-side{position:static}}
@media(max-width:600px){.nk-akademia .nk-stats{flex-wrap:nowrap}.nk-akademia .nk-stat{padding:0 12px;flex:1 1 0;min-width:0}.nk-akademia .nk-stat span{display:block;line-height:1.35}.nk-akademia.elementor-section>.elementor-container{padding:0 16px}.nk-akademia .nk-block{padding:20px}}
