@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Inter+Tight:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* =========================================================================
   AKADEMIA ZFŚS — NOWA SZATA
   Premium dark hero + multi-package selector
   Bazowane na v8 + adaptacja pod 3 pakiety
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --navy:         #071334;
  --navy-deep:    #020A1F;
  --navy-mid:     #142454;
  --navy-light:   #2B468A;
  --navy-wash:    #F1F4FB;

  --cyan:         #00ADEE;
  --cyan-dark:    #0088BC;
  --cyan-wash:    #E8F6FD;
  --cyan-glow:    rgba(0, 173, 238, 0.35);

  --magenta:      #E6007E;
  --magenta-dark: #B8005D;
  --magenta-wash: #FCE5F0;

  --yellow:       #FFE600;
  --yellow-dark:  #D4BE00;
  --yellow-ink:   #524B00;
  --yellow-wash:  #FFFBDC;

  --gold:         #C8AA3D;
  --gold-dark:    #9E831F;
  --gold-wash:    #F7F0D6;

  --ink:          #0A1433;
  --ink-soft:     #2C3756;
  --ink-muted:    #6B7590;
  --ink-faint:    #A2ABC1;

  --paper:        #FFFFFF;
  --paper-soft:   #F7F8FC;
  --paper-warm:   #FBFAF5;

  --rule:         #E1E5EE;
  --rule-soft:    #EEF0F6;

  --success:      #167A3F;
  --success-wash: #DCF7E3;

  --urgent:       #E53935;
  --urgent-wash:  #FDECEC;

  --ff-sans:    'Inter', 'Helvetica Neue', Arial, sans-serif;
  --ff-display: 'Inter Tight', 'Inter', sans-serif;
  --ff-mono:    'JetBrains Mono', 'SFMono-Regular', Menlo, monospace;

  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-md:   1.0625rem;
  --fs-lg:   1.25rem;
  --fs-xl:   1.625rem;
  --fs-2xl:  2.125rem;
  --fs-3xl:  2.75rem;
  --fs-display: 3.75rem;
  --fs-hero: 4.5rem;

  --container: 1240px;
  --gutter: 32px;

  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-pill: 999px;

  --shadow-xs: 0 1px 2px rgba(10, 20, 51, 0.04);
  --shadow-sm: 0 2px 8px rgba(10, 20, 51, 0.06);
  --shadow-md: 0 12px 28px -8px rgba(10, 20, 51, 0.12);
  --shadow-lg: 0 32px 60px -16px rgba(10, 20, 51, 0.18);
  --shadow-xl: 0 48px 80px -20px rgba(10, 20, 51, 0.25);
  --shadow-cyan: 0 10px 30px -10px rgba(0, 173, 238, 0.45);
  --shadow-float: 0 16px 48px -12px rgba(10, 20, 51, 0.25);

  --ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--ff-sans);
  font-size: var(--fs-md);
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--cyan); color: var(--paper); }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }

h1, h2, h3, h4, h5 {
  font-family: var(--ff-display);
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -0.024em;
  font-weight: 700;
}

h1 { font-size: var(--fs-hero); letter-spacing: -0.04em; font-weight: 800; }
h2 { font-size: var(--fs-3xl); letter-spacing: -0.032em; font-weight: 800; }
h3 { font-size: var(--fs-xl); letter-spacing: -0.022em; font-weight: 700; }
h4 { font-size: var(--fs-lg); letter-spacing: -0.018em; font-weight: 700; }

p { margin: 0 0 1em; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--ff-mono); font-size: var(--fs-xs); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--cyan-dark);
}
.eyebrow::before { content: ''; width: 20px; height: 1px; background: currentColor; }
.eyebrow--light { color: rgba(255,255,255,0.75); }

.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }

/* =========================================================================
   SECTIONS
   ========================================================================= */
.section { padding: 80px 0; }
.section--soft { background: var(--paper-soft); }
.section--dark { background: var(--navy); color: var(--paper); }
.section--dark h2, .section--dark h3, .section--dark h4 { color: var(--paper); }

.section-head { max-width: 760px; margin: 0 auto 72px; text-align: center; }
.section-head__title {
  font-family: var(--ff-display); font-size: var(--fs-3xl); font-weight: 800;
  color: var(--navy); letter-spacing: -0.032em;
  margin: 20px 0 16px; line-height: 1.08;
}
.section-head__title em { font-style: normal; color: var(--cyan-dark); }
.section--dark .section-head__title { color: var(--paper); }
.section--dark .section-head__title em { color: var(--cyan); }

.section-head__lede {
  font-size: var(--fs-md); color: var(--ink-soft);
  line-height: 1.7; max-width: 64ch; margin: 0 auto;
}
.section--dark .section-head__lede { color: rgba(255,255,255,0.75); }

/* =========================================================================
   TOPBAR & HEADER
   ========================================================================= */
.topbar {
  background: var(--ink); color: rgba(255,255,255,0.85);
  font-family: var(--ff-mono); font-size: var(--fs-xs);
}
.topbar .container { height: 36px; display: flex; align-items: center; justify-content: space-between; }
.topbar a { color: inherit; transition: color 0.2s; }
.topbar a:hover { color: var(--paper); }
.topbar__group { display: flex; gap: 22px; align-items: center; }
.topbar__dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); margin-right: 8px; animation: pulse 2.4s ease-in-out infinite; }

@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

.header {
  background: rgba(255,255,255,0.96); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--rule);
  position: sticky; top: 0; z-index: 100;
}
.header .container { height: 84px; display: flex; align-items: center; gap: 32px; }

.brand { display: flex; align-items: center; gap: 14px; color: var(--ink); flex-shrink: 0; }
.brand-mark { width: 36px; height: 36px; flex-shrink: 0; }
.header .brand .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.header .brand img.custom-logo { max-height: 56px; width: auto; height: auto; display: block; }
.footer__brand .brand img.custom-logo { max-height: 48px; width: auto; height: auto; display: block; }
.brand__name { font-family: var(--ff-display); font-size: 1.5rem; font-weight: 900; letter-spacing: -0.035em; color: var(--navy); }
.brand__sub { font-family: var(--ff-mono); font-size: 0.7rem; color: var(--ink-muted); padding-left: 10px; border-left: 1px solid var(--rule); }

.nav { display: flex; align-items: center; flex: 1; justify-content: flex-end; }
.nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.nav__list li { list-style: none; margin: 0; }
.nav a {
  padding: 9px 14px; font-size: var(--fs-sm); font-weight: 500;
  color: var(--ink-soft); border-radius: var(--r-sm); transition: all 0.2s;
  text-decoration: none;
  display: block;
}
.nav a:hover { background: var(--rule-soft); color: var(--navy); }
.nav a.is-active,
.nav .current-menu-item > a { background: var(--cyan-wash); color: var(--cyan-dark); font-weight: 600; }

/* Hamburger */
.nav-toggle {
  display: none;
  width: 44px; height: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  cursor: pointer;
  margin-left: auto;
  transition: border-color 0.2s;
}
.nav-toggle:hover { border-color: var(--navy); }
.nav-toggle span {
  display: block;
  width: 22px; height: 2px;
  background: var(--navy);
  margin: 4px auto;
  transition: transform 0.25s var(--ease), opacity 0.2s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Podmenu (dropdown na desktop) */
.nav__list .menu-item-has-children { position: relative; }
.nav__list .menu-item-has-children > a::after {
  content: '▾';
  margin-left: 6px;
  font-size: 0.75em;
  opacity: 0.6;
}
.nav__list .sub-menu {
  list-style: none;
  margin: 0;
  padding: 8px;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 220px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-md);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.15s var(--ease), visibility 0.15s, transform 0.15s var(--ease);
  pointer-events: none;
}
/* niewidzialny mostek pokrywający 4px wizualnej luki — kursor nie gubi :hover
   przechodząc z pozycji menu na podmenu */
.nav__list .sub-menu::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -6px;
  height: 6px;
}
.nav__list .menu-item-has-children:hover > .sub-menu,
.nav__list .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__list .sub-menu li { margin: 0; list-style: none; }
.nav__list .sub-menu a {
  display: block;
  padding: 8px 14px;
  white-space: nowrap;
  border-radius: var(--r-xs);
}
.nav__list .sub-menu a:hover { background: var(--rule-soft); color: var(--navy); }

.actions { display: flex; align-items: center; gap: 10px; }

/* =========================================================================
   BUTTONS
   ========================================================================= */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px;
  font-family: var(--ff-sans); font-size: var(--fs-sm); font-weight: 600;
  letter-spacing: -0.005em;
  border: 1px solid transparent; background: transparent;
  border-radius: var(--r-sm);
  cursor: pointer; transition: all 0.2s;
  text-decoration: none; line-height: 1;
}
.btn__arrow { display: inline-block; transition: transform 0.3s var(--ease); }
.btn:hover .btn__arrow { transform: translateX(4px); }

.btn--primary { background: var(--cyan); color: var(--paper); border-color: var(--cyan); box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: var(--cyan-dark); box-shadow: var(--shadow-cyan); transform: translateY(-1px); }

.btn--navy { background: var(--navy); color: var(--paper); border-color: var(--navy); }
.btn--navy:hover { background: var(--navy-deep); transform: translateY(-1px); }

.btn--ghost { background: transparent; color: var(--navy); border-color: var(--rule); }
.btn--ghost:hover { border-color: var(--navy); background: var(--paper-soft); }

.btn--ghost-dark { background: transparent; color: var(--paper); border-color: rgba(255,255,255,0.3); }
.btn--ghost-dark:hover { border-color: var(--paper); background: rgba(255,255,255,0.08); }

.btn--lg { padding: 17px 28px; font-size: var(--fs-md); }
.btn--sm { padding: 10px 16px; font-size: var(--fs-xs); }

/* =========================================================================
   HERO
   ========================================================================= */
.hero {
  background: var(--navy); color: var(--paper);
  padding: 96px 0 112px;
  position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute;
  top: -300px; right: -200px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, var(--cyan-glow) 0%, transparent 60%);
  pointer-events: none; opacity: 0.4;
}
.hero::after {
  content: ''; position: absolute;
  bottom: -200px; left: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, var(--magenta) 0%, transparent 60%);
  opacity: 0.18; pointer-events: none; filter: blur(40px);
}
.hero .container { position: relative; z-index: 1; }
.hero__inner { max-width: 920px; margin: 0 auto; text-align: center; }

.hero__announce {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px 8px 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-pill);
  font-size: var(--fs-xs); font-weight: 500;
  color: rgba(255,255,255,0.85);
  margin-bottom: 36px;
  backdrop-filter: blur(10px);
}

.hero__announce-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  background: var(--cyan); color: var(--navy);
  border-radius: var(--r-pill);
  font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
}

.hero__title {
  font-family: var(--ff-display);
  font-size: clamp(2.5rem, 6vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.04em; line-height: 1.05;
  color: var(--paper);
  margin-bottom: 28px;
}
.hero__title em { font-style: normal; color: var(--cyan); }
.hero__title .gold {
  background: linear-gradient(135deg, var(--gold) 0%, #E8D38F 50%, var(--gold) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.hero__lede {
  font-size: 1.1875rem; line-height: 1.7;
  color: rgba(255,255,255,0.8);
  max-width: 64ch; margin: 0 auto 48px;
}

.hero__stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
  margin: 56px auto;
  max-width: 720px;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.hero__stat { text-align: center; }
.hero__stat-num {
  font-family: var(--ff-display); font-size: 2.75rem; font-weight: 800;
  color: var(--cyan); letter-spacing: -0.04em; line-height: 1;
  margin-bottom: 8px;
}
.hero__stat-label {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  color: rgba(255,255,255,0.6); text-transform: uppercase;
  letter-spacing: 0.08em; line-height: 1.3;
}

.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }

/* =========================================================================
   PROMO BANNER
   ========================================================================= */
.promo {
  background: linear-gradient(135deg, var(--yellow) 0%, #FFD700 100%);
  padding: 32px 0;
  border-bottom: 4px solid var(--magenta);
  position: relative;
}
.promo__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 32px;
  align-items: center;
}
.promo__icon {
  width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  background: var(--navy); color: var(--yellow);
  border-radius: var(--r-md);
  flex-shrink: 0;
}
.promo__label {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--yellow-ink); font-weight: 700;
  margin-bottom: 4px;
}
.promo__title {
  font-family: var(--ff-display); font-size: var(--fs-xl);
  font-weight: 800; color: var(--navy);
  letter-spacing: -0.022em; margin-bottom: 4px;
}
.promo__desc { color: var(--ink-soft); font-size: var(--fs-sm); margin: 0; }

/* =========================================================================
   AUDIENCE GRID
   ========================================================================= */
.audience-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.audience-item {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: 28px;
  transition: all 0.3s var(--ease);
}
.audience-item:hover {
  border-color: var(--cyan);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.audience-item__ico {
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background: var(--cyan-wash); color: var(--cyan-dark);
  border-radius: var(--r-md);
  margin-bottom: 16px;
}
.audience-item__ico svg { width: 22px; height: 22px; }
.audience-item__title {
  font-family: var(--ff-display); font-size: var(--fs-lg);
  font-weight: 700; color: var(--navy);
  letter-spacing: -0.02em; margin-bottom: 6px;
}
.audience-item__desc { color: var(--ink-soft); font-size: var(--fs-sm); margin: 0; }

/* =========================================================================
   PAKIETY (PACKAGES)
   ========================================================================= */
.section--pakiety { background: var(--paper); }

.pakiety-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  margin-bottom: 48px;
}

.pakiet {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  padding: 36px 32px 32px;
  display: flex; flex-direction: column;
  position: relative;
  transition: all 0.3s var(--ease);
}
.pakiet:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.pakiet--featured {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-mid) 100%);
  color: var(--paper);
  border-color: var(--cyan);
  box-shadow: 0 24px 64px -20px rgba(0, 173, 238, 0.35);
  transform: translateY(-12px);
}
.pakiet--featured:hover {
  transform: translateY(-16px);
  box-shadow: 0 32px 80px -20px rgba(0, 173, 238, 0.45);
}

.pakiet--soldout {
  opacity: 0.85;
  background: var(--paper-soft);
}
.pakiet--soldout:hover {
  opacity: 1;
}

.pakiet__badge {
  position: absolute;
  top: -14px;
  left: 50%; transform: translateX(-50%);
  padding: 6px 16px;
  background: var(--cyan); color: var(--paper);
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: var(--r-pill);
  white-space: nowrap;
  box-shadow: var(--shadow-sm);
}
.pakiet__badge--soldout {
  background: var(--urgent); color: var(--paper);
}

.pakiet__head {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rule);
}
.pakiet--featured .pakiet__head {
  border-bottom-color: rgba(255,255,255,0.15);
}
.pakiet__name {
  font-family: var(--ff-display); font-size: 1.5rem;
  font-weight: 800; letter-spacing: -0.024em;
  color: var(--navy); margin-bottom: 4px;
}
.pakiet--featured .pakiet__name { color: var(--paper); }

.pakiet__for {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  color: var(--ink-muted);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.pakiet--featured .pakiet__for { color: rgba(255,255,255,0.6); }

.pakiet__price { margin-bottom: 28px; }

/* Dwustopniowa cena z terminami (Cena: + linie) */
.pakiet__price-label {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--ink-muted); margin-bottom: 6px;
}
.pakiet__price-line {
  font-family: var(--ff-display); font-size: 1.9rem;
  font-weight: 800; letter-spacing: -0.01em;
  color: var(--navy); line-height: 1.2;
}
.pakiet__price-line + .pakiet__price-line {
  margin-top: 6px;
}
.btn__klik { vertical-align: -3px; margin-left: 4px; flex-shrink: 0; }

.pakiet__price-promo {
  display: flex; align-items: baseline; gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.pakiet__price-promo-label {
  display: inline-block;
  padding: 3px 8px;
  background: var(--magenta); color: var(--paper);
  font-family: var(--ff-mono); font-size: 0.65rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: var(--r-xs);
}
.pakiet__price-promo--regular .pakiet__price-promo-label {
  background: var(--ink-muted);
}
.pakiet__price-main {
  font-family: var(--ff-display);
  font-size: 2.75rem;
  font-weight: 800; letter-spacing: -0.04em;
  color: var(--navy); line-height: 1;
}
.pakiet--featured .pakiet__price-main { color: var(--paper); }

.pakiet__price-vat {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  color: var(--ink-muted); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.pakiet--featured .pakiet__price-vat { color: rgba(255,255,255,0.6); }

.pakiet__price-brutto {
  font-size: var(--fs-sm); color: var(--ink-soft);
  margin-bottom: 12px;
}
.pakiet--featured .pakiet__price-brutto { color: rgba(255,255,255,0.7); }

.pakiet__price-original {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 8px;
  font-size: var(--fs-sm);
}
.pakiet__price-original s { color: var(--ink-muted); }
.pakiet--featured .pakiet__price-original s { color: rgba(255,255,255,0.5); }

.pakiet__price-savings {
  color: var(--success);
  font-weight: 700; font-size: var(--fs-xs);
  background: var(--success-wash);
  padding: 3px 10px;
  border-radius: var(--r-pill);
}
.pakiet--featured .pakiet__price-savings {
  background: rgba(22, 122, 63, 0.25);
  color: #6FE8A0;
}

.pakiet__price-budget {
  font-family: var(--ff-mono);
  font-size: 0.7rem; color: var(--ink-muted);
  font-style: italic;
  border-top: 1px dashed var(--rule);
  padding-top: 8px;
  margin-top: 8px;
}
.pakiet--featured .pakiet__price-budget {
  color: rgba(255,255,255,0.55);
  border-top-color: rgba(255,255,255,0.15);
}

.pakiet__features { margin-bottom: 28px; flex: 1; }
.pakiet__feature-head {
  font-family: var(--ff-mono); font-size: var(--fs-xs);
  color: var(--ink-muted); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  margin-bottom: 14px;
}
.pakiet--featured .pakiet__feature-head { color: rgba(255,255,255,0.6); }

.pakiet__list {
  list-style: none; padding: 0;
  font-size: var(--fs-sm);
  line-height: 1.55;
}
.pakiet__list li {
  position: relative;
  padding: 8px 0 8px 28px;
  border-bottom: 1px solid var(--rule-soft);
  color: var(--ink-soft);
}
.pakiet--featured .pakiet__list li {
  border-bottom-color: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.85);
}
.pakiet__list li:last-child { border-bottom: none; }

.pakiet__list li::before {
  content: '';
  position: absolute;
  left: 4px; top: 14px;
  width: 14px; height: 14px;
  background: var(--cyan-wash);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230088BC' stroke-width='3' stroke-linecap='round'><path d='M20 6 9 17l-5-5'/></svg>");
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-position: center;
}
.pakiet--featured .pakiet__list li::before {
  background-color: rgba(0, 173, 238, 0.25);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300ADEE' stroke-width='3' stroke-linecap='round'><path d='M20 6 9 17l-5-5'/></svg>");
}

.pakiet__cta { width: 100%; justify-content: center; }
.pakiet--featured .pakiet__cta.btn--ghost,
.pakiet--featured .pakiet__cta.btn--primary {
  background: var(--cyan); color: var(--paper); border-color: var(--cyan);
}
.pakiet--featured .pakiet__cta.btn--primary:hover {
  background: var(--paper); color: var(--navy); border-color: var(--paper);
}

.pakiet__note {
  text-align: center;
  font-family: var(--ff-mono); font-size: 0.7rem;
  color: var(--ink-muted); margin: 12px 0 0;
}
.pakiet--featured .pakiet__note { color: rgba(255,255,255,0.5); }

/* Pakiety info row */
.pakiety-info {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  padding: 32px;
  background: var(--paper-soft);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
}
.pakiety-info__item {
  display: flex; align-items: center; gap: 12px;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
}
.pakiety-info__item svg {
  flex-shrink: 0;
  color: var(--cyan-dark);
}

/* =========================================================================
   COMPARE TABLE — KROWIE NA ROWIE
   ========================================================================= */
.section--compare {
  background: var(--paper);
  padding: 96px 0;
}

.compare-wrapper {
  overflow-x: auto;
  margin: 0 -8px;
  padding: 8px;
}

.compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 760px;
  background: var(--paper);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.compare-table thead th {
  padding: 24px 18px;
  vertical-align: top;
  text-align: center;
  position: relative;
  border-bottom: 2px solid var(--rule);
}

.compare-table__feature {
  text-align: left !important;
  background: var(--paper-soft);
  width: 35%;
  vertical-align: top;
  padding: 16px 20px !important;
  font-family: var(--ff-sans);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
}
.compare-table__feature small {
  display: block;
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  color: var(--ink-muted);
  font-weight: 500;
  margin-top: 4px;
  letter-spacing: 0;
  text-transform: none;
}
.compare-gratis {
  color: var(--success) !important;
  background: var(--success-wash);
  padding: 2px 8px !important;
  border-radius: var(--r-xs);
  font-weight: 700 !important;
  display: inline-block !important;
  margin-top: 6px !important;
}

.compare-table__pkg {
  width: 21.66%;
  background: var(--paper);
  position: relative;
}

.compare-table__pkg--minimum { border-top: 4px solid var(--ink-muted); }
.compare-table__pkg--rozszerzony {
  background: var(--cyan-wash);
  border-top: 4px solid var(--cyan);
}
.compare-table__pkg--premium {
  background: var(--paper-warm);
  border-top: 4px solid var(--gold);
}

.compare-table__pkg-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 12px;
  background: var(--cyan);
  color: var(--paper);
  font-family: var(--ff-mono);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: var(--r-pill);
  white-space: nowrap;
  box-shadow: var(--shadow-sm);
  z-index: 2;
}

.compare-table__pkg-name {
  font-family: var(--ff-display);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}
.compare-table__pkg--rozszerzony .compare-table__pkg-name { color: var(--cyan-dark); }
.compare-table__pkg--premium .compare-table__pkg-name { color: var(--gold-dark); }

.compare-table__pkg-for {
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.compare-table__pkg-price {
  font-family: var(--ff-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 4px;
}
.compare-table__pkg--rozszerzony .compare-table__pkg-price { color: var(--cyan-dark); }

.compare-table__pkg-vat {
  font-family: var(--ff-mono);
  font-size: 0.65rem;
  color: var(--ink-muted);
  font-weight: 500;
}

.compare-table__row-section td {
  background: var(--navy);
  color: rgba(255,255,255,0.85);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 10px 20px;
  text-align: left;
}

.compare-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--rule-soft);
  font-size: var(--fs-sm);
  vertical-align: middle;
}

.compare-table__cell {
  text-align: center;
  font-family: var(--ff-display);
  font-weight: 700;
  color: var(--navy);
  font-size: var(--fs-base);
}

.compare-table__cell--featured {
  background: var(--cyan-wash);
}

.compare-table__cell--no {
  color: var(--ink-faint);
  font-weight: 400;
  font-size: 1.25rem;
}

.compare-tick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  background: var(--success-wash);
  color: var(--success);
  border-radius: 50%;
  font-size: var(--fs-base);
  font-weight: 800;
}

.compare-dates {
  display: block;
  margin-top: 6px;
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--cyan-dark);
  letter-spacing: -0.005em;
}
.compare-table__cell--featured .compare-dates { color: var(--navy); }
.compare-table__cell--featured .compare-tick {
  background: var(--cyan);
  color: var(--paper);
}

.compare-table tfoot td {
  padding: 20px 16px;
  background: var(--paper-soft);
  border-top: 2px solid var(--rule);
  text-align: center;
  border-bottom: none;
}
.compare-table__feature--cta {
  text-align: left !important;
  font-family: var(--ff-display);
  font-size: var(--fs-md);
}

/* =========================================================================
   OUTCOMES (efekty kształcenia)
   ========================================================================= */
.outcomes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.outcomes-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: 28px;
  position: relative;
  transition: all 0.3s var(--ease);
}
.outcomes-card:hover {
  border-color: var(--magenta);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.outcomes-card__num {
  font-family: var(--ff-mono); font-size: 0.7rem;
  font-weight: 700;
  color: var(--magenta);
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.outcomes-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
.outcomes-card p {
  color: var(--ink-soft);
  font-size: var(--fs-sm);
  margin: 0;
  line-height: 1.6;
}

/* =========================================================================
   CURRICULUM (program szkolenia)
   ========================================================================= */
.curriculum {
  max-width: 960px;
  margin: 0 auto;
}
.curriculum__summary {
  display: flex; justify-content: space-between; align-items: center;
  padding: 24px 28px;
  background: var(--navy);
  color: var(--paper);
  border-radius: var(--r-md) var(--r-md) 0 0;
  flex-wrap: wrap;
  gap: 16px;
}
.curriculum__summary-title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  letter-spacing: -0.022em;
}
.curriculum__summary-stats {
  display: flex; gap: 24px;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.7);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.curriculum__summary-stat strong {
  color: var(--cyan);
  font-family: var(--ff-display);
  font-size: var(--fs-base);
  font-weight: 800;
}

.chapter {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-top: none;
  transition: all 0.2s;
}
.chapter:last-child { border-radius: 0 0 var(--r-md) var(--r-md); }
.chapter[open] { background: var(--paper-soft); }

.chapter__head {
  display: grid;
  grid-template-columns: 48px 1fr auto 24px;
  gap: 20px;
  align-items: center;
  padding: 22px 28px;
  cursor: pointer;
  list-style: none;
  transition: all 0.2s;
}
.chapter__head::-webkit-details-marker { display: none; }
.chapter__head:hover { background: var(--cyan-wash); }
.chapter[open] .chapter__head { border-bottom: 1px solid var(--rule); }

.chapter__num {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: var(--cyan-wash);
  color: var(--cyan-dark);
  font-family: var(--ff-display);
  font-size: 1.25rem;
  font-weight: 800;
  border-radius: var(--r-sm);
}
.chapter[open] .chapter__num { background: var(--cyan); color: var(--paper); }

.chapter__title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.022em;
}

.chapter__meta {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.chapter__pkg {
  padding: 4px 8px;
  border-radius: var(--r-xs);
  font-weight: 700;
  font-size: 0.65rem;
}
.chapter__pkg--start {
  background: var(--cyan-wash);
  color: var(--cyan-dark);
}
.chapter__pkg--ext {
  background: var(--magenta-wash);
  color: var(--magenta-dark);
}
.chapter__pkg--all {
  background: var(--gold-wash);
  color: var(--gold-dark);
}

.chapter__arrow {
  color: var(--ink-muted);
  transition: transform 0.3s var(--ease);
}
.chapter[open] .chapter__arrow { transform: rotate(180deg); color: var(--cyan-dark); }

.chapter__items {
  padding: 16px 28px 24px 28px;
}
.chapter__item {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--rule-soft);
  font-size: var(--fs-sm);
  align-items: start;
}
.chapter__item:last-child { border-bottom: none; }

.chapter__item-num {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--cyan-dark);
  background: var(--cyan-wash);
  padding: 3px 0;
  text-align: center;
  border-radius: var(--r-xs);
  min-width: 28px;
}
.chapter__item-text {
  color: var(--ink-soft);
  line-height: 1.55;
}

/* =========================================================================
   SZKOLENIA GRID — karty z programami
   ========================================================================= */
.szkolenia-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  max-width: 1080px;
  margin: 0 auto;
}

.szkolenie-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  align-items: start;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: all 0.3s var(--ease);
}
.szkolenie-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--cyan);
  transform: translateY(-2px);
}

.szkolenie-card__media {
  background: var(--paper-soft);
  overflow: hidden;
  width: 280px;
  aspect-ratio: 1 / 1;
  position: sticky;
  top: 28px;
  align-self: start;
}
.szkolenie-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}
.szkolenie-card:hover .szkolenie-card__media img {
  transform: scale(1.04);
}

.szkolenie-card__content {
  padding: 28px 32px;
}

.szkolenie-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.szkolenie-card__pkg,
.szkolenie-card__format {
  display: inline-block;
  padding: 4px 10px;
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: var(--r-xs);
}

.szkolenie-card__pkg--minimum {
  background: var(--success-wash);
  color: var(--success);
}
.szkolenie-card__pkg--rozszerzony {
  background: var(--cyan-wash);
  color: var(--cyan-dark);
}

.szkolenie-card__format {
  background: var(--paper-soft);
  color: var(--ink-soft);
  border: 1px solid var(--rule);
}

.szkolenie-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.024em;
  line-height: 1.2;
  margin-bottom: 8px;
}

.szkolenie-card__lead {
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 16px;
}

.szkolenie-card__program summary {
  display: none;
}
.szkolenie-card__program summary::-webkit-details-marker { display: none; }

/* Program HTML z zachowanymi kolorami, pogrubieniami, podpunktami */
.szkolenie-card__program-html {
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--ink-soft);
}

/* Główne punkty numerowane */
.szkolenie-card__program-html ol {
  list-style: none;
  counter-reset: program-counter 0;
  padding: 0;
  margin: 0;
}

.szkolenie-card__program-html ol > li {
  counter-increment: program-counter;
  position: relative;
  padding: 10px 0 10px 44px;
  border-bottom: 1px solid var(--rule-soft);
}
.szkolenie-card__program-html ol > li:last-child {
  border-bottom: none;
}
.szkolenie-card__program-html ol > li::before {
  content: counter(program-counter);
  position: absolute;
  left: 0;
  top: 10px;
  width: 32px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--cyan-dark);
  background: var(--cyan-wash);
  border-radius: var(--r-xs);
}

/* Fallback dla ol[start] - użyj atrybutu start */
.szkolenie-card__program-html ol[start="2"] { counter-reset: program-counter 1; }
.szkolenie-card__program-html ol[start="3"] { counter-reset: program-counter 2; }
.szkolenie-card__program-html ol[start="4"] { counter-reset: program-counter 3; }
.szkolenie-card__program-html ol[start="5"] { counter-reset: program-counter 4; }
.szkolenie-card__program-html ol[start="6"] { counter-reset: program-counter 5; }
.szkolenie-card__program-html ol[start="7"] { counter-reset: program-counter 6; }
.szkolenie-card__program-html ol[start="8"] { counter-reset: program-counter 7; }
.szkolenie-card__program-html ol[start="9"] { counter-reset: program-counter 8; }
.szkolenie-card__program-html ol[start="10"] { counter-reset: program-counter 9; }
.szkolenie-card__program-html ol[start="11"] { counter-reset: program-counter 10; }
.szkolenie-card__program-html ol[start="12"] { counter-reset: program-counter 11; }
.szkolenie-card__program-html ol[start="13"] { counter-reset: program-counter 12; }
.szkolenie-card__program-html ol[start="14"] { counter-reset: program-counter 13; }
.szkolenie-card__program-html ol[start="15"] { counter-reset: program-counter 14; }
.szkolenie-card__program-html ol[start="16"] { counter-reset: program-counter 15; }
.szkolenie-card__program-html ol[start="17"] { counter-reset: program-counter 16; }
.szkolenie-card__program-html ol[start="18"] { counter-reset: program-counter 17; }
.szkolenie-card__program-html ol[start="19"] { counter-reset: program-counter 18; }
.szkolenie-card__program-html ol[start="20"] { counter-reset: program-counter 19; }
.szkolenie-card__program-html ol[start="21"] { counter-reset: program-counter 20; }
.szkolenie-card__program-html ol[start="22"] { counter-reset: program-counter 21; }

/* Podpunkty (zagnieżdzone ul) */
.szkolenie-card__program-html ul {
  list-style: none;
  padding: 8px 0 4px 0;
  margin: 4px 0 0;
}
.szkolenie-card__program-html ul ul {
  padding: 0;
}
.szkolenie-card__program-html ul li {
  position: relative;
  padding: 4px 0 4px 18px;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.55;
}
.szkolenie-card__program-html ul li[style*="list-style-type: none"] {
  padding-left: 0;
}
.szkolenie-card__program-html ul li[style*="list-style-type: none"]::before {
  display: none;
}
.szkolenie-card__program-html ul > li:not([style])::before,
.szkolenie-card__program-html ul ul > li::before {
  content: '–';
  position: absolute;
  left: 4px;
  top: 4px;
  color: var(--cyan-dark);
  font-weight: 700;
}

/* Pogrubienia i kolory z inline styles */
.szkolenie-card__program-html strong {
  color: var(--navy);
  font-weight: 700;
}
.szkolenie-card__program-html li > strong:first-child,
.szkolenie-card__program-html li > span:first-child strong {
  font-size: 1em;
}

/* Override inline kolorów: magenta (#e81597) i ich warianty */
.szkolenie-card__program-html span[style*="#e81597"],
.szkolenie-card__program-html span[style*="color: #e81597"] {
  color: var(--magenta-dark) !important;
  font-weight: 700;
}
.szkolenie-card__program-html span[style*="#ff0000"] {
  color: var(--urgent) !important;
}
.szkolenie-card__program-html span[style*="#3366ff"] {
  color: var(--cyan-dark) !important;
}
.szkolenie-card__program-html span[style*="#2a2929"],
.szkolenie-card__program-html span[style*="#000000"] {
  color: var(--ink) !important;
}

/* Underline */
.szkolenie-card__program-html u,
.szkolenie-card__program-html span[style*="underline"] {
  text-decoration-color: var(--magenta);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Background podkreślenia */
.szkolenie-card__program-html strong[style*="background-color"] {
  background: var(--yellow-wash);
  padding: 1px 4px;
  border-radius: 3px;
}

/* br i myślniki w głównych li (sub-points stylizowane na zagniezdzona liste) */
.szkolenie-card__program-html ol > li br + br { display: none; }

.szkolenie-card__list {
  margin: 18px 0 0;
  padding-left: 24px;
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--ink-soft);
}
.szkolenie-card__list li {
  padding: 6px 0;
  border-bottom: 1px solid var(--rule-soft);
}
.szkolenie-card__list li:last-child { border-bottom: none; }

/* =========================================================================
   PAKIETY DESCRIPTIONS / labels
   ========================================================================= */
.pakiet__desc {
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rule);
}
.pakiet--featured .pakiet__desc {
  color: rgba(255,255,255,0.85);
  border-bottom-color: rgba(255,255,255,0.15);
}

.pakiet__price-promo-label--gold {
  background: var(--gold);
  color: var(--navy);
}

/* =========================================================================
   MATERIALS GRID
   ========================================================================= */
.materials-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
.materials-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  padding: 36px;
  transition: all 0.3s var(--ease);
}
.materials-card:hover {
  border-color: var(--cyan);
  box-shadow: var(--shadow-md);
}
.materials-card__icon {
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--cyan) 0%, var(--cyan-dark) 100%);
  color: var(--paper);
  border-radius: var(--r-md);
  margin-bottom: 24px;
  box-shadow: var(--shadow-cyan);
}
.materials-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.022em;
  margin-bottom: 16px;
}
.materials-card__list {
  list-style: none;
  padding: 0;
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.materials-card__list li {
  position: relative;
  padding: 8px 0 8px 26px;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--rule-soft);
}
.materials-card__list li:last-child { border-bottom: none; }
.materials-card__list li::before {
  content: '';
  position: absolute;
  left: 4px; top: 16px;
  width: 6px; height: 6px;
  background: var(--cyan);
  border-radius: 50%;
}

/* =========================================================================
   LECTURER SECTION
   ========================================================================= */
.lecturer-section {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 64px;
  align-items: start;
}

.lecturer-section__photo {
  position: sticky;
  top: 110px;
}

.lecturer-section__avatar,
.lecturer-section__avatar-img {
  width: 280px; height: 280px;
  border-radius: 50%;
  display: block;
  margin: 0 auto 24px;
  box-shadow: var(--shadow-xl);
  position: relative;
  object-fit: cover;
  background: linear-gradient(135deg, var(--cyan) 0%, var(--magenta) 100%);
}
.lecturer-section__avatar {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-display);
  font-size: 6rem;
  font-weight: 800;
  color: var(--paper);
  letter-spacing: -0.04em;
}

.lecturer-section__award-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

.lecturer-section__gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
}
.lecturer-section__gallery img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--r-sm);
  transition: transform 0.3s var(--ease);
  cursor: zoom-in;
}
.lecturer-section__gallery img:hover {
  transform: scale(1.04);
  box-shadow: var(--shadow-md);
}

.lecturer-section__awards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lecturer-section__award {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
}
.lecturer-section__award svg {
  color: var(--gold);
}
.lecturer-section__award-rank {
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.018em;
  line-height: 1.2;
}
.lecturer-section__award-name {
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.lecturer-section__name {
  font-family: var(--ff-display);
  font-size: var(--fs-3xl);
  font-weight: 800;
  letter-spacing: -0.032em;
  color: var(--navy);
  margin: 12px 0 8px;
}
.lecturer-section__role {
  font-family: var(--ff-mono);
  font-size: var(--fs-sm);
  color: var(--cyan-dark);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}
.lecturer-section__bio {
  font-size: var(--fs-md);
  color: var(--ink-soft);
  line-height: 1.7;
  margin-bottom: 32px;
}

.lecturer-section__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}
.lecturer-section__col-head {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--magenta);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}
.lecturer-section__list {
  list-style: none;
  padding: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.6;
}
.lecturer-section__list li {
  padding: 6px 0;
  border-bottom: 1px solid var(--rule-soft);
}
.lecturer-section__list li:last-child { border-bottom: none; }

.lecturer-section__publications {
  padding: 24px;
  background: var(--paper-soft);
  border-left: 3px solid var(--cyan);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.lecturer-section__publications p {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.7;
}

/* =========================================================================
   TRUST GRID + REVIEWS
   ========================================================================= */
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 64px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.trust-card {
  padding: 18px 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-sm);
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.8);
  text-align: center;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.trustmate-screen {
  max-width: 880px;
  margin: 0 auto 56px;
  padding: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-md);
  backdrop-filter: blur(8px);
}
.trustmate-screen img {
  width: 100%;
  height: auto;
  border-radius: var(--r-sm);
  display: block;
}

/* References gallery */
.references {
  margin-bottom: 64px;
}
.references__head {
  text-align: center;
  margin-bottom: 32px;
}
.references__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -0.022em;
  color: var(--paper);
  margin-bottom: 6px;
}
.references__subtitle {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.references__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.reference {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: all 0.3s var(--ease);
  cursor: zoom-in;
  position: relative;
}
.reference:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -16px rgba(0, 173, 238, 0.4);
  border-color: var(--cyan);
}
.reference img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: top;
  display: block;
  background: var(--paper-soft);
}
.reference--quote img {
  object-fit: contain;
  background: var(--paper);
  padding: 8px;
}
.reference__caption {
  padding: 14px 16px;
  border-top: 1px solid var(--rule-soft);
  background: var(--paper);
}
.reference__type {
  display: block;
  font-family: var(--ff-mono);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cyan-dark);
  margin-bottom: 4px;
}
.reference--doc .reference__type { color: var(--magenta-dark); }
.reference__source {
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.018em;
  line-height: 1.3;
  display: block;
}
.reference::after {
  content: '⤢';
  position: absolute;
  top: 12px; right: 12px;
  width: 32px; height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 19, 52, 0.85);
  color: var(--cyan);
  font-size: 1rem;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 2;
}
.reference:hover::after { opacity: 1; }

.reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.review {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: 28px;
}
.review--dark {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
}
.review__stars {
  display: flex; gap: 2px;
  color: var(--gold);
  margin-bottom: 16px;
}
.review--dark .review__stars { color: var(--yellow); }
.review__quote {
  font-size: var(--fs-md);
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 20px;
  font-style: italic;
}
.review--dark .review__quote { color: rgba(255,255,255,0.9); }
.review__author {
  border-top: 1px solid var(--rule);
  padding-top: 16px;
}
.review--dark .review__author { border-top-color: rgba(255,255,255,0.1); }
.review__name {
  font-family: var(--ff-display);
  font-weight: 700;
  color: var(--navy);
  font-size: var(--fs-sm);
  letter-spacing: -0.018em;
}
.review--dark .review__name { color: var(--paper); }
.review__role {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}
.review--dark .review__role { color: rgba(255,255,255,0.6); }

/* =========================================================================
   FAQ
   ========================================================================= */
.faq {
  max-width: 800px;
  margin: 0 auto;
}
.faq__item {
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}
.faq__item:first-child { border-top: 1px solid var(--rule); }
.faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 8px;
  cursor: pointer;
  list-style: none;
  font-family: var(--ff-display);
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.018em;
  transition: color 0.2s;
}
.faq__question::-webkit-details-marker { display: none; }
.faq__question:hover { color: var(--cyan-dark); }
.faq__question svg {
  flex-shrink: 0;
  color: var(--ink-muted);
  transition: transform 0.3s var(--ease);
}
.faq__item[open] .faq__question svg {
  transform: rotate(180deg);
  color: var(--cyan-dark);
}
.faq__answer {
  padding: 0 8px 24px;
  color: var(--ink-soft);
  font-size: var(--fs-md);
  line-height: 1.7;
}
.faq__answer a { color: var(--cyan-dark); border-bottom: 1px solid currentColor; }

/* =========================================================================
   OFERTA PDF — box „Pobierz ofertę w PDF" pod wariantami (single szkolenie)
   ========================================================================= */
.szk-oferta-pdf-sekcja { padding: 48px 0; }
.szk-oferta-pdf {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  background: #eef5fc; border: 1px solid #cfe0f2; border-radius: 12px;
  padding: 22px 26px;
}
.szk-oferta-pdf__info { display: flex; align-items: center; gap: 14px; }
.szk-oferta-pdf__ikona { font-size: 30px; line-height: 1; }
.szk-oferta-pdf__txt { display: flex; flex-direction: column; }
.szk-oferta-pdf__tytul { font-size: 18px; color: #12355b; }
.szk-oferta-pdf__opis { color: #50607a; font-size: 14px; }
.szk-oferta-pdf__btn {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  background: #0a66c2; color: #fff; font-weight: 700;
  padding: 12px 22px; border-radius: 8px; text-decoration: none;
}
.szk-oferta-pdf__btn:hover { background: #004a94; color: #fff; }

/* =========================================================================
   FINAL CTA
   ========================================================================= */
.final-cta {
  background: var(--navy);
  color: var(--paper);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, var(--cyan-glow) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(230, 0, 126, 0.25) 0%, transparent 50%);
  pointer-events: none;
}
.final-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.final-cta__title {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--paper);
  margin-bottom: 20px;
}
.final-cta__title em {
  font-style: normal;
  color: var(--cyan);
}
.final-cta__lede {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.75);
  margin-bottom: 36px;
}
.final-cta__buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

/* =========================================================================
   FOOTER
   ========================================================================= */
.footer {
  background: var(--ink);
  color: rgba(255,255,255,0.7);
  padding: 72px 0 28px;
  font-size: var(--fs-sm);
}
.footer__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer__brand .brand__name { color: var(--paper); }
.footer__tagline {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  line-height: 1.6;
  color: rgba(255,255,255,0.5);
  margin: 16px 0 0;
}
.footer__heading {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--paper);
  font-weight: 600;
  margin-bottom: 16px;
}
.footer__list { list-style: none; padding: 0; }
.footer__list li { padding: 4px 0; }
.footer__list a {
  color: rgba(255,255,255,0.65);
  transition: color 0.2s;
}
.footer__list a:hover { color: var(--cyan); }
.footer__contact a {
  color: rgba(255,255,255,0.7);
  line-height: 2;
  transition: color 0.2s;
}
.footer__contact a:hover { color: var(--cyan); }
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 28px;
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.5);
  flex-wrap: wrap;
  gap: 12px;
}
.footer__bottom a {
  margin-left: 24px;
  transition: color 0.2s;
}
.footer__bottom a:hover { color: var(--cyan); }

/* =========================================================================
   MATERIAŁY (E-booki + Wzory + Excel)
   ========================================================================= */
.materialy-block {
  margin-bottom: 64px;
}
.materialy-block:last-child { margin-bottom: 0; }

.materialy-block__head {
  display: grid;
  grid-template-columns: 56px 1fr;
  grid-template-rows: auto auto;
  gap: 4px 20px;
  align-items: center;
  margin-bottom: 32px;
}
.materialy-block__head .materialy-block__icon {
  grid-row: 1 / 3;
}
.materialy-block__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--cyan) 0%, var(--cyan-dark) 100%);
  color: var(--paper);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-cyan);
}
.materialy-block__icon--magenta {
  background: linear-gradient(135deg, var(--magenta) 0%, var(--magenta-dark) 100%);
  box-shadow: 0 10px 30px -10px rgba(230, 0, 126, 0.45);
}
.materialy-block__icon--green {
  background: linear-gradient(135deg, var(--success) 0%, #0E5E2F 100%);
  box-shadow: 0 10px 30px -10px rgba(22, 122, 63, 0.45);
}
.materialy-block__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -0.022em;
  color: var(--navy);
  margin: 0;
}
.materialy-block__desc {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
}

/* E-booki */
.ebooki-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ebook-card {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: all 0.3s var(--ease);
}
.ebook-card:hover {
  border-color: var(--cyan);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.ebook-card__media {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--paper-soft);
}
.ebook-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}
.ebook-card:hover .ebook-card__media img {
  transform: scale(1.04);
}
.ebook-card__badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  background: var(--navy);
  color: var(--paper);
  font-family: var(--ff-mono);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: var(--r-xs);
  box-shadow: var(--shadow-sm);
}
.ebook-card__content {
  padding: 24px 24px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.ebook-card__source {
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cyan-dark);
  margin-bottom: 8px;
}
.ebook-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 800;
  letter-spacing: -0.022em;
  color: var(--navy);
  margin: 0 0 12px;
  line-height: 1.2;
}
.ebook-card__desc {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.6;
}

/* Wzory dokumentów */
.dokumenty-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.dokument-card {
  position: relative;
  padding: 24px 24px 20px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  transition: all 0.2s;
}
.dokument-card:hover {
  border-color: var(--magenta);
  box-shadow: var(--shadow-sm);
}
.dokument-card--gratis {
  background: linear-gradient(160deg, var(--success-wash) 0%, #C5F2D5 100%);
  border-color: var(--success);
}
.dokument-card__gratis-badge {
  position: absolute;
  top: -10px;
  left: 16px;
  padding: 4px 12px;
  background: var(--success);
  color: var(--paper);
  font-family: var(--ff-mono);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  border-radius: var(--r-xs);
  box-shadow: var(--shadow-sm);
}
.dokument-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-base);
  font-weight: 800;
  letter-spacing: -0.018em;
  color: var(--navy);
  margin: 0 0 12px;
}
.dokument-card__list {
  list-style: none;
  padding: 0;
  font-size: var(--fs-sm);
}
.dokument-card__list li {
  position: relative;
  padding: 6px 0 6px 22px;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--rule-soft);
  line-height: 1.5;
}
.dokument-card__list li:last-child { border-bottom: none; }
.dokument-card__list li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 14px;
  width: 6px;
  height: 6px;
  background: var(--magenta);
  border-radius: 50%;
}
.dokument-card--gratis .dokument-card__list li::before {
  background: var(--success);
}

/* Excel */
.excel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 880px;
}
.excel-item {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  padding: 20px 24px;
  background: var(--success-wash);
  border-left: 4px solid var(--success);
  border-radius: var(--r-md);
  align-items: center;
}
.excel-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--success);
  color: var(--paper);
  border-radius: var(--r-sm);
}
.excel-item__title {
  font-family: var(--ff-display);
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.018em;
  margin-bottom: 2px;
}
.excel-item__desc {
  font-size: var(--fs-xs);
  color: var(--ink-soft);
}

/* =========================================================================
   O AKADEMII (Czym jest Akademia ZFŚS)
   ========================================================================= */
.o-akademii {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}

.o-akademii__block {
  padding: 36px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
}

.o-akademii__block--featured {
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 100%);
  border-color: var(--cyan);
  color: var(--paper);
  box-shadow: 0 24px 48px -16px rgba(0, 173, 238, 0.25);
}

.o-akademii__block-title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -0.022em;
  color: var(--navy);
  margin-bottom: 20px;
}
.o-akademii__block--featured .o-akademii__block-title { color: var(--paper); }

.o-akademii__list {
  list-style: none;
  padding: 0;
  font-size: var(--fs-md);
  line-height: 1.65;
}
.o-akademii__list li {
  position: relative;
  padding: 12px 0 12px 36px;
  border-bottom: 1px solid var(--rule-soft);
  color: var(--ink-soft);
}
.o-akademii__block--featured .o-akademii__list li {
  color: rgba(255,255,255,0.85);
  border-bottom-color: rgba(255,255,255,0.1);
}
.o-akademii__list li:last-child { border-bottom: none; }
.o-akademii__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 12px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--success-wash);
  color: var(--success);
  border-radius: 50%;
  font-weight: 800;
  font-size: 0.75rem;
}
.o-akademii__block--featured .o-akademii__list li::before {
  background: rgba(0, 173, 238, 0.2);
  color: var(--cyan);
}

.o-akademii__highlight {
  padding: 28px 36px;
  background: var(--yellow-wash);
  border-left: 4px solid var(--yellow-dark);
  border-radius: var(--r-md);
  font-size: var(--fs-md);
  line-height: 1.7;
  color: var(--ink);
}
.o-akademii__highlight strong {
  color: var(--navy);
  font-weight: 800;
}

/* =========================================================================
   EFEKTY KSZTAŁCENIA
   ========================================================================= */
.efekty {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
}

.efekty__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  padding: 24px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  align-items: start;
  transition: all 0.3s var(--ease);
}
.efekty__item:hover {
  border-color: var(--cyan);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.efekty__check {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--success);
  color: var(--paper);
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 800;
  flex-shrink: 0;
}

.efekty__body strong {
  display: block;
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.efekty__body p {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.65;
}

/* =========================================================================
   FORMAT SZKOLENIA
   ========================================================================= */
.format-video {
  max-width: 1080px;
  margin: 0 auto 64px;
}

.format-video__placeholder {
  position: relative;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 50%, var(--magenta-dark) 100%);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  cursor: pointer;
  transition: transform 0.3s var(--ease);
}
.format-video__placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 50%, rgba(0, 173, 238, 0.4) 0%, transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(230, 0, 126, 0.3) 0%, transparent 50%);
  opacity: 0.7;
}
.format-video__placeholder:hover { transform: scale(1.01); }

.format-video__play {
  position: relative;
  z-index: 1;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  transition: all 0.3s var(--ease);
}
.format-video__placeholder:hover .format-video__play {
  background: var(--cyan);
  border-color: var(--cyan);
  transform: scale(1.08);
}
.format-video__play svg {
  width: 36px;
  height: 36px;
  margin-left: 6px;
  color: var(--paper);
}

.format-video__caption {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 24px;
}
.format-video__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -0.022em;
  margin-bottom: 8px;
}
.format-video__hint {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.format-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 1080px;
  margin: 0 auto 48px;
}

.format-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: all 0.3s var(--ease);
}
.format-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--cyan);
  transform: translateY(-2px);
}

.format-card__media {
  background: var(--paper-soft);
  border-bottom: 1px solid var(--rule);
  padding: 20px;
  text-align: center;
}
.format-card__media img {
  max-width: 100%;
  height: auto;
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-sm);
}

.format-card__content {
  padding: 28px 32px 32px;
}

.format-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cyan-wash);
  color: var(--cyan-dark);
  border-radius: var(--r-md);
  margin-bottom: 16px;
}

.format-card__title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -0.024em;
  color: var(--navy);
  margin-bottom: 10px;
}

.format-card__desc {
  font-size: var(--fs-md);
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 16px;
}

.format-card__list {
  list-style: none;
  padding: 0;
  font-size: var(--fs-sm);
}
.format-card__list li {
  position: relative;
  padding: 8px 0 8px 28px;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--rule-soft);
}
.format-card__list li:last-child { border-bottom: none; }
.format-card__list li::before {
  content: '';
  position: absolute;
  left: 6px; top: 14px;
  width: 14px; height: 14px;
  background: var(--cyan-wash);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230088BC' stroke-width='3' stroke-linecap='round'><path d='M20 6 9 17l-5-5'/></svg>");
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-position: center;
}

.format-cert {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  align-items: center;
  padding: 28px 36px;
  background: var(--gold-wash);
  border-left: 4px solid var(--gold);
  border-radius: var(--r-md);
  max-width: 1080px;
  margin: 0 auto;
}

.format-cert__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--paper);
  color: var(--gold-dark);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
}

.format-cert__title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin-bottom: 4px;
}

.format-cert p {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  line-height: 1.6;
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1100px) {
  .pakiety-grid { grid-template-columns: 1fr; max-width: 600px; margin-left: auto; margin-right: auto; }
  .pakiet--featured { transform: none; }
  .pakiet--featured:hover { transform: translateY(-4px); }
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .lecturer-section { grid-template-columns: 1fr; gap: 32px; }
  .lecturer-section__photo { position: static; }
  .lecturer-section__avatar,
  .lecturer-section__avatar-img { width: 220px; height: 220px; font-size: 4.5rem; margin: 0 auto 24px; }
  .lecturer-section__awards { max-width: 360px; margin: 0 auto; }
  .lecturer-section__gallery { grid-template-columns: repeat(4, 1fr); max-width: 480px; margin-left: auto; margin-right: auto; }
  .reviews { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .szkolenie-card { grid-template-columns: 220px 1fr; }
  .szkolenie-card__media { width: 220px; }
  .references__grid { grid-template-columns: repeat(2, 1fr); }
  .o-akademii { grid-template-columns: 1fr; }
  .efekty { grid-template-columns: 1fr; }
  .format-grid { grid-template-columns: 1fr; }
  .ebooki-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .dokumenty-grid { grid-template-columns: repeat(2, 1fr); }
  .excel-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .section { padding: 72px 0; }
  .section-head { margin-bottom: 48px; }
  h1 { font-size: 2.25rem; }
  h2 { font-size: 2rem; }
  .nav-toggle { display: block; }
  .header .container { gap: 16px; position: relative; }
  .header .actions { display: none; }
  .nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--paper);
    border-top: 1px solid var(--rule);
    box-shadow: var(--shadow-md);
    padding: 12px 0;
    z-index: 100;
    flex: none;
  }
  .nav.is-open { display: block; }
  .nav__list { flex-direction: column; align-items: stretch; padding: 0 var(--gutter); gap: 0; }
  .nav__list li { width: 100%; }
  .nav a { padding: 14px 16px; }

  /* Podmenu na mobile — jako zagnieżdżona lista, bez dropdown */
  .nav__list .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0 0 0 16px;
    min-width: 0;
    transition: none;
  }
  .nav__list .menu-item-has-children > a::after { display: none; }
  .nav__list .sub-menu a { padding: 10px 16px; }

  .topbar__group:first-child { display: none; }

  .hero { padding: 56px 0 72px; }
  .hero__stats { grid-template-columns: repeat(2, 1fr); gap: 24px; padding: 24px 0; margin: 32px 0; }
  .hero__stat-num { font-size: 2rem; }

  .promo__inner { grid-template-columns: 1fr; gap: 16px; text-align: center; }
  .promo__icon { margin: 0 auto; }

  .audience-grid { grid-template-columns: 1fr; }
  .outcomes-grid { grid-template-columns: 1fr; }
  .materials-grid { grid-template-columns: 1fr; }

  .pakiety-info { grid-template-columns: 1fr; }

  .chapter__head { grid-template-columns: 36px 1fr 24px; gap: 12px; padding: 16px 18px; }
  .chapter__meta { display: none; }
  .chapter__title { font-size: var(--fs-base); }
  .chapter__items { padding: 12px 18px 18px; }

  .lecturer-section__columns { grid-template-columns: 1fr; }

  .trust-grid { grid-template-columns: 1fr; }

  .footer__top { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
  .footer__bottom a { margin-left: 0; margin-right: 16px; }

  .szkolenie-card { grid-template-columns: 1fr; }
  .szkolenie-card__media { width: 100%; aspect-ratio: 16/9; max-height: 220px; position: static; top: auto; }
  .szkolenie-card__content { padding: 24px; }
  .szkolenie-card__title { font-size: var(--fs-lg); }

  .lecturer-section__gallery { grid-template-columns: repeat(2, 1fr); max-width: 320px; }

  .trustmate-screen { padding: 8px; }

  .references__grid { grid-template-columns: 1fr; }
  .reference img { height: 200px; }

  .o-akademii__block { padding: 24px; }
  .o-akademii__highlight { padding: 20px 24px; font-size: var(--fs-sm); }
  .efekty__item { padding: 18px; grid-template-columns: 36px 1fr; gap: 12px; }
  .efekty__check { width: 30px; height: 30px; font-size: 1rem; }

  .format-video__title { font-size: var(--fs-lg); }
  .format-video__play { width: 72px; height: 72px; }
  .format-video__play svg { width: 28px; height: 28px; }
  .format-card__content { padding: 20px 24px 24px; }
  .format-cert { grid-template-columns: 1fr; padding: 24px; gap: 16px; text-align: center; }
  .format-cert__icon { margin: 0 auto; }

  .dokumenty-grid { grid-template-columns: 1fr; }
  .materialy-block__head { grid-template-columns: 48px 1fr; }
  .materialy-block__icon { width: 48px; height: 48px; }
  .materialy-block__title { font-size: var(--fs-lg); }
}

/* =========================================================================
   TREŚĆ SZKOLENIA — .szk-content
   Stylizacja sekcji importowanych z JSON (h3 + p/ol/ul).
   ========================================================================= */

.szk-content { font-size: var(--fs-md); line-height: 1.5; color: var(--ink); }

/* Wprowadzenie — pierwszy paragraf jako callout */
.szk-content > p:first-child {
  font-size: var(--fs-lg);
  line-height: 1.45;
  color: var(--ink-soft);
  padding: 24px 28px;
  background: var(--cyan-wash);
  border-left: 4px solid var(--cyan);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: 0 0 48px;
}
.szk-content > p:first-child strong { color: var(--navy); }

/* Nagłówki sekcji — linia pod tytułem */
.szk-content h3 {
  font-family: var(--ff-display);
  font-size: var(--fs-3xl);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: var(--navy);
  margin: 80px 0 24px;
  padding-bottom: 20px;
  border-bottom: 4px solid var(--navy);
}
.szk-content > h3:first-of-type { margin-top: 40px; }

/* Paragrafy */
.szk-content p { margin: 0 0 14px; }
.szk-content p:last-child { margin-bottom: 0; }

/* Listy uporządkowane — cyfry w kolorze akcentu */
.szk-content ol { list-style: none; padding: 0; margin: 16px 0; counter-reset: item; }
.szk-content ol > li {
  counter-increment: item;
  position: relative;
  padding-left: 36px;
  margin-bottom: 12px;
  line-height: 1.45;
}
.szk-content ol > li::before {
  content: counter(item) '.';
  position: absolute;
  left: 0;
  top: 0;
  min-width: 28px;
  font-family: var(--ff-display);
  font-weight: 700;
  color: var(--navy);
}
/* Obsługa start="N" — WordPress zachowuje atrybut */
.szk-content ol[start="5"]  { counter-reset: item 4; }
.szk-content ol[start="10"] { counter-reset: item 9; }
.szk-content ol[start="12"] { counter-reset: item 11; }
.szk-content ol[start="13"] { counter-reset: item 12; }
.szk-content ol[start="14"] { counter-reset: item 13; }

/* Listy nieuporządkowane — kropki cyan */
.szk-content ul { list-style: none; padding: 0; margin: 16px 0; }
.szk-content ul > li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
  line-height: 1.45;
}
.szk-content ul > li::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 12px;
  width: 7px;
  height: 7px;
  background: var(--cyan);
  border-radius: 50%;
}

/* Podlisty (ul jako sibling po ol — Elementor wrap-pattern) */
/* Struktura z importu: <ol>…</ol><ul><li style="list-style-type:none"><ul>[podpunkty]</ul></li></ul> */
.szk-content > ul { margin-left: 48px; }
.szk-content ul li[style*="list-style-type: none"] {
  padding-left: 0;
  margin-bottom: 0;
}
.szk-content ul li[style*="list-style-type: none"]::before { display: none; }

/* Zagnieżdżona ul — właściwa lista podpunktów */
.szk-content ul ul { margin: 8px 0 16px; padding-left: 0; }
.szk-content ul ul > li {
  padding-left: 22px;
  margin-bottom: 6px;
  line-height: 1.45;
}
.szk-content ul ul > li::before {
  background: var(--magenta);
  left: 4px;
  top: 11px;
  width: 6px;
  height: 6px;
}

/* Silne akcenty tekstowe */
.szk-content strong { color: var(--navy); font-weight: 700; }
.szk-content em     { color: var(--ink-muted); }

/* Stopka programu (asterisk note) — cały paragraf owijany */
.szk-content > p:last-child em {
  display: block;
  font-size: var(--fs-sm);
  color: var(--ink-muted);
  padding-top: 20px;
  margin-top: 32px;
  border-top: 1px solid var(--rule);
}

/* Mobile */
@media (max-width: 720px) {
  .szk-content h3 {
    font-size: var(--fs-2xl);
    margin: 56px 0 20px;
    padding-bottom: 16px;
    border-bottom-width: 3px;
  }
  .szk-content > p:first-child { padding: 20px; font-size: var(--fs-md); }
  .szk-content ol > li { padding-left: 32px; }
  .szk-content ol > li::before { min-width: 24px; }
  .szk-content > ul { margin-left: 24px; }
}

/* =========================================================================
   KARTA PROWADZĄCEGO — [ae_prowadzacy slug="..."]
   ========================================================================= */

.ae-prowadzacy {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 24px 28px;
  background: var(--paper-soft);
  border-left: 4px solid var(--cyan);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: 20px 0 32px;
}
.ae-prowadzacy__media {
  flex-shrink: 0;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid var(--paper);
  box-shadow: var(--shadow-md);
  background: var(--rule-soft);
}
.ae-prowadzacy__img,
.ae-prowadzacy__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ae-prowadzacy__body { flex: 1; min-width: 0; }
.ae-prowadzacy__name {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: 0;
  word-spacing: 0.04em;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.2;
}
.ae-prowadzacy__bio {
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink-soft);
}
.ae-prowadzacy__bio p { margin: 0 0 10px; }
.ae-prowadzacy__bio p:last-child { margin-bottom: 0; }
.ae-prowadzacy__bio strong { color: var(--navy); }

@media (max-width: 640px) {
  .ae-prowadzacy { flex-direction: column; align-items: center; text-align: center; padding: 20px; }
  .ae-prowadzacy__media { width: 160px; height: 160px; }
}

/* =========================================================================
   FAQ — treść wklejona z edytora WP (post_content listy FAQ)
   ========================================================================= */
.ae-faq-head {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
}
.ae-faq-head__title {
  font-family: var(--ff-display);
  font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--navy);
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.2;
}
.ae-faq-content {
  max-width: 820px;
  margin: 0 auto;
  color: var(--ink-soft);
  line-height: 1.65;
  font-size: 1rem;
}
.ae-faq-content p { margin: 0 0 14px; }
.ae-faq-content p:last-child { margin-bottom: 0; }
.ae-faq-content strong,
.ae-faq-content b { color: var(--navy); }
.ae-faq-content h2,
.ae-faq-content h3,
.ae-faq-content h4 {
  font-family: var(--ff-display);
  color: var(--navy);
  font-weight: 700;
  line-height: 1.35;
  margin: 24px 0 10px;
}
.ae-faq-content h3 { font-size: 1.125rem; }
.ae-faq-content h4 { font-size: 1rem; }
.ae-faq-content a { color: var(--cyan-dark); }
.ae-faq-content ul,
.ae-faq-content ol { padding-left: 22px; margin: 8px 0 14px; }
.ae-faq-content ul li,
.ae-faq-content ol li { padding: 2px 0; }
.ae-faq-content > *:first-child { margin-top: 0; }
.ae-faq-content > *:last-child  { margin-bottom: 0; }

/* Accordion (details/summary) — alternatywny tryb FAQ */
.ae-faq-accordion {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ae-faq-accordion .ae-faq-item {
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--paper);
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.ae-faq-accordion .ae-faq-item[open] {
  border-color: var(--cyan);
  box-shadow: var(--shadow-sm);
}
.ae-faq-accordion .ae-faq-item__q {
  list-style: none;
  cursor: pointer;
  padding: 16px 52px 16px 22px;
  font-family: var(--ff-display);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--navy);
  position: relative;
  line-height: 1.4;
}
.ae-faq-accordion .ae-faq-item__q::-webkit-details-marker { display: none; }
.ae-faq-accordion .ae-faq-item__q::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cyan-wash);
  color: var(--cyan-dark);
  font-weight: 700;
  font-size: 18px;
  border-radius: 50%;
}
.ae-faq-accordion .ae-faq-item[open] .ae-faq-item__q::after {
  content: '−';
  background: var(--cyan);
  color: var(--paper);
}
.ae-faq-accordion .ae-faq-item__a {
  padding: 0 22px 18px 22px;
  color: var(--ink-soft);
  line-height: 1.65;
  font-size: 0.9375rem;
}
.ae-faq-accordion .ae-faq-item__a > *:first-child { margin-top: 0; }
.ae-faq-accordion .ae-faq-item__a > *:last-child  { margin-bottom: 0; }
.ae-faq-accordion .ae-faq-item__a a { color: var(--cyan-dark); }

/* =========================================================================
   FILTRY KATALOGU — chipy formatu i kategorii nad listą szkoleń
   ========================================================================= */
.ae-filtry {
  max-width: 1080px;
  margin: 0 auto 32px;
  padding: 20px 24px;
  background: var(--paper-soft);
  border: 1px solid var(--rule);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ae-filtry__grupa {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ae-filtry__label {
  font-family: var(--ff-mono);
  font-size: var(--fs-xs);
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-right: 4px;
  min-width: 90px;
}
.ae-filtry__chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-pill);
  color: var(--ink);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s var(--ease);
  font-family: inherit;
}
.ae-filtry__chip:hover {
  border-color: var(--cyan);
  color: var(--cyan-dark);
}
.ae-filtry__chip.is-active {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--paper);
}
.ae-filtry__chip.is-active:hover {
  background: var(--cyan-dark);
  border-color: var(--cyan-dark);
}
.ae-filtry__count {
  font-size: 0.75rem;
  opacity: 0.7;
}
.ae-filtry__wynik {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--ink-muted);
  font-style: italic;
  min-height: 20px;
}
@media (max-width: 640px) {
  .ae-filtry { padding: 14px 16px; }
  .ae-filtry__label { min-width: 100%; margin-bottom: 4px; }
}

/* =========================================================================
   PRINT — Ctrl+P → Zapisz jako PDF (tylko strona pojedynczego szkolenia)
   Stonowana szarość zamiast kolorów motywu, chrome ukryty.
   ========================================================================= */
@media print {
  /* Scope: tylko strona pojedynczego szkolenia */
  .single-szkolenie {
    background: #fff !important;
    color: #000 !important;
  }

  /* Ukryj chrome — na papierze nieużyteczne */
  .single-szkolenie .topbar,
  .single-szkolenie .header,
  .single-szkolenie .nav-toggle,
  .single-szkolenie #wpadminbar,
  .single-szkolenie .actions,
  .single-szkolenie .btn__arrow,
  .single-szkolenie .hero__lede,
  .single-szkolenie .hero__cta,
  .single-szkolenie .szk-mag-hero__lede,
  .single-szkolenie .szk-warstwa-hero__lede,
  .single-szkolenie .szk-mini__lede,
  .single-szkolenie .footer__list,
  .single-szkolenie .footer__list-wrap,
  .single-szkolenie .footer nav,
  .single-szkolenie .footer__top > div:has(> .footer__list),
  .single-szkolenie .footer__top > div:has(> nav),
  .single-szkolenie .footer .brand-mark {
    display: none !important;
  }

  /* Stopka — dane firmy w wersji drukowalnej (nie ukrywamy, ale odbarwiamy) */
  .single-szkolenie .footer {
    background: #fff !important;
    color: #000 !important;
    border-top: 1px solid #999 !important;
    padding: 12px 0 !important;
    margin-top: 20px !important;
    page-break-inside: avoid;
    font-size: 0.8rem !important;
  }
  .single-szkolenie .footer * {
    color: #000 !important;
    background: transparent !important;
    border-color: #999 !important;
  }
  .single-szkolenie .footer__top {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }
  .single-szkolenie .footer__brand,
  .single-szkolenie .footer__contact {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }
  .single-szkolenie .footer__heading {
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    margin-bottom: 6px !important;
    color: #000 !important;
  }
  .single-szkolenie .footer__bottom {
    border-top: 1px solid #ccc !important;
    padding-top: 8px !important;
    margin-top: 10px !important;
    font-size: 0.72rem !important;
    color: #444 !important;
  }
  .single-szkolenie .footer a {
    color: #000 !important;
    text-decoration: underline !important;
  }
  /* Nie doklejaj URL do maili/telefonów w stopce (byłyby powtórzone) */
  .single-szkolenie .footer a[href^="http"]::after,
  .single-szkolenie .footer a[href^="//"]::after { content: '' !important; }

  /* Hero — białe tło zamiast granatowego, mniejszy tytuł */
  .single-szkolenie .hero,
  .single-szkolenie .szk-mag-hero,
  .single-szkolenie .szk-warstwa-hero {
    background: #fff !important;
    color: #000 !important;
    padding: 8px 0 16px !important;
    box-shadow: none !important;
  }
  .single-szkolenie .hero::before,
  .single-szkolenie .hero::after,
  .single-szkolenie .szk-mag-hero::before,
  .single-szkolenie .szk-mag-hero::after,
  .single-szkolenie .szk-warstwa-hero::before,
  .single-szkolenie .szk-warstwa-hero::after {
    display: none !important;
  }
  .single-szkolenie .hero__title,
  .single-szkolenie .szk-mag-hero__title,
  .single-szkolenie .szk-warstwa-hero__title,
  .single-szkolenie .szk-mini__title {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    color: #000 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 10px !important;
    text-shadow: none !important;
  }
  .single-szkolenie .hero__title em,
  .single-szkolenie .hero__title .gold {
    color: #000 !important;
    background: none !important;
    -webkit-text-fill-color: #000 !important;
  }
  .single-szkolenie .hero__announce {
    background: none !important;
    border: 1px solid #999 !important;
    color: #333 !important;
    backdrop-filter: none !important;
    margin-bottom: 12px !important;
    font-size: 0.75rem !important;
    padding: 4px 10px !important;
  }
  .single-szkolenie .hero__announce-badge {
    background: #eee !important;
    color: #000 !important;
    border: 1px solid #999 !important;
  }
  /* Dopchnij body żeby nie miało marginesu po admin-barze */
  .single-szkolenie.admin-bar,
  .single-szkolenie { margin-top: 0 !important; padding-top: 0 !important; }

  /* FAQ — treść z edytora, czarno-białe */
  .single-szkolenie .ae-faq-content,
  .single-szkolenie .ae-faq-content p { color: #333 !important; }
  .single-szkolenie .ae-faq-content strong,
  .single-szkolenie .ae-faq-content h2,
  .single-szkolenie .ae-faq-content h3,
  .single-szkolenie .ae-faq-content h4,
  .single-szkolenie .ae-faq-head__title { color: #000 !important; }
  .single-szkolenie .ae-faq-content h3,
  .single-szkolenie .ae-faq-content h4 { page-break-after: avoid; }

  /* Przyciski „Zamawiam" — pokaż jako pełny tekst z URL zamiast klikalnego CTA */
  .single-szkolenie .pakiet__cta,
  .single-szkolenie .szk-mag-wariant__cta,
  .single-szkolenie .szk-warstwa-karta__cta,
  .single-szkolenie .szk-mini__row-cta {
    border: 1px solid #000 !important;
    background: #fff !important;
    color: #000 !important;
    text-decoration: none !important;
  }
  .single-szkolenie .pakiet__cta::after,
  .single-szkolenie .szk-mag-wariant__cta::after,
  .single-szkolenie .szk-warstwa-karta__cta::after,
  .single-szkolenie .szk-mini__row-cta::after {
    content: " (" attr(href) ")";
    font-size: 0.75em;
    color: #666;
    word-break: break-all;
  }

  /* Hierarchia wielkości — tytuł największy, potem nagłówki, potem tekst */
  .single-szkolenie h1,
  .single-szkolenie .hero__title,
  .single-szkolenie .szk-mag-hero__title,
  .single-szkolenie .szk-warstwa-hero__title,
  .single-szkolenie .szk-mini__title,
  .single-szkolenie .section-head__title { font-size: 1.5rem !important; line-height: 1.25 !important; }
  .single-szkolenie .szk-content h2,
  .single-szkolenie .ae-faq-head__title,
  .single-szkolenie .pakiet__price-main,
  .single-szkolenie .pakiet__price-promo,
  .single-szkolenie .szk-mag-wariant__cena,
  .single-szkolenie .szk-warstwa-karta__cena,
  .single-szkolenie .szk-mini__row-cena { font-size: 1.15rem !important; line-height: 1.3 !important; margin: 14px 0 6px !important; font-weight: 700 !important; }
  .single-szkolenie .szk-content h3,
  .single-szkolenie .ae-faq-content h3 { font-size: 1rem !important; line-height: 1.3 !important; margin: 12px 0 5px !important; }
  .single-szkolenie .szk-content h4,
  .single-szkolenie .ae-faq-content h4 { font-size: 0.9rem !important; line-height: 1.3 !important; margin: 10px 0 4px !important; }
  .single-szkolenie .szk-content,
  .single-szkolenie .szk-content p,
  .single-szkolenie .szk-content li,
  .single-szkolenie .ae-faq-content,
  .single-szkolenie .ae-faq-content p,
  .single-szkolenie .ae-faq-content li {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
  }
  .single-szkolenie .szk-content h2,
  .single-szkolenie .szk-content h3,
  .single-szkolenie .szk-content h4 { page-break-after: avoid; }

  /* Kolory → stonowana szarość */
  .single-szkolenie h1,
  .single-szkolenie h2,
  .single-szkolenie h3,
  .single-szkolenie h4,
  .single-szkolenie h5,
  .single-szkolenie h6 {
    color: #000 !important;
  }
  .single-szkolenie strong,
  .single-szkolenie b { color: #000 !important; }
  .single-szkolenie .eyebrow,
  .single-szkolenie .section-head__title em,
  .single-szkolenie em { color: #333 !important; font-style: italic !important; }

  /* Kolorowe accenty (span[style*="color: #..."]) → szare */
  .single-szkolenie [style*="color: #e81597"],
  .single-szkolenie [style*="color: #ff0000"],
  .single-szkolenie [style*="color: #3366ff"],
  .single-szkolenie [style*="color: #000080"],
  .single-szkolenie [style*="color:#e81597"] {
    color: #000 !important;
    font-weight: 700;
  }

  /* Wypelnienia i podkreślenia — czysta typografia */
  .single-szkolenie mark,
  .single-szkolenie [style*="background-color"] {
    background: #f0f0f0 !important;
    color: #000 !important;
    box-shadow: none !important;
  }

  /* Sekcje szkolenia — szare tła zamiast kolorowych */
  .single-szkolenie .section,
  .single-szkolenie .section--soft {
    background: #fff !important;
    padding: 4px 0 !important;
    page-break-inside: auto;
  }
  .single-szkolenie .container { max-width: 100% !important; padding: 0 !important; }
  /* Nagłówek sekcji („Wybierz opcję" itp.) — zwarty odstęp */
  .single-szkolenie .section-head {
    margin: 4px auto 10px !important;
  }

  /* Warianty / pakiety — jednokolorowe boxy */
  .single-szkolenie .pakiet,
  .single-szkolenie .szk-mag-wariant,
  .single-szkolenie .szk-warstwa-karta,
  .single-szkolenie .szk-mini__row {
    background: #fff !important;
    border: 1px solid #999 !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }

  /* Siatka wariantów — jedna kolumna, boxy zawsze jeden pod drugim */
  .single-szkolenie .pakiety-grid,
  .single-szkolenie .szk-warstwa-warianty__grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .single-szkolenie .pakiet,
  .single-szkolenie .szk-warstwa-karta {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
  }
  .single-szkolenie .pakiet:last-child,
  .single-szkolenie .szk-warstwa-karta:last-child { margin-bottom: 0 !important; }

  /* Nadtytuł „Warianty do zamówienia" — ukryty (redundantny z „Wybierz opcję") */
  .single-szkolenie #warianty .eyebrow,
  .single-szkolenie .szk-warstwa-warianty__eyebrow,
  .single-szkolenie .szk-mag-hero__eyebrow {
    display: none !important;
  }

  /* Kres wewnętrznych linii w boxach wariantów — na papierze niepotrzebne */
  .single-szkolenie #warianty hr,
  .single-szkolenie .pakiet hr,
  .single-szkolenie .szk-mag-wariant hr,
  .single-szkolenie .szk-warstwa-karta hr,
  .single-szkolenie .szk-mini__row hr { display: none !important; }
  .single-szkolenie .pakiet__head,
  .single-szkolenie .pakiet .pakiet__head,
  .single-szkolenie .pakiet__price,
  .single-szkolenie .szk-mag-wariant > *,
  .single-szkolenie .szk-warstwa-karta > * {
    border-bottom: 0 !important;
    border-top: 0 !important;
  }
  .single-szkolenie .pakiet__head {
    margin-bottom: 6px !important;
    padding-bottom: 0 !important;
  }
  .single-szkolenie .pakiet__name { margin-bottom: 0 !important; }
  .single-szkolenie .pakiet__price { margin-bottom: 6px !important; }
  .single-szkolenie .pakiet__price-promo { margin-bottom: 0 !important; }
  .single-szkolenie .pakiet__desc { margin: 4px 0 !important; }

  /* Linki — czarne, ale z URL po tekście */
  .single-szkolenie .szk-content a[href^="http"]::after,
  .single-szkolenie .szk-content a[href^="//"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #666;
  }

  /* Grafika hero szkolenia — mała, żeby nie zjadła strony */
  .single-szkolenie .szk-hero__media img,
  .single-szkolenie .szk-mag-hero img { max-height: 200px !important; }

  /* Prowadzący — czarna ramka */
  .single-szkolenie .ae-prowadzacy {
    border: 1px solid #999 !important;
    box-shadow: none !important;
    background: #fff !important;
    page-break-inside: avoid;
  }

  /* Wyłącz wszelkie animacje / transitions */
  .single-szkolenie * {
    transition: none !important;
    animation: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }

  /* Ustawienia strony PDF */
  @page {
    margin: 15mm 12mm;
    size: A4;
  }
}

/* ============================================================
   BLOK PROMOCYJNY (strona główna)
   ============================================================ */
.promo-banner {
  padding: 40px 0;
}
.promo-banner__link {
  display: block;
  transition: transform .2s ease, box-shadow .2s ease;
}
.promo-banner__link:hover {
  transform: translateY(-3px);
}
.promo-banner picture {
  display: block;
}
.promo-banner__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(7, 19, 52, .12);
}
@media (max-width: 600px) {
  .promo-banner { padding: 24px 0; }
  .promo-banner__img { border-radius: 10px; }
}

/* ============================================================
   HERO — sygnał „czytaj niżej" (zamiast przycisku do wariantów)
   ============================================================ */
.hero__scroll {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.03em;
}
.hero__scroll:hover { color: #fff; }
.hero__scroll-chevron {
  width: 16px;
  height: 16px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  animation: ae-hero-bounce 1.6s ease-in-out infinite;
}
@keyframes ae-hero-bounce {
  0%, 100% { transform: translateY(0) rotate(45deg); }
  50%      { transform: translateY(6px) rotate(45deg); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__scroll-chevron { animation: none; }
}

/* Stopka — link zapisu do newslettera */
.footer__newsletter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  color: var(--cyan);
  font-weight: 600;
  font-size: var(--fs-sm);
  text-decoration: none;
}
.footer__newsletter:hover { color: #fff; text-decoration: underline; }

