/* Strona główna dopasowana do nowego hero (2026-11-02). Działa tylko z body.strona-nowa
   (podgląd ?hero=nowy). Kierunek: chłodne, jasne tło zamiast kremu; grafit hero (#101318)
   wraca w bloku „Praktyczna wiedza” i w pasie liczników; czerwień marki tylko na akcentach
   i przyciskach. Treść kroków i wyróżników w index.php (gałąź $heroNowy). */

body.strona-nowa {
  --n-grafit: #101318;
  --n-grafit-2: #1a1f27;
  /* Ciemne pola: granatowy grafit w gradiencie + delikatna poświata marki (nie czysta czerń) */
  --n-ciemne: radial-gradient(120% 140% at 100% 0%, rgba(239, 62, 54, 0.16) 0%, rgba(239, 62, 54, 0) 45%),
              linear-gradient(135deg, #1e2a3b 0%, #18212e 50%, #232f41 100%);
  --n-tlo: #f3f5f8;
  --n-linia: #e2e6eb;
  --n-szary: #566170;
  background: #fff !important;
}

/* Wspólne nagłówki sekcji */
.strona-nowa .sekcja-tytul {
  margin: 0 0 12px !important;
  font-size: clamp(30px, 3.4vw, 44px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  color: var(--n-grafit) !important;
}
.strona-nowa .sekcja-opis {
  margin: 0 0 48px;
  max-width: 640px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--n-szary);
}
.strona-nowa .tresc h2,
.strona-nowa #szkolenia {
  font-size: clamp(28px, 3vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--n-grafit) !important;
}

/* Jak to działa — cztery kroki na wspólnej osi */
.strona-nowa .kroki { background: var(--n-tlo); padding: 96px 0; }
.strona-nowa .kroki-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px 32px;
}
.strona-nowa .krok-nowy {
  position: relative;
  padding-top: 28px;
  border-top: 2px solid #d3d9e0;
}
.strona-nowa .krok-nowy::before {
  content: '';
  position: absolute;
  left: 0;
  top: -2px;
  width: 48px;
  height: 2px;
  background: var(--brand);
  transition: width 0.4s ease;
}
.strona-nowa .krok-nowy:hover::before { width: 100%; }
.strona-nowa .krok-nr {
  display: block;
  margin-bottom: 18px;
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #c3cad3;
  font-variant-numeric: tabular-nums;
}
.strona-nowa .krok-nowy h3 {
  margin: 0 0 10px !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--n-grafit) !important;
}
.strona-nowa .krok-nowy p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--n-szary); }

/* Blok „Praktyczna wiedza” — grafitowa karta jak hero */
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type {
  background: var(--n-ciemne) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 60px rgba(16, 19, 24, 0.18) !important;
  padding: 44px 48px !important;
}
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .lead { color: #e4e7ec !important; font-size: 19px !important; line-height: 1.6 !important; }
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .telefon {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  box-shadow: none !important;
}
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .telefon-label { color: #b9c0ca !important; }
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .telefon-number { color: #fff !important; }

/* Laptop z prawdziwym ekranem logowania platformy (zamiast małego PNG) */
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type {
  grid-template-columns: minmax(300px, 420px) 1fr !important;
  column-gap: 56px !important;
  align-items: center !important;
}
.strona-nowa .laptop { grid-row: 1 / span 2; width: 100%; filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.45)); }
.strona-nowa .laptop-ekran {
  margin: 0 7%;
  padding: 2.4% 2.4% 3.2%;
  border-radius: 12px 12px 0 0;
  background: #0b0e13;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 0;
}
.strona-nowa .laptop-ekran img { display: block; width: 100%; height: auto; border-radius: 3px; }
.strona-nowa .laptop-podstawa {
  height: 14px;
  border-radius: 2px 2px 14px 14px;
  background: linear-gradient(180deg, #d9dde3 0%, #aab1ba 100%);
  position: relative;
}
.strona-nowa .laptop-podstawa::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 16%;
  height: 5px;
  transform: translateX(-50%);
  border-radius: 0 0 6px 6px;
  background: #9aa2ac;
}
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .lead { margin: 0 !important; align-self: end; }
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .cta-row { align-self: start; margin: 0 !important; align-items: stretch; }
.strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .cta-row > a { min-height: 64px; box-sizing: border-box; }

/* Co wyróżnia — cztery karty */
.strona-nowa .wyrozniki { margin: 88px 0 72px; }
.strona-nowa .wyrozniki .sekcja-tytul { margin-bottom: 32px !important; }
.strona-nowa .wyrozniki-siatka {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px;
}
.strona-nowa .wyroznik {
  padding: 28px 26px;
  border: 1px solid var(--n-linia);
  border-radius: 16px;
  background: #fff;
  transition: border-color 0.2s, transform 0.2s;
}
.strona-nowa .wyroznik:hover { border-color: #c3cad3; transform: translateY(-3px); }
.strona-nowa .wyroznik h3 {
  margin: 0 0 10px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--n-grafit) !important;
}
/* Nazwa marki w nagłówku jak w logo: czerwone „z” */
.strona-nowa .marka { white-space: nowrap; }
.strona-nowa .marka-z { color: var(--brand); }

/* Ilustracje kafli (SVG w index.php) — ożywają po najechaniu */
.strona-nowa .wyroznik { display: flex; flex-direction: column; padding: 14px 14px 26px; }
.strona-nowa .wyroznik h3, .strona-nowa .wyroznik p { padding: 0 12px; }
.strona-nowa .wyroznik-grafika {
  margin-bottom: 22px;
  border-radius: 12px;
  background: var(--n-tlo);
  overflow: hidden;
}
.strona-nowa .wyroznik-grafika svg { display: block; width: 100%; height: auto; }
.strona-nowa .g-fala rect { transform-box: fill-box; transform-origin: center; }
.strona-nowa .wyroznik:hover .g-fala rect { animation: n-fala 0.9s ease-in-out infinite; }
.strona-nowa .wyroznik:hover .g-fala rect:nth-child(2n) { animation-delay: 0.15s; }
.strona-nowa .wyroznik:hover .g-fala rect:nth-child(3n) { animation-delay: 0.3s; }
@keyframes n-fala { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(0.35); } }
.strona-nowa .g-pasek { transform-box: fill-box; transform-origin: left center; transition: transform 0.6s cubic-bezier(.2, .7, .2, 1); }
.strona-nowa .wyroznik:hover .g-pasek-2 { transform: scaleX(1.4); }
.strona-nowa .wyroznik:hover .g-pasek-3 { transform: scaleX(2.2); }
.strona-nowa .g-odznaka, .strona-nowa .g-zegar { transform-box: fill-box; transform-origin: center; transition: transform 0.35s cubic-bezier(.2, .9, .3, 1.4); }
.strona-nowa .wyroznik:hover .g-odznaka, .strona-nowa .wyroznik:hover .g-zegar { transform: scale(1.15); }
.strona-nowa .wyroznik p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--n-szary); }

/* Karty szkoleń */
.strona-nowa .hover-ramka {
  background: #fff !important;
  background-image: none !important;
  border-color: var(--n-linia) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
.strona-nowa .hover-ramka:hover {
  border-color: #c3cad3 !important;
  box-shadow: 0 24px 50px rgba(16, 19, 24, 0.1) !important;
}
.strona-nowa .hover-ramka h3 { color: var(--n-grafit) !important; }
.strona-nowa .celowane-wstep {
  background: var(--n-tlo) !important;
  background-image: none !important;
  border-color: var(--n-linia) !important;
  box-shadow: none !important;
}

/* Dla firm szkoleniowych — ciemny gradientowy pas jak hero, ikona przy każdej funkcji */
.strona-nowa #dla-firm { background: var(--n-ciemne) !important; color: #d3d8df; padding: 40px 0 !important; }
.strona-nowa #dla-firm h2 {
  max-width: 820px;
  color: #fff !important;
  font-size: clamp(30px, 3.4vw, 44px) !important;
  line-height: 1.1 !important;
  margin-bottom: 18px !important;
}
.strona-nowa #dla-firm .m20 > p { color: #b8c0cb !important; max-width: 760px; font-size: 18px !important; line-height: 1.6; margin-bottom: 40px !important; }
.strona-nowa #dla-firm h3 { color: #fff !important; }
.strona-nowa .features-grid .feature {
  background: rgba(255, 255, 255, 0.04) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transition: border-color 0.2s, background 0.2s;
}
.strona-nowa .features-grid .feature:hover { background: rgba(255, 255, 255, 0.07) !important; border-color: rgba(255, 255, 255, 0.22) !important; transform: none !important; }
.strona-nowa .features-grid .feature-text strong { color: #fff !important; }
.strona-nowa .features-grid .feature-text span { color: #aab2bd !important; }
.strona-nowa .features-grid .feature-icon {
  font-size: 0 !important;
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px;
  border-radius: 10px !important;
  background-color: var(--brand) !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  box-shadow: 0 8px 20px rgba(239, 62, 54, 0.3);
}
.strona-nowa .features-grid .feature:nth-child(1) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%229%22%20rx%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%225%22%20rx%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2212%22%20width%3D%227%22%20height%3D%229%22%20rx%3D%221%22/%3E%3Crect%20x%3D%223%22%20y%3D%2216%22%20width%3D%227%22%20height%3D%225%22%20rx%3D%221%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(2) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2222%2012%2018%2012%2015%2021%209%203%206%2012%202%2012%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(3) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22/%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(4) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%22/%3E%3Cpolyline%20points%3D%2214%202%2014%208%2020%208%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2214%22%20r%3D%222.5%22/%3E%3Cpath%20d%3D%22M10.5%2016.2%2010%2020l2-1%202%201-.5-3.8%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(5) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%208A6%206%200%200%200%206%208c0%207-3%209-3%209h18s-3-2-3-9%22/%3E%3Cpath%20d%3D%22M13.73%2021a2%202%200%200%201-3.46%200%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(6) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%2216%22%20height%3D%2220%22%20rx%3D%222%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%226%22%20x2%3D%2216%22%20y2%3D%226%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%2210%22%20x2%3D%2216%22%20y2%3D%2210%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%2214%22%20x2%3D%2212%22%20y2%3D%2214%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%2218%22%20x2%3D%2214%22%20y2%3D%2218%22/%3E%3C/svg%3E"); }
.strona-nowa .features-grid .feature:nth-child(7) .feature-icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cline%20x1%3D%222%22%20y1%3D%2212%22%20x2%3D%2222%22%20y2%3D%2212%22/%3E%3Cpath%20d%3D%22M12%202a15.3%2015.3%200%200%201%204%2010%2015.3%2015.3%200%200%201-4%2010%2015.3%2015.3%200%200%201-4-10%2015.3%2015.3%200%200%201%204-10z%22/%3E%3C/svg%3E"); }
.strona-nowa .partner-cta { box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35) !important; }

/* Liczniki — grafitowy pas */
.strona-nowa .slider2 {
  background: var(--n-ciemne) !important;
  padding: 72px 0 !important;
}
.strona-nowa .slider2 .m {
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.strona-nowa .slider2 .m:first-child { border-left: 0 !important; }
.strona-nowa .slider2 .m:hover { transform: none; }
.strona-nowa .slider2 .img-m img { filter: invert(1); opacity: 0.8; } /* ikony są czarne PNG */
.strona-nowa .slider2 .p-m { color: #aab2bd !important; }
.strona-nowa .slider2 .p-m-b { color: #fff !important; font-size: 52px !important; }

/* Zgodne z prawem — ilustracja zaświadczenia z QR i pieczęcią, lista z ikonami */
.strona-nowa .compliance-card--nowa {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 56px;
  align-items: center;
  max-width: none;
  margin: 96px 0 72px;
  padding: 48px 56px;
  background: var(--n-tlo) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.strona-nowa .compliance-card--nowa::before { content: none; }
.strona-nowa .compliance-grafika svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 20px 30px rgba(16, 19, 24, 0.12)); }
.strona-nowa .compliance-pieczec { transform-box: fill-box; transform-origin: center; transform: rotate(-12deg); transition: transform 0.4s cubic-bezier(.2, .9, .3, 1.4); }
.strona-nowa .compliance-card--nowa:hover .compliance-pieczec { transform: rotate(0deg) scale(1.08); }
.strona-nowa .compliance-card--nowa h3 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: var(--n-grafit) !important;
  margin-bottom: 18px !important;
  max-width: 620px;
}
.strona-nowa .compliance-card--nowa p { font-size: 16px; color: var(--n-szary); max-width: 640px; }
.strona-nowa .compliance-lista {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 12px 32px;
}
.strona-nowa .compliance-lista li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
  color: var(--n-grafit);
}
.strona-nowa .compliance-lista li::before {
  content: '';
  flex: 0 0 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}
/* Stopka — kolumny na gradiencie jak hero (markup: inc/stopka-dane.php, gałąź $heroNowy) */
.strona-nowa .stopka-nowa {
  background: var(--n-ciemne) !important;
  padding: 72px 0 0 !important;
  text-align: left;
  color: #aab2bd !important;
  font-size: 15px !important;
}
.strona-nowa .stopka-nowa { position: relative; isolation: isolate; overflow: hidden; }
/* Wyszarzone zdjęcie hali w tle (to samo co w hero) — pod gradientem, nie konkuruje z tekstem */
.strona-nowa .stopka-nowa::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../images/hero-hala.webp?v=1) 60% 40% / cover no-repeat;
  filter: grayscale(1) contrast(0.9);
  opacity: 0.14;
  mix-blend-mode: luminosity;
}
.strona-nowa .stopka-nowa .rama { text-align: left; position: relative; }
.strona-nowa .stopka-kolumny {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 48px;
  padding-bottom: 56px !important;
}
.strona-nowa .stopka-nowa p { margin: 0 0 12px; line-height: 1.65; }
.strona-nowa .stopka-logo { margin-bottom: 18px !important; }
.strona-nowa .stopka-logo img { display: block; width: 278px; max-width: 100%; height: auto; }
/* Domena bez marki platformy: logo partnera na biało w miejscu naszego. */
.strona-nowa .stopka-logo-partnera img { width: auto; height: 46px; filter: brightness(0) invert(1); }
.strona-nowa .stopka-nazwa { font-size: 18px; font-weight: 700; color: #fff; line-height: 1.35 !important; }
.strona-nowa .stopka-nazwa span { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 500; color: #8b94a1; }
.strona-nowa .stopka-marka p:last-child { max-width: 360px; }
.strona-nowa .stopka-naglowek { font-size: 13px; font-weight: 600; color: #fff; margin-bottom: 16px !important; }
.strona-nowa .stopka-linki, .strona-nowa .stopka-kontakt { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.strona-nowa .stopka-nowa a { color: #d3d8df !important; text-decoration: none !important; }
.strona-nowa .stopka-nowa a:hover { color: #fff !important; text-decoration: underline !important; text-underline-offset: 4px; }
.strona-nowa .stopka-kontakt a:first-of-type { font-size: 20px; font-weight: 700; color: #fff !important; }
.strona-nowa .stopka-kontakt p:not(.stopka-naglowek) { margin-top: 8px; font-size: 14px; }
.strona-nowa .stopka-dol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  padding-top: 22px !important;
  padding-bottom: 26px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13px;
  color: #8b94a1;
}
.strona-nowa .stopka-dol a { color: #aab2bd !important; text-decoration: underline !important; text-decoration-color: rgba(255, 255, 255, 0.25) !important; }
/* Strona z partnerem: oba logo w kolumnie marki („szkoleniazbhp.eu × ITURRI”) */
.strona-nowa .stopka-duet { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.strona-nowa .stopka-duet img { display: block; height: 32px; width: auto; max-width: 100%; }
.strona-nowa .stopka-duet-partner img { height: 36px; filter: brightness(0) invert(1); }
.strona-nowa .stopka-duet-kreska { flex: 0 0 1px; align-self: stretch; min-height: 36px; background: rgba(255, 255, 255, 0.3); }
.strona-nowa .stopka-duet-haslo { color: #fff; font-size: 16px; font-weight: 600; margin-bottom: 10px !important; max-width: 440px; }
.strona-nowa .stopka-duet-opis { font-size: 14px; max-width: 440px; }
.strona-nowa .sp-tytul { margin: 0 0 6px !important; font-size: 18px; font-weight: 700; color: #fff; }

/* Pas partnera dedykowanej domeny (inc/operator.php: witryna_partner_stopka_html) */
.strona-nowa .stopka-partner-pas { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.strona-nowa .stopka-partner-rama {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 48px;
  align-items: center;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.strona-nowa .sp-logo img { display: block; height: 44px; width: auto; filter: brightness(0) invert(1); }
.strona-nowa .sp-opis { margin: 16px 0 0 !important; font-size: 14px; line-height: 1.65; max-width: 420px; }
.strona-nowa .sp-kontakt { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); gap: 28px; justify-content: end; }
.strona-nowa .sp-pozycja { display: flex; align-items: center; gap: 14px; font-size: 14px; line-height: 1.45; color: #d3d8df !important; }
.strona-nowa .stopka-nowa a.sp-pozycja,
.strona-nowa .stopka-nowa a.sp-pozycja:hover { text-decoration: none !important; } /* podkreślamy tylko e-mail/telefon */
.strona-nowa a.sp-pozycja:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.strona-nowa .sp-pozycja strong { display: block; color: #fff; font-weight: 600; }
.strona-nowa .sp-etykieta { display: block; font-size: 12px; color: #aab2bd; }
.strona-nowa .sp-ikona {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: #1e2a3b;
}
@media (max-width: 1100px) {
  .strona-nowa .stopka-partner-rama { grid-template-columns: 1fr; }
  .strona-nowa .sp-kontakt { justify-content: start; grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 760px) {
  .strona-nowa .stopka-kolumny { grid-template-columns: 1fr; gap: 32px; }
  .strona-nowa .stopka-dol { flex-direction: column; }
}

@media (max-width: 900px) {
  .strona-nowa .compliance-card--nowa { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; margin: 64px 0 48px; }
  .strona-nowa .compliance-grafika { max-width: 260px; margin: 0 auto; }
  .strona-nowa .compliance-lista { grid-template-columns: 1fr; }
  .strona-nowa .faq { grid-template-columns: 1fr; margin: 64px 0 !important; }
  .strona-nowa .faq-bok { grid-row: auto; position: static; margin-bottom: 28px; }
  .strona-nowa .faq details { grid-column: 1; }
  .strona-nowa .faq details > p { padding-right: 0; }
}

/* FAQ — dwie kolumny: przyklejony nagłówek z telefonem po lewej, lista z liniami po prawej */
.strona-nowa .faq {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 1.8fr);
  column-gap: 72px;
  align-items: start;
  margin: 96px 0 !important;
  padding: 0 !important;
}
.strona-nowa .faq-bok { grid-column: 1; grid-row: 1 / span 20; position: sticky; top: 32px; }
.strona-nowa .faq-bok .sekcja-tytul { margin-bottom: 16px !important; font-size: clamp(28px, 2.6vw, 36px) !important; }
.strona-nowa .faq-bok p { margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: var(--n-szary); }
.strona-nowa .faq-tel {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px 10px 10px;
  border: 1px solid var(--n-linia);
  border-radius: 12px;
  color: var(--n-grafit) !important;
  text-decoration: none !important;
  font-size: 15px;
  transition: border-color 0.2s;
}
.strona-nowa .faq-tel:hover { border-color: var(--brand); }
.strona-nowa .faq-tel-ikona {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--brand);
  color: #fff;
}
.strona-nowa .faq details {
  grid-column: 2;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--n-linia) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.strona-nowa .faq details:first-of-type { border-top: 1px solid var(--n-linia) !important; }
.strona-nowa .faq summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  font-size: 17px;
  font-weight: 600 !important;
  color: var(--n-grafit);
  cursor: pointer;
}
.strona-nowa .faq summary::-webkit-details-marker { display: none; }
.strona-nowa .faq summary::after {
  content: '' !important;
  position: static !important; /* modern.css: details summary::after jest absolutny z „+” */
  transform: none;
  width: 32px;
  font-size: 0;
  flex: 0 0 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--n-tlo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF3E36' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") center / 14px no-repeat;
  transition: transform 0.3s ease, background-color 0.2s;
}
.strona-nowa .faq summary:hover::after { background-color: #e8ecf1; }
.strona-nowa .faq details[open] summary::after { content: '' !important; transform: rotate(45deg); }
.strona-nowa .faq details[open] { box-shadow: none !important; }
.strona-nowa .faq summary { padding-right: 0 !important; }
.strona-nowa .faq summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; border-radius: 4px; }
.strona-nowa .faq details > p {
  margin: 0 !important;
  padding: 0 56px 24px 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--n-szary);
}
.strona-nowa .faq details > p a { color: var(--brand); }

@media (max-width: 900px) {
  .strona-nowa .tresc:not(#dla-firm) .m20:first-of-type { grid-template-columns: 1fr !important; }
  .strona-nowa .laptop { grid-row: auto; max-width: 420px; margin: 0 auto; }
  .strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .cta-row { flex-direction: column; }
  .strona-nowa .tresc:not(#dla-firm) .m20:first-of-type .cta-row > a { width: 100%; justify-content: center; }
}
@media (max-width: 760px) {
  .strona-nowa .kroki { padding: 64px 0; }
  .strona-nowa .sekcja-opis { margin-bottom: 32px; }
  .strona-nowa .tresc:not(#dla-firm) .m20:first-of-type { padding: 28px 22px !important; }
  .strona-nowa .slider2 .m { border-left: 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.12) !important; }
  .strona-nowa .slider2 .m:first-child { border-top: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .strona-nowa .krok-nowy::before, .strona-nowa .wyroznik, .strona-nowa .g-pasek,
  .strona-nowa .g-odznaka, .strona-nowa .g-zegar { transition: none; }
  .strona-nowa .wyroznik:hover .g-fala rect { animation: none; }
  .strona-nowa .compliance-pieczec, .strona-nowa .faq summary::after { transition: none; }
}
