/* ==========================================================================
   POLSERVICE — motyw potomny Kadence (system komponentów DP, wersja jasna)
   Kolejność: font → zmienne Kadence → tokeny → fallback → kontekst kolorów →
   reset → typografia → style bloków dp-* → przyciski → Kadence (slider, akordeon,
   Post Grid, formularz) → nagłówek i menu → wpis i listy → stopka → responsywność
   ========================================================================== */

/* ---- Font marki: Figtree (OFL, assets/fonts/OFL.txt), hostowany lokalnie — bez zapytań do Google (RODO) ---- */
@font-face{
  font-family:'Figtree'; font-style:normal; font-weight:300 900; font-display:swap;
  src:url('../fonts/figtree-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Figtree'; font-style:normal; font-weight:300 900; font-display:swap;
  src:url('../fonts/figtree-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Kadence ustawia font regułą body{font-family:var(--global-body-font-family)} ładowaną PO motywie —
   nadpisujemy samą zmienną selektorem o wyższej specyficzności. Szerokość treści = makieta (1280). */
html:root{
  --global-body-font-family:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --global-heading-font-family:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --global-content-width:1280px;
}

/* ==========================================================================
   Tokeny — kolory z GLOBALNEJ PALETY KADENCE (Dostosuj → Kolory → Globalna paleta).
   Druga wartość w var() to kolor POLSERVICE, gdy paleta nie jest wczytana.
     palette1  granat marki (nagłówki, przyciski, sekcje CTA)   palette2  czerwień — TYLKO mikro-akcent
     palette3  tekst najmocniejszy   palette4 tekst podstawowy   palette5 tekst drugorzędny
     palette6  obramowania           palette7 tło jasnoszare     palette8 (Kadence: tło witryny)
     palette9  tło treści / kart     palette10 granat najciemniejszy (stopka)
     palette11 granat średni         palette12 tekst na granacie
   W regułach poniżej nie ma kolorów wpisanych na sztywno — tylko var(--dp-…).
   ========================================================================== */
:root{
  --dp-navy:var(--global-palette1,#0A1B3D);
  --dp-red:var(--global-palette2,#9E1B2E);
  --dp-ink:var(--global-palette3,#12151C);
  --dp-text:var(--global-palette4,#4A5160);
  --dp-muted:var(--global-palette5,#616B78);
  --dp-border:var(--global-palette6,#D9DDE3);
  --dp-alt:var(--global-palette7,#F5F6F8);
  --dp-bg:var(--global-palette9,#FFFFFF);
  --dp-navy-dark:var(--global-palette10,#050D1F);
  --dp-navy-mid:var(--global-palette11,#16305F);
  --dp-on-navy:var(--global-palette12,#B9C2D6);
  /* pochodne */
  --dp-line:color-mix(in srgb, var(--dp-navy) 7%, var(--dp-bg));
  --dp-hover:color-mix(in srgb, var(--dp-navy) 4%, var(--dp-bg));
  --dp-card-hover:color-mix(in srgb, var(--dp-navy) 1%, var(--dp-bg));
  --dp-navy-a08:color-mix(in srgb, var(--dp-navy) 8%, transparent);
  --dp-navy-a10:color-mix(in srgb, var(--dp-navy) 10%, transparent);
  --dp-navy-a16:color-mix(in srgb, var(--dp-navy) 16%, transparent);
  --dp-navy-a25:color-mix(in srgb, var(--dp-navy) 25%, transparent);
  --dp-dark-a85:color-mix(in srgb, var(--dp-navy-dark) 85%, transparent);
  --dp-dark-a92:color-mix(in srgb, var(--dp-navy-dark) 92%, transparent);
  --dp-dark-a60:color-mix(in srgb, var(--dp-navy-dark) 60%, transparent);
  --dp-dark-a35:color-mix(in srgb, var(--dp-navy-dark) 35%, transparent);
  --dp-w05:color-mix(in srgb, var(--dp-bg) 5%, transparent);
  --dp-w06:color-mix(in srgb, var(--dp-bg) 6%, transparent);
  --dp-w08:color-mix(in srgb, var(--dp-bg) 8%, transparent);
  --dp-w10:color-mix(in srgb, var(--dp-bg) 10%, transparent);
  --dp-w15:color-mix(in srgb, var(--dp-bg) 15%, transparent);
  --dp-w35:color-mix(in srgb, var(--dp-bg) 35%, transparent);
  --dp-w85:color-mix(in srgb, var(--dp-bg) 85%, transparent);
  --dp-w0:color-mix(in srgb, var(--dp-bg) 0%, transparent);
  --dp-black-a25:rgba(0,0,0,.25);
  --dp-footer-text:color-mix(in srgb, var(--dp-on-navy) 72%, var(--dp-navy-dark));
  --dp-footer-faint:color-mix(in srgb, var(--dp-on-navy) 42%, var(--dp-navy-dark));
  --dp-footer-line:color-mix(in srgb, var(--dp-on-navy) 14%, var(--dp-navy-dark));
  /* typografia */
  --dp-font:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --dp-fw-heading:700; --dp-fw-strong:800; --dp-fw-ui:600;
  --dp-fs-body:16.5px; --dp-lh-body:1.75;
  --dp-fs-small:14.5px; --dp-lh-small:1.55;
  --dp-max:1280px; --dp-gutter:32px; --dp-read:820px;
  --dp-radius:2px;
  --dp-shadow:0 16px 32px var(--dp-navy-a16);
  --dp-shadow-soft:0 6px 14px var(--dp-navy-a08);
}

/* Przeglądarki bez color-mix() (Chrome < 111, np. Chrome 109 na Windows 7): stałe wartości POLSERVICE. */
@supports not (color:color-mix(in srgb, red, red)){
  :root{
    --dp-line:#E7E9EC; --dp-hover:#F0F1F3; --dp-card-hover:#FCFCFD;
    --dp-navy-a08:rgba(10,27,61,.08); --dp-navy-a10:rgba(10,27,61,.1); --dp-navy-a16:rgba(10,27,61,.16); --dp-navy-a25:rgba(10,27,61,.25);
    --dp-dark-a85:rgba(5,13,31,.85); --dp-dark-a92:rgba(5,13,31,.92); --dp-dark-a60:rgba(5,13,31,.6); --dp-dark-a35:rgba(5,13,31,.35);
    --dp-w05:rgba(255,255,255,.05); --dp-w06:rgba(255,255,255,.06); --dp-w08:rgba(255,255,255,.08); --dp-w10:rgba(255,255,255,.1);
    --dp-w15:rgba(255,255,255,.15); --dp-w35:rgba(255,255,255,.35); --dp-w85:rgba(255,255,255,.85); --dp-w0:rgba(255,255,255,0);
    --dp-footer-text:#8B93A5; --dp-footer-faint:#5C6479; --dp-footer-line:#1D2740;
  }
}

/* ==========================================================================
   Kontekst kolorów: jasny (domyślny) i granatowy (sekcja CTA, ciemne slajdy hero).
   Komponenty używają --c-*, więc ten sam blok wygląda dobrze na obu tłach.
   ========================================================================== */
:root, .is-style-dp-section--light{
  --c-head:var(--dp-navy); --c-strong:var(--dp-ink); --c-text:var(--dp-text); --c-muted:var(--dp-muted);
  --c-eyebrow:var(--dp-red); --c-line:var(--dp-line); --c-bg:var(--dp-bg);
  --c-btn-bg:var(--dp-navy); --c-btn-text:var(--dp-bg); --c-ghost:var(--dp-navy-a25); --c-ghost-hover:var(--dp-hover);
  --c-accent-text:var(--dp-navy);
}
.is-style-dp-section--navy, .is-style-dp-section--hero, .is-style-dp-strip--navy, .kb-advanced-slider .kb-advanced-slide{
  --c-head:var(--dp-bg); --c-strong:var(--dp-bg); --c-text:var(--dp-on-navy); --c-muted:var(--dp-on-navy);
  --c-eyebrow:var(--dp-on-navy); --c-line:var(--dp-w15); --c-bg:var(--dp-navy);
  --c-btn-bg:var(--dp-bg); --c-btn-text:var(--dp-navy); --c-ghost:var(--dp-w35); --c-ghost-hover:var(--dp-w08);
  --c-accent-text:var(--dp-bg);
}
/* Slajd z jasnym zdjęciem: w slajdzie jest nadtytuł w stylu „Nadtytuł hero — jasne zdjęcie". */
.kb-advanced-slider .kb-advanced-slide:has(.is-style-dp-hero-light){
  --c-head:var(--dp-navy); --c-strong:var(--dp-ink); --c-text:var(--dp-text); --c-muted:var(--dp-muted);
  --c-eyebrow:var(--dp-navy-mid); --c-line:var(--dp-line); --c-bg:var(--dp-bg);
  --c-btn-bg:var(--dp-navy); --c-btn-text:var(--dp-bg); --c-ghost:var(--dp-navy-a25); --c-ghost-hover:var(--dp-w85);
  --c-accent-text:var(--dp-navy);
}

/* ==========================================================================
   Reset i baza. Plik ładuje się też w edytorze, a WordPress dołącza go także do
   panelu administracyjnego — reguły elementów omijają .wp-admin.
   ========================================================================== */
:where(body:not(.wp-admin)) *{ box-sizing:border-box; }
body:where(:not(.wp-admin)){ margin:0; font-family:var(--dp-font); font-size:var(--dp-fs-body); line-height:var(--dp-lh-body); color:var(--dp-ink); -webkit-font-smoothing:antialiased; }
:where(body:not(.wp-admin)) a{ color:inherit; text-decoration:none; }
:where(body:not(.wp-admin)) a:hover{ color:var(--dp-red); }
:where(body:not(.wp-admin)) img{ max-width:100%; height:auto; display:block; }
:where(body:not(.wp-admin)) button{ font-family:inherit; }
:where(body:not(.wp-admin)) :is(strong, b){ font-weight:var(--dp-fw-heading); }
.editor-styles-wrapper{ font-family:var(--dp-font); color:var(--dp-ink); }
html body:where(:not(.wp-admin)), html .editor-styles-wrapper{ background:var(--dp-bg) !important; }

/* ---- Edytor: płótno jak strona ----
   Tytuł strony: Kadence pokazuje w edytorze podgląd banera tytułu (duży szary pas). Motyw nie wyświetla
   tytułu na stronie, więc w edytorze zostaje tylko cienki pasek do edycji nazwy strony. */
.editor-styles-wrapper :is(.edit-post-visual-editor__post-title-wrapper, .editor-visual-editor__post-title-wrapper){ margin:0 !important; padding:10px var(--dp-gutter) !important; min-height:0 !important; background:var(--dp-alt) !important; border-bottom:1px dashed var(--dp-border); }
.editor-styles-wrapper :is(.edit-post-visual-editor__post-title-wrapper, .editor-visual-editor__post-title-wrapper) :is(.editor-post-title, .wp-block-post-title, h1){ max-width:calc(var(--dp-max) - 2 * var(--dp-gutter)) !important; margin:0 auto !important; padding:0 !important; font-size:15px !important; font-weight:var(--dp-fw-ui) !important; line-height:1.4 !important; text-align:left !important; color:var(--dp-muted) !important; }
.editor-styles-wrapper :is(.edit-post-visual-editor__post-title-wrapper, .editor-visual-editor__post-title-wrapper)::before{ content:"Tytuł strony (nie wyświetla się na stronie — treść to bloki poniżej)"; display:block; max-width:calc(var(--dp-max) - 2 * var(--dp-gutter)); margin:0 auto 2px; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--dp-muted); }
.editor-styles-wrapper .is-root-container{ padding-top:0 !important; padding-bottom:0 !important; }
.editor-styles-wrapper .is-root-container > :first-child{ margin-top:0 !important; }
/* Slider (hero) na całą szerokość płótna — na stronie robi to <main> bez kontenera. */
.editor-styles-wrapper .is-root-container > .wp-block-kadence-slider{ max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important; }
/* Bloki w slajdzie: edytor centruje bloki o ograniczonej szerokości (margin:auto) — na stronie stoją do lewej. */
.editor-styles-wrapper .kb-advanced-slide-inner > *, .editor-styles-wrapper .kb-advanced-slide-inner .block-editor-block-list__layout > *{ margin-left:0 !important; margin-right:auto !important; }
.editor-styles-wrapper .kb-advanced-slide-inner .kb-buttons-wrap{ justify-content:flex-start !important; }

/* Pełna szerokość: Kadence liczy .alignfull od 100vw (+ pasek przewijania = poziomy scroll). */
.ps-main > .alignfull{ margin-left:0 !important; margin-right:0 !important; width:auto !important; max-width:none !important; }
body:where(:not(.wp-admin)){ overflow-x:clip; }
html:has(> body:not(.wp-admin)){ overflow-x:clip; }

.ps-skip{ position:absolute; left:-9999px; top:0; z-index:2000; background:var(--dp-navy); color:var(--dp-bg); padding:10px 16px; }
.ps-skip:focus{ left:16px; top:16px; color:var(--dp-bg); }
:where(body:not(.wp-admin)) :focus-visible{ outline:2px solid var(--dp-red); outline-offset:2px; }

/* ==========================================================================
   Typografia (strona + płótno edytora)
   ========================================================================== */
.ps-main h1, .editor-styles-wrapper h1{ font-size:clamp(30px,4vw,44px); font-weight:var(--dp-fw-heading); line-height:1.15; letter-spacing:-.01em; color:var(--c-head); margin:0 0 18px; }
.ps-main h2, .editor-styles-wrapper h2{ font-size:clamp(26px,3vw,36px); font-weight:var(--dp-fw-heading); line-height:1.2; color:var(--c-head); margin:0 0 20px; }
.ps-main h3, .editor-styles-wrapper h3{ font-size:18px; font-weight:var(--dp-fw-heading); line-height:1.35; color:var(--c-head); margin:0 0 10px; }
.ps-main h4, .editor-styles-wrapper h4{ font-size:16px; font-weight:var(--dp-fw-heading); line-height:1.4; color:var(--c-head); margin:0 0 8px; }
/* Akapity (Advanced Heading jako <p> i zwykłe akapity) — tekst ciągły. */
.ps-main p, .editor-styles-wrapper p.wp-block-kadence-advancedheading{ font-size:var(--dp-fs-body); line-height:var(--dp-lh-body); color:var(--c-text); margin:0 0 18px; }
.ps-main :is(.kt-inside-inner-col, .kadence-inner-column-inner) > :last-child, .editor-styles-wrapper :is(.kt-inside-inner-col, .kadence-inner-column-inner) > :last-child{ margin-bottom:0; }
:is(.ps-main, .editor-styles-wrapper) a:not([class]):hover{ color:var(--dp-red); }
.ps-main p a:not([class]), .editor-styles-wrapper p a:not([class]){ color:var(--c-head); text-decoration:underline; text-decoration-color:var(--dp-red); text-underline-offset:3px; }

/* Listy w treści sekcji (blok Lista) — punktor: krótka czerwona kreska z litery „I". */
.ps-main .wp-block-list, .editor-styles-wrapper .wp-block-list{ margin:8px 0 0; padding-left:18px; }
.ps-main .wp-block-list li, .editor-styles-wrapper .wp-block-list li{ font-size:var(--dp-fs-small); line-height:1.6; color:var(--c-muted); margin:0 0 4px; }
:is(.ps-main, .editor-styles-wrapper) .wp-block-list li::marker{ color:var(--dp-red); }

/* ==========================================================================
   Style bloków DP — Advanced Heading
   ========================================================================== */
/* Nadtytuł: czerwony chevron (strzałka z litery V znaku) + wersaliki. Wielkość liter robi CSS. */
.is-style-dp-eyebrow, .dp-eyebrow, .is-style-dp-hero-light{ display:block; font-size:13px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--c-eyebrow) !important; margin:0 0 18px !important; }
/* Edytor: tekst nagłówka siedzi w osobnym elemencie (RichText) — musi być w linii z chevronem. */
.editor-styles-wrapper :is(.is-style-dp-eyebrow, .is-style-dp-hero-light) > :not(style, script){ display:inline; }
/* Chevron w edytorze jako tło z wcięciem (nie ::before) — niezależnie od tego, jak edytor zagnieżdża tekst. */
.editor-styles-wrapper :is(.is-style-dp-eyebrow, .is-style-dp-hero-light){ padding-left:22px !important; background:url(../svg/chevron.svg) 0 .3em/10px 10px no-repeat !important; }
.editor-styles-wrapper :is(.is-style-dp-eyebrow, .is-style-dp-hero-light)::before{ display:none !important; }
.editor-styles-wrapper .is-style-dp-footer-grid .is-style-dp-eyebrow{ padding-left:0 !important; background:none !important; }
/* Blok „Okruszki" (dp/okruszki) — bez odstępów własnych, wygląd jak .ps-crumbs. */
.dp-okruszki{ margin:0 !important; }
.ps-crumbs--placeholder{ font-style:italic; }
/* Kadence wstawia w edytorze do nagłówka ukryty <style> (podświetlenie tekstu) — nigdy go nie pokazujemy. */
.editor-styles-wrapper .wp-block-kadence-advancedheading > :is(style, script){ display:none !important; }
.is-style-dp-eyebrow::before, .dp-eyebrow::before, .is-style-dp-hero-light::before{ content:""; display:inline-block; width:10px; height:10px; margin:0 12px 0 0; vertical-align:-0.02em; background:var(--dp-red); -webkit-mask:url(../svg/chevron.svg) center/contain no-repeat; mask:url(../svg/chevron.svg) center/contain no-repeat; }
.is-style-dp-hero-title, .dp-hero-title{ font-size:clamp(34px,5vw,58px) !important; font-weight:var(--dp-fw-heading) !important; line-height:1.08 !important; letter-spacing:-.015em; color:var(--c-head) !important; margin:0 0 24px !important; }
.is-style-dp-lede, .dp-lede{ font-size:17px !important; line-height:1.65 !important; color:var(--c-text) !important; margin:0 0 28px !important; }
.is-style-dp-muted, .dp-muted{ font-size:var(--dp-fs-small) !important; line-height:var(--dp-lh-small) !important; color:var(--c-muted) !important; margin:0 0 12px !important; }
.is-style-dp-card-title, .dp-card-title{ font-size:18px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.35 !important; color:var(--c-head) !important; margin:0 0 10px !important; }
.is-style-dp-num, .dp-num{ font-size:34px !important; font-weight:var(--dp-fw-strong) !important; line-height:1.1 !important; color:var(--c-head) !important; opacity:.28; margin:0 0 10px !important; }
.is-style-dp-label, .dp-label{ font-size:12.5px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; letter-spacing:.04em; text-transform:uppercase; color:var(--dp-red) !important; margin:0 0 4px !important; }
.is-style-dp-value, .dp-value{ font-size:18px !important; line-height:1.5 !important; color:var(--c-head) !important; margin:0 0 16px !important; }
.is-style-dp-value a, .dp-value a{ color:inherit; }
.is-style-dp-big, .dp-big{ font-size:20px !important; font-weight:var(--dp-fw-strong) !important; line-height:1.3 !important; color:var(--c-head) !important; margin:0 0 6px !important; }
.is-style-dp-small, .dp-small{ font-size:13px !important; line-height:1.6 !important; color:var(--c-muted) !important; margin:0 0 6px !important; }
html .is-style-dp-avatar, html .dp-avatar{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--dp-navy); color:var(--dp-bg) !important; font-size:16px !important; font-weight:var(--dp-fw-heading) !important; line-height:1 !important; letter-spacing:.02em; margin:0 0 16px !important; }
.is-style-dp-crumbs, .dp-crumbs{ font-size:13.5px !important; line-height:1.5 !important; color:var(--dp-muted) !important; margin:0 !important; }
html .is-style-dp-quote, html .dp-quote{ font-size:clamp(19px,2vw,22px) !important; line-height:1.55 !important; color:var(--c-head) !important; padding-left:24px; border-left:2px solid var(--dp-red); margin:0 0 20px !important; }

/* ==========================================================================
   Style bloków DP — Row Layout (sekcje)
   ========================================================================== */
html .is-style-dp-section--alt{ background-color:var(--dp-alt); }
/* background-color, nie skrót background: skrót kasował zdjęcie tła ustawione w bloku (i paralaksę Kadence). */
html .is-style-dp-section--navy{ position:relative; overflow:hidden; isolation:isolate; background-color:var(--dp-navy); }
/* Zdjęcie w tle sekcji granatowej (np. paralaksa): granatowa nakładka, żeby tekst był czytelny. */
html .kt-row-has-bg.is-style-dp-section--navy::after{ content:""; position:absolute; inset:0; z-index:0; background:var(--dp-dark-a35); pointer-events:none; }
/* Ozdobnik: pierścień z litery „O" w rogu sekcji granatowej. */
html .is-style-dp-section--navy::before{ content:""; display:block; position:absolute; left:-100px; top:-100px; width:300px; height:300px; border-radius:50%; border:20px solid var(--dp-w06); pointer-events:none; }
.is-style-dp-section--navy > .kt-row-column-wrap{ position:relative; z-index:1; }

/* Wzór z liter znaku (chevron V) — maska z pliku SVG, kolor z palety. */
.is-style-dp-section--pattern{ position:relative; overflow:hidden; }
/* display:block — Kadence 3.8 daje wierszom clearfix .kb-row-layout-wrap::before{display:table}; tabela z position:absolute kurczy się do 0×0. */
html .is-style-dp-section--pattern::before{ content:""; display:block; position:absolute; inset:0; background:var(--dp-navy); opacity:.035; pointer-events:none;
  -webkit-mask:url(../svg/wzor-v.svg) 0 0/27.02px 54.28px repeat; mask:url(../svg/wzor-v.svg) 0 0/27.02px 54.28px repeat; }
.is-style-dp-section--pattern > .kt-row-column-wrap{ position:relative; z-index:1; }

html .is-style-dp-section--crumbs{ background:var(--dp-alt); border-bottom:1px solid var(--dp-line); }

/* Nagłówek sekcji z linkiem po prawej (nadtytuł + H2 | „Zobacz wszystkie →"). */
:is(.wp-block-kadence-rowlayout.is-style-dp-section-head, .wp-block-kadence-rowlayout.is-style-dp-section-head > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 24px !important; margin-bottom:48px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-section-head, .wp-block-kadence-rowlayout.is-style-dp-section-head > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ flex:0 1 auto; width:auto; min-width:0; }
:is(.wp-block-kadence-rowlayout.is-style-dp-section-head, .wp-block-kadence-rowlayout.is-style-dp-section-head > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column:first-child{ flex:1 1 420px; }
.is-style-dp-section-head h2{ margin:0 !important; }

/* Siatka z liniami: tło wiersza = kolor linii, komórki białe, odstęp 2 px = linia. */
:is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:2px !important; background:var(--dp-line); }
:is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ background:var(--dp-bg); }

/* Rząd w linii, wyśrodkowany (nagrody, członkostwa). */
:is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ flex:0 0 auto; width:auto; }

/* Hero podstrony: tekst + grafika (prawa kolumna przyklejona przy przewijaniu). */
:is(.wp-block-kadence-rowlayout.is-style-dp-hero-split, .wp-block-kadence-rowlayout.is-style-dp-hero-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:minmax(0,1fr) minmax(260px,380px) !important; gap:64px !important; align-items:start; }
:is(.wp-block-kadence-rowlayout.is-style-dp-hero-split, .wp-block-kadence-rowlayout.is-style-dp-hero-split > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column:last-child{ position:sticky; top:var(--ps-sticky-top,150px); }

.wp-block-kadence-rowlayout.is-style-dp-hero-split h2{ font-size:22px !important; margin:56px 0 20px !important; }
/* Dwie kolumny z szerokim odstępem (profil, tekst + zdjęcie, kontakt). */
:is(.wp-block-kadence-rowlayout.is-style-dp-split, .wp-block-kadence-rowlayout.is-style-dp-split > .kt-row-layout-inner) > .kt-row-column-wrap{ column-gap:72px !important; align-items:center; }
@media (max-width:1024px){ :is(.wp-block-kadence-rowlayout.is-style-dp-split, .wp-block-kadence-rowlayout.is-style-dp-split > .kt-row-layout-inner) > .kt-row-column-wrap{ column-gap:40px !important; } }
/* CTA na granacie: tekst po lewej, przycisk po prawej, bez odstępu pod spodem. */
:is(.is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-section-head, .is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-section-head > .kt-row-layout-inner) > .kt-row-column-wrap{ margin-bottom:0; align-items:center; gap:32px !important; }
.is-style-dp-section--navy h2{ font-size:clamp(24px,3vw,32px) !important; margin:0 0 10px !important; }
.is-style-dp-section--navy .is-style-dp-muted{ font-size:15.5px !important; margin:0 !important; }
/* Mniejsze H2 sekcji podstrony usługi (makieta: 24–32 px). */
:is(:is(.ps-main, .editor-styles-wrapper) .wp-block-kadence-rowlayout:not(.is-style-dp-section--pattern):not(.is-style-dp-hero-split):not(.is-style-dp-split), :is(.ps-main, .editor-styles-wrapper) .wp-block-kadence-rowlayout:not(.is-style-dp-section--pattern):not(.is-style-dp-hero-split):not(.is-style-dp-split) > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading{ font-size:clamp(24px,3vw,32px); margin-bottom:40px; }
/* !important: reguła wyżej (40 px) ma wyższą specyficzność przez :not() — H2 z opisem pod spodem ma tylko 12 px odstępu. */
:is(:is(.ps-main, .editor-styles-wrapper) .wp-block-kadence-rowlayout, :is(.ps-main, .editor-styles-wrapper) .wp-block-kadence-rowlayout > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading:has(+ .is-style-dp-muted){ margin-bottom:12px !important; }
:is(.ps-main, .editor-styles-wrapper) :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading + .is-style-dp-muted{ margin-bottom:40px !important; max-width:760px; }
.is-style-dp-section--navy :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading + .is-style-dp-muted{ margin-bottom:0 !important; }
.is-style-dp-card .wp-block-image{ margin:0 0 16px; }
.is-style-dp-card .wp-block-image img{ width:26px; height:26px; }
.is-style-dp-card h3{ font-size:16.5px !important; margin:0 0 8px !important; }
.is-style-dp-card .wp-block-list{ list-style:none; padding:0; margin:8px 0 0; }
.is-style-dp-card .wp-block-list li{ display:flex; gap:12px; padding:12px 0; margin:0; border-bottom:1px solid var(--dp-line); font-size:14px; color:var(--dp-text); }
.is-style-dp-card .wp-block-list li::before{ content:""; flex:none; width:3px; height:10px; margin-top:6px; background:var(--dp-red); }

/* Odstęp: nadtytuł/tekst nad zagnieżdżoną siatką. */
:is(.kt-inside-inner-col, .kadence-inner-column-inner) > .wp-block-kadence-advancedheading + .wp-block-kadence-rowlayout{ margin-top:40px; }

/* ==========================================================================
   Style bloków DP — Column
   ========================================================================== */
html .is-style-dp-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); padding:32px; }
:is(html .wp-block-kadence-rowlayout:not(.is-style-dp-grid-lines), html .wp-block-kadence-rowlayout:not(.is-style-dp-grid-lines) > .kt-row-layout-inner) > .kt-row-column-wrap > .is-style-dp-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border:1px solid var(--dp-border); }

/* Karta usługi: ikona (blok Obraz z pliku SVG) → tytuł → opis → „Więcej →". */
html .is-style-dp-service > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; height:100%; background:var(--dp-bg); padding:36px 32px 44px; transition:transform .2s, box-shadow .2s, background-color .2s; }
.is-style-dp-service:hover{ z-index:5; }
html .is-style-dp-service:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transform:scale(1.015); box-shadow:var(--dp-shadow-soft); background:var(--dp-card-hover); }
.is-style-dp-service .wp-block-image, .is-style-dp-member .wp-block-image{ margin:0 0 18px; }
.is-style-dp-service .wp-block-image img{ width:26px; height:26px; }
.is-style-dp-service .kb-buttons-wrap{ margin-top:18px; }
@media (prefers-reduced-motion:reduce){ .is-style-dp-service > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transition:none; } .is-style-dp-service:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transform:none; } }

.is-style-dp-fact > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-top:2px solid var(--c-head); padding-top:14px; }
.is-style-dp-fact .is-style-dp-card-title{ font-size:14.5px !important; line-height:1.4 !important; margin:0 0 6px !important; }
.is-style-dp-fact .is-style-dp-muted{ font-size:13.5px !important; line-height:1.5 !important; }

.is-style-dp-step .is-style-dp-card-title{ font-size:16px !important; margin:0 0 8px !important; }
.is-style-dp-step .is-style-dp-card-title::before{ content:""; display:block; width:28px; height:2px; margin:0 0 14px; background:var(--dp-red); }
.is-style-dp-step .is-style-dp-muted{ font-size:14px !important; }

/* Punkt listy: czerwone kółko (litera „O") + tytuł + lista. */
.is-style-dp-point > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; padding:18px 0 18px 29px; border-bottom:1px solid var(--c-line); }
.is-style-dp-point > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ content:""; display:block; position:absolute; left:0; top:22px; width:13px; height:13px; background:var(--dp-red); -webkit-mask:url(../svg/kolo.svg) center/contain no-repeat; mask:url(../svg/kolo.svg) center/contain no-repeat; }
.is-style-dp-point .is-style-dp-card-title{ font-size:15.5px !important; margin:0 0 4px !important; }
.kt-row-column-wrap:has(> .is-style-dp-point){ gap:0 !important; }

html .is-style-dp-chip > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ min-width:170px; background:var(--dp-bg); border:1px solid var(--dp-border); padding:18px 26px; text-align:left; transition:border-color .15s, transform .15s; }
html .is-style-dp-chip:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-color:var(--dp-navy); transform:translateY(-3px); }
.is-style-dp-chip .is-style-dp-big{ font-size:14px !important; letter-spacing:.01em; margin:0 !important; }
.is-style-dp-chip .is-style-dp-small{ font-size:11.5px !important; font-weight:var(--dp-fw-ui) !important; margin:4px 0 0 !important; }
@media (prefers-reduced-motion:reduce){ .is-style-dp-chip:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transform:none; } }

html .is-style-dp-stat > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); border:1px solid var(--dp-border); padding:24px 28px; text-align:left; }
.is-style-dp-inline .is-style-dp-stat{ flex:0 1 280px !important; min-width:220px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap:has(> .is-style-dp-stat){ align-items:stretch; }
/* Kadence 3.8 daje kolumnie wysokość — grafiki o stałych proporcjach muszą mieć height:auto. */
html .is-style-dp-visual > :is(.kt-inside-inner-col, .kadence-inner-column-inner), html .is-style-dp-chevron > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:auto !important; min-height:0; }
.is-style-dp-inline .is-style-dp-label{ color:var(--dp-muted) !important; letter-spacing:.05em; margin:0 !important; }
.wp-block-kadence-rowlayout.is-style-dp-inline + .wp-block-kadence-rowlayout.is-style-dp-inline{ margin-top:28px; }
html .is-style-dp-tag > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-bg); border:1px solid var(--dp-border); padding:10px 20px; }
.is-style-dp-tag .wp-block-kadence-advancedheading{ font-size:13.5px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; color:var(--dp-navy) !important; margin:0 !important; }
html .is-style-dp-member > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); padding:28px; }
.is-style-dp-member .is-style-dp-card-title{ font-size:15.5px !important; margin:0 0 4px !important; }
.is-style-dp-member .is-style-dp-muted{ font-size:13px !important; line-height:1.5 !important; }
.is-style-dp-member .wp-block-image img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
html .is-style-dp-panel > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-alt); padding:28px; }

/* Zdjęcie z wycięciem koła (warianty slajdera): zdjęcie główne 4:5, białe koło w prawym dolnym
   rogu i w nim drugie, okrągłe zdjęcie-detal (drugi blok Obraz w tej samej kolumnie — opcjonalny). */
.is-style-dp-photo-cut > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; overflow:hidden; }
.is-style-dp-photo-cut figure{ margin:0 !important; }
.is-style-dp-photo-cut .wp-block-image:first-child img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.is-style-dp-photo-cut > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::after{ content:""; display:block; position:absolute; left:50%; top:60.4%; width:54%; aspect-ratio:1; border-radius:50%; background:var(--c-bg); z-index:1; pointer-events:none; }
.is-style-dp-photo-cut .wp-block-image + .wp-block-image{ position:absolute; left:64%; top:71.6%; width:26%; z-index:2; }
.is-style-dp-photo-cut .wp-block-image + .wp-block-image img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:50%; }

/* Chevron marki (warianty 2 i 4 slajdera) — pusta kolumna, grafika z CSS. */
html .is-style-dp-chevron > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ --dp-chevron:var(--dp-line); aspect-ratio:4/5; background:var(--dp-chevron); -webkit-mask:url(../svg/chevron.svg) center/62% auto no-repeat; mask:url(../svg/chevron.svg) center/62% auto no-repeat; }
.is-style-dp-chevron.dp-chevron--navy > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ --dp-chevron:var(--dp-navy-mid); }

/* Grafika granatowa z białym podpisem (hero usługi): linie + pierścień, podpis = bloki w kolumnie. */
html .is-style-dp-visual > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; overflow:hidden; aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; margin-bottom:24px;
  background:repeating-linear-gradient(65deg, var(--dp-w06) 0 1px, transparent 1px 18px), linear-gradient(160deg, var(--dp-navy), var(--dp-navy-dark)); }
html .is-style-dp-visual > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ content:""; display:block; position:absolute; right:-30px; top:40%; width:220px; height:220px; border-radius:50%; border:22px solid var(--dp-w10); pointer-events:none; }
.is-style-dp-visual .wp-block-kadence-advancedheading{ position:relative; z-index:1; background:var(--dp-bg); margin:0 !important; padding:0 20px; }
.is-style-dp-visual :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .wp-block-kadence-advancedheading:first-child{ padding-top:20px; }
.is-style-dp-visual :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .wp-block-kadence-advancedheading:last-child{ padding-bottom:20px; box-shadow:0 12px 30px var(--dp-navy-a25); }
.is-style-dp-visual .is-style-dp-big{ font-size:26px !important; }
.is-style-dp-visual .is-style-dp-small{ font-weight:var(--dp-fw-ui) !important; padding-top:6px !important; }

/* ==========================================================================
   Przyciski — Kadence Advanced Button → pojedynczy przycisk (.kb-button)
   CSS Kadence ładuje się po motywie i ustawia kolory zmiennymi, stąd !important.
   ========================================================================== */
:is(.kb-button[class*="is-style-dp-btn-"], [class*="is-style-dp-btn-"] .kt-button){ font-family:var(--dp-font) !important; border-radius:var(--dp-radius) !important; box-shadow:none !important; text-decoration:none !important; }
:is(.kb-button.is-style-dp-btn-primary, .is-style-dp-btn-primary .kt-button){ background:var(--c-btn-bg) !important; color:var(--c-btn-text) !important; border:0 !important; padding:15px 28px !important; font-size:14.5px !important; font-weight:var(--dp-fw-heading) !important; transition:transform .15s, box-shadow .15s !important; }
:is(.kb-button.is-style-dp-btn-primary, .is-style-dp-btn-primary .kt-button):hover{ transform:translateY(-2px); box-shadow:0 8px 20px var(--dp-black-a25) !important; color:var(--c-btn-text) !important; }
:is(.kb-button.is-style-dp-btn-ghost, .is-style-dp-btn-ghost .kt-button){ background:transparent !important; color:var(--c-head) !important; border:1.5px solid var(--c-ghost) !important; padding:13.5px 28px !important; font-size:14.5px !important; font-weight:var(--dp-fw-heading) !important; transition:border-color .15s, background-color .15s !important; }
:is(.kb-button.is-style-dp-btn-ghost, .is-style-dp-btn-ghost .kt-button):hover{ border-color:var(--c-head) !important; background:var(--c-ghost-hover) !important; color:var(--c-head) !important; }
:is(.kb-button.is-style-dp-btn-accent, .is-style-dp-btn-accent .kt-button){ background:transparent !important; color:var(--c-accent-text) !important; border:1.5px solid var(--dp-red) !important; padding:13.5px 24px !important; font-size:14.5px !important; font-weight:var(--dp-fw-heading) !important; transition:background-color .15s, color .15s !important; }
:is(.kb-button.is-style-dp-btn-accent, .is-style-dp-btn-accent .kt-button):hover{ background:var(--dp-red) !important; color:var(--dp-bg) !important; }
:is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button), :is(.kb-button.is-style-dp-btn-more, .is-style-dp-btn-more .kt-button), :is(.kb-button.is-style-dp-btn-back, .is-style-dp-btn-back .kt-button){ background:transparent !important; border:0 !important; padding:0 !important; font-weight:var(--dp-fw-heading) !important; gap:6px; transition:color .15s, gap .15s !important; }
:is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button){ color:var(--c-head) !important; font-size:14.5px !important; }
:is(.kb-button.is-style-dp-btn-more, .is-style-dp-btn-more .kt-button){ color:var(--dp-red) !important; font-size:13.5px !important; }
:is(.kb-button.is-style-dp-btn-back, .is-style-dp-btn-back .kt-button){ color:var(--c-head) !important; font-size:14.5px !important; }
:is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button)::after, :is(.kb-button.is-style-dp-btn-more, .is-style-dp-btn-more .kt-button)::after{ content:"→"; display:inline-block; margin-left:6px; transition:transform .15s; }
/* Kadence 3.8 używa ::before przycisku na nakładkę tła (absolute, opacity 0) — strzałka musi to nadpisać. */
:is(.kb-button.is-style-dp-btn-back, .is-style-dp-btn-back .kt-button)::before{ content:"←" !important; position:static !important; display:inline-block !important; opacity:1 !important; inset:auto !important; width:auto !important; height:auto !important; background:none !important; margin-right:6px; transition:transform .15s; }
:is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button):hover{ color:var(--dp-red) !important; }
:is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button):hover::after, :is(.kb-button.is-style-dp-btn-more, .is-style-dp-btn-more .kt-button):hover::after, .is-style-dp-service:hover :is(.kb-button.is-style-dp-btn-more, .is-style-dp-btn-more .kt-button)::after{ transform:translateX(4px); }
:is(.kb-button.is-style-dp-btn-back, .is-style-dp-btn-back .kt-button):hover::before{ transform:translateX(-4px); }
.is-style-dp-section--navy :is(.kb-button.is-style-dp-btn-link, .is-style-dp-btn-link .kt-button):hover{ color:var(--dp-bg) !important; }
.kb-buttons-wrap{ gap:16px; }
/* Przycisk na całą szerokość kolumny (np. pod grafiką w hero usługi). */
.is-style-dp-hero-split .wp-block-kadence-column:last-child :is(.kb-button, .kt-button){ width:100%; justify-content:center; }
@media (max-width:600px){
  .kb-buttons-wrap:has(> .kb-button + .kb-button){ display:grid !important; grid-template-columns:minmax(0,max-content); }
  .kb-buttons-wrap:has(> .kb-button + .kb-button) > .kb-button{ justify-content:center; text-align:center; }
}

/* ==========================================================================
   Hero — Kadence Advanced Slider
   ========================================================================== */
.kb-advanced-slider{ position:relative; overflow:hidden; }
.kb-advanced-slider .kb-slider-size-ratio .kb-advanced-slide, .kb-advanced-slider .kb-advanced-slide{ padding-bottom:0 !important; min-height:clamp(500px,66vh,600px); }
/* Kadence Blocks Pro 2.8: tło slajdu jest na .kb-advanced-slide-inner-wrap (zapasowo też na .kb-advanced-slide). */
.kb-advanced-slider .kb-advanced-slide, .kb-advanced-slider .kb-advanced-slide-inner-wrap{ background-color:var(--dp-navy-dark); background-position:right center !important; }
.kb-advanced-slider .kb-advanced-slide-inner-wrap{ position:relative; padding:0 var(--dp-gutter) !important; }
.kb-advanced-slider .kb-advanced-slide-inner{ position:relative; z-index:1; width:100%; max-width:calc(var(--dp-max) - 2 * var(--dp-gutter)); margin:0 auto; padding:88px 0 110px; }
.kb-advanced-slider .kb-advanced-slide-inner > *{ max-width:680px; }
.kb-advanced-slider .kb-advanced-slide-inner .is-style-dp-lede{ max-width:560px; font-size:18px !important; line-height:1.6 !important; margin-bottom:36px !important; }
/* Nakładka motywu: granatowe przejście od lewej (pod tekstem) + delikatne ukośne linie. Rysuje ją motyw
   (::before/::after), bo Kadence wypisuje własną nakładkę tylko przy ustawionym kolorze — jest ukryta. */
.kb-advanced-slider .kb-advanced-slide-overlay{ display:none !important; }
.kb-advanced-slider .kb-advanced-slide-inner-wrap::before, .kb-advanced-slider .kb-advanced-slide-inner-wrap::after{ content:""; position:absolute; inset:0; pointer-events:none; }
.kb-advanced-slider .kb-advanced-slide-inner-wrap::before{ background:linear-gradient(100deg, var(--dp-dark-a92) 0%, var(--dp-dark-a85) 38%, var(--dp-dark-a60) 55%, transparent 78%); }
.kb-advanced-slider .kb-advanced-slide-inner-wrap::after{ background:repeating-linear-gradient(70deg, var(--dp-w05) 0 1px, transparent 1px 20px); opacity:.5; }
.kb-advanced-slider .kb-advanced-slide:has(.is-style-dp-hero-light) .kb-advanced-slide-inner-wrap::before, .kb-advanced-slider .dp-slide--light .kb-advanced-slide-inner-wrap::before{ background:linear-gradient(100deg, var(--dp-w85) 0%, var(--dp-w85) 38%, transparent 70%); }
.kb-advanced-slider .kb-advanced-slide:has(.is-style-dp-hero-light) .kb-advanced-slide-inner-wrap::after, .kb-advanced-slider .dp-slide--light .kb-advanced-slide-inner-wrap::after{ display:none; }
/* Pierścień z litery „O" w prawym dolnym rogu hero. */
.kb-advanced-slider::after{ content:""; position:absolute; right:-60px; bottom:-120px; width:420px; height:420px; border-radius:50%; border:26px solid var(--dp-w10); pointer-events:none; z-index:2; }
.kb-advanced-slider .splide__pagination{ bottom:24px; z-index:3; }
.kb-advanced-slider .splide__pagination__page{ width:28px !important; height:3px !important; border-radius:0 !important; margin:0 4px !important; background:var(--dp-w35) !important; opacity:1 !important; transform:none !important; }
.kb-advanced-slider .splide__pagination__page.is-active{ background:var(--dp-bg) !important; }
.kb-advanced-slider .splide__arrow{ background:transparent !important; border:1.5px solid var(--dp-w35) !important; border-radius:var(--dp-radius) !important; }
.kb-advanced-slider .splide__arrow svg{ fill:var(--dp-bg) !important; }
@media (min-width:768px) and (max-width:1400px){ .kb-advanced-slider .kb-advanced-slide-inner-wrap{ padding:0 clamp(32px,6vw,80px) !important; } }
@media (max-width:767px){
  .kb-advanced-slider .splide__arrows, .kb-advanced-slider .splide__arrow{ display:none !important; }
  .kb-advanced-slider .kb-advanced-slide-inner{ padding:72px 0 96px; }
  .kb-advanced-slider .kb-advanced-slide-inner-wrap::before{ background:var(--dp-dark-a85); }
  .kb-advanced-slider .kb-advanced-slide:has(.is-style-dp-hero-light) .kb-advanced-slide-inner-wrap::before, .kb-advanced-slider .dp-slide--light .kb-advanced-slide-inner-wrap::before{ background:var(--dp-w85); }
  .kb-advanced-slider::after{ width:240px; height:240px; border-width:16px; right:-80px; bottom:-90px; }
}

/* ==========================================================================
   Akordeon (FAQ) — chevron V przy pytaniu, linie między pytaniami
   ========================================================================== */
:is(.ps-main, .editor-styles-wrapper) .wp-block-kadence-accordion{ max-width:var(--dp-read); }
/* FAQ jak w makiecie: linia między pytaniami (pod całym panelem), czerwony dziubek po lewej obraca się przy otwarciu,
   bez ikony Kadence po prawej. */
body .kt-accordion-wrap .kt-accordion-pane{ border:0; border-bottom:1px solid var(--dp-border) !important; margin:0; }
body .kt-accordion-wrap .kt-blocks-accordion-header{ position:relative; background:transparent !important; color:var(--c-head) !important; border:0 !important; border-radius:0 !important; padding:22px 0 22px 24px !important; font-family:var(--dp-font) !important; font-size:16px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.45 !important; text-align:left; }
body .kt-accordion-wrap .kt-blocks-accordion-header::before{ content:""; position:absolute; left:0; top:28px; width:10px; height:10px; background:var(--dp-red); -webkit-mask:url(../svg/v-dol.svg) center/contain no-repeat; mask:url(../svg/v-dol.svg) center/contain no-repeat; transition:transform .2s; }
body .kt-accordion-wrap .kt-blocks-accordion-header.kt-accordion-panel-active::before{ transform:rotate(180deg); }
body .kt-accordion-wrap .kt-blocks-accordion-icon-trigger{ display:none !important; }
@media (prefers-reduced-motion:reduce){ body .kt-accordion-wrap .kt-blocks-accordion-header::before{ transition:none; } }
body .kt-accordion-wrap .kt-blocks-accordion-header:hover{ color:var(--dp-red) !important; }
body .kt-accordion-wrap .kt-blocks-accordion-icon-trigger:before,
body .kt-accordion-wrap .kt-blocks-accordion-icon-trigger:after{ background:var(--c-head) !important; }
body .kt-accordion-wrap .kt-accordion-panel-inner{ background:transparent !important; border:0 !important; padding:14px 0 22px 24px !important; }
body .kt-accordion-wrap .kt-accordion-panel-inner .wp-block-kadence-advancedheading{ font-size:var(--dp-fs-small) !important; line-height:1.65 !important; color:var(--c-text) !important; margin:0 !important; }

/* ==========================================================================
   Post Grid (Aktualności): obrazek 1200×627 z granatowym tłem, data nad tytułem, „Czytaj więcej →"
   ========================================================================== */
.ps-main .kt-blocks-post-grid-item, .editor-styles-wrapper .kt-blocks-post-grid-item{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.kt-blocks-post-grid-item .kadence-post-image{ margin:0 0 16px !important; padding:0 !important; }
/* Kadence zapisuje proporcję w stylu inline w treści strony (imageRatio 62.5), stąd !important: działa bez ponownego wstawiania bloków. */
.kt-blocks-post-grid-item .kadence-post-image-intrisic{ padding-bottom:52.25% !important; }
.kt-blocks-post-grid-item .kadence-post-image-inner-intrisic{ background:linear-gradient(135deg, var(--dp-navy), var(--dp-navy-dark)); }
.kt-blocks-post-grid-item .kadence-post-image img{ transition:transform .4s; }
.kt-blocks-post-grid-item:hover .kadence-post-image img{ transform:scale(1.03); }
.kt-blocks-post-grid-item .kt-blocks-post-grid-item-inner{ padding:0 !important; }
/* Kadence Blocks Pro 2.8: <header> bez klasy, data w .kt-blocks-post-top-meta pod tytułem — przenosimy ją nad tytuł. */
.kt-blocks-post-grid-item :is(header, .entry-header){ display:flex; flex-direction:column; }
.kt-blocks-post-grid-item :is(.kt-blocks-post-top-meta, .entry-meta){ order:-1; margin:0 0 8px !important; font-size:13px !important; font-weight:var(--dp-fw-ui); color:var(--dp-muted) !important; }
.kt-blocks-post-grid-item :is(.kt-blocks-post-top-meta, .entry-meta) :is(a, time){ color:var(--dp-muted) !important; }
.kt-blocks-post-grid-item .entry-content{ padding:0 !important; }
.kt-blocks-post-grid-item .kt-blocks-post-footer:not(:has(:not(:empty))){ display:none; }
/* Wpis bez obrazka wyróżniającego: granatowa miniatura z ukośnymi liniami (jak w makiecie).
   Rysuje ją ::before LINKU tytułu, wysunięty nad tytuł — dlatego kliknięcie w miniaturę otwiera wpis.
   Miejsce na nią robi padding-top karty (1200×627 szerokości karty + 16 px odstępu). */
.kt-blocks-post-grid-item-inner-wrap:not(:has(.kadence-post-image)){ display:block !important; position:relative; padding-top:calc(52.25% + 16px) !important; }
.kt-blocks-post-grid-item-inner-wrap:not(:has(.kadence-post-image)) :is(.kt-blocks-post-grid-item-inner, header, .entry-title){ position:static !important; }
.kt-blocks-post-grid-item-inner-wrap:not(:has(.kadence-post-image)) .entry-title a::before{ content:""; position:absolute; left:0; right:0; top:0; aspect-ratio:1200/627; background:repeating-linear-gradient(65deg, var(--dp-w10) 0 1px, transparent 1px 15px), linear-gradient(135deg, var(--dp-navy), var(--dp-navy-mid)); transition:filter .3s; }
.kt-blocks-post-grid-item-inner-wrap:not(:has(.kadence-post-image)) .entry-title a:hover::before{ filter:brightness(1.25); }
.kt-blocks-post-grid-item .entry-title{ font-size:17.5px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; margin:0 0 10px !important; }
.kt-blocks-post-grid-item .entry-title a{ color:var(--dp-navy) !important; }
.kt-blocks-post-grid-item .entry-title a:hover{ color:var(--dp-red) !important; }
.kt-blocks-post-grid-item .kt-blocks-post-readmore{ display:inline-flex; align-items:center; gap:6px; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:var(--dp-red) !important; font-size:13.5px !important; font-weight:var(--dp-fw-heading) !important; transition:gap .15s; }
.kt-blocks-post-grid-item .kt-blocks-post-readmore::after{ content:"→"; }
.kt-blocks-post-grid-item .kt-blocks-post-readmore:hover{ gap:10px; }
.kt-blocks-post-grid-item .kt-blocks-above-categories{ margin:0 0 8px; }
.kt-blocks-post-grid-item .kt-blocks-above-categories a{ display:inline-block; background:var(--dp-navy) !important; color:var(--dp-bg) !important; font-size:12px !important; font-weight:var(--dp-fw-heading); letter-spacing:.05em; text-transform:uppercase; padding:5px 10px !important; border:0 !important; border-radius:var(--dp-radius) !important; }
/* Paginacja: Post Grid (strona „Aktualności") i listy PHP (.ps-pagination) — kwadraty 40×40 z makiety.
   Kadence ma mocniejsze reguły (.kt-blocks-page-nav .nav-links > a / > .current, motyw: .pagination .current),
   stąd selektory przez .nav-links i !important na kolorach. */
.wp-block-kadence-postgrid .kt-blocks-page-nav, .wp-block-kadence-postgrid .pagination{ margin-top:56px; }
.kt-blocks-page-nav .nav-links, .ps-pagination{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > .page-numbers{ display:inline-flex !important; align-items:center; justify-content:center; float:none !important; min-width:40px; height:40px; margin:0 !important; padding:0 8px !important; border:1px solid transparent !important; border-radius:var(--dp-radius) !important; background:transparent !important; color:var(--dp-navy) !important; font-size:13.5px; font-weight:var(--dp-fw-heading); line-height:1 !important; text-decoration:none; box-shadow:none !important; transition:border-color .15s, background-color .15s; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > a.page-numbers:hover{ border-color:var(--dp-navy) !important; background:var(--dp-alt) !important; color:var(--dp-navy) !important; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > .page-numbers.current{ background:var(--dp-navy) !important; border-color:var(--dp-navy) !important; color:var(--dp-bg) !important; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > :is(.prev, .next).page-numbers{ border-color:var(--dp-line) !important; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > .page-numbers.dots{ min-width:24px; border-color:transparent !important; color:var(--dp-muted) !important; }
:is(.kt-blocks-page-nav .nav-links, .ps-pagination) > .page-numbers svg{ width:8px; height:14px; }

/* ==========================================================================
   Formularz (Kadence Advanced Form) i mapa
   ========================================================================== */
.wp-block-kadence-advanced-form label, .wp-block-kadence-advanced-form .kb-adv-form-label{ font-size:13.5px !important; font-weight:var(--dp-fw-ui) !important; color:var(--dp-navy) !important; }
.wp-block-kadence-advanced-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea){ width:100%; border:1px solid var(--dp-border) !important; border-radius:var(--dp-radius) !important; background:var(--dp-bg) !important; padding:12px 14px !important; font-family:var(--dp-font) !important; font-size:14.5px !important; color:var(--dp-ink) !important; box-shadow:none !important; transition:border-color .15s; }
.wp-block-kadence-advanced-form :is(input, select, textarea):hover, .wp-block-kadence-advanced-form :is(input, select, textarea):focus{ border-color:var(--dp-navy) !important; outline:none; }
.wp-block-kadence-advanced-form textarea{ min-height:220px; resize:vertical; }
.wp-block-kadence-advanced-form :is(button[type="submit"], .kb-forms-submit, .kb-adv-form-submit-button){ background:var(--dp-navy) !important; color:var(--dp-bg) !important; border:0 !important; border-radius:var(--dp-radius) !important; padding:15px 30px !important; font-family:var(--dp-font) !important; font-size:14.5px !important; font-weight:var(--dp-fw-heading) !important; cursor:pointer; transition:transform .15s, box-shadow .15s; }
.wp-block-kadence-advanced-form :is(button[type="submit"], .kb-forms-submit, .kb-adv-form-submit-button):hover{ transform:translateY(-2px); box-shadow:0 8px 20px var(--dp-navy-a25) !important; }

.dp-map-embed{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--dp-alt); }
.dp-map-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(1) contrast(90%) brightness(1.03); }
.dp-map-embed__caption{ position:absolute; left:16px; right:16px; bottom:16px; background:var(--dp-dark-a85); padding:12px 14px; pointer-events:none; }
.dp-map-embed__caption strong{ display:block; font-size:13px; font-weight:var(--dp-fw-ui); color:var(--dp-bg); }
.dp-map-embed__caption a{ display:inline-flex; gap:6px; margin-top:4px; font-size:12.5px; color:var(--dp-on-navy); pointer-events:auto; transition:gap .15s; }
.dp-map-embed__caption a:hover{ gap:10px; color:var(--dp-bg); }
.dp-map-embed__caption a::after{ content:"→"; }

/* ==========================================================================
   Hub grupy usług (wzorzec „Hub usług") — komponenty z makiety v3-hub
   ========================================================================== */
/* Hero granatowe: gradient, ukośne linie, pierścień z litery „O" i pionowa kreska. */
html .is-style-dp-section--hero{ position:relative; overflow:hidden; background:linear-gradient(135deg, var(--dp-navy) 0%, var(--dp-navy-dark) 100%); }
html .is-style-dp-section--hero::before{ content:""; display:block; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(70deg, var(--dp-w05) 0 1px, transparent 1px 20px); }
html .is-style-dp-section--hero::after{ content:""; display:block; position:absolute; right:-60px; bottom:-120px; width:420px; height:420px; border-radius:50%; border:26px solid var(--dp-w10); pointer-events:none; }
.is-style-dp-section--hero > .kt-row-column-wrap, .is-style-dp-section--hero > .kt-row-layout-inner > .kt-row-column-wrap{ position:relative; z-index:1; }
.is-style-dp-section--hero :is(.kt-inside-inner-col, .kadence-inner-column-inner) > :is(.is-style-dp-eyebrow, .is-style-dp-hero-title, .is-style-dp-lede){ max-width:720px; }
.is-style-dp-section--hero .is-style-dp-lede{ max-width:620px !important; font-size:18px !important; line-height:1.6 !important; margin-bottom:36px !important; }
.is-style-dp-section--hero .is-style-dp-hero-title{ font-size:clamp(34px,5vw,54px) !important; line-height:1.1 !important; }
.is-style-dp-section--hero h2{ font-size:clamp(26px,3vw,38px) !important; margin:0 0 18px !important; }
.is-style-dp-section--hero .is-style-dp-muted{ font-size:16.5px !important; line-height:1.7 !important; margin:0 0 32px !important; }
.is-style-dp-section--hero .is-style-dp-label{ color:var(--dp-on-navy) !important; letter-spacing:.08em; margin-top:22px !important; padding-top:22px; border-top:1px solid var(--dp-w15); }
/* Hero huba = slider ze strony głównej z jednym slajdem: bez strzałek i kropek. */
.dp-slider--single :is(.splide__arrows, .splide__arrow, .splide__pagination){ display:none !important; }
/* Kadence rezerwuje pod sliderem 30 px na kropki (.splide{margin-bottom}) — bez kropek pas liczb przylega do hero. */
.dp-slider--single .splide{ margin-bottom:0 !important; }
/* Hero z jednym slajdem rośnie razem z treścią: Kadence daje wnętrzu slajdu position:absolute i stałą wysokość,
   więc długi tytuł (3 linie) wystawał nad slider i nadtytuł stykał się z górną krawędzią. Minimalna wysokość zostaje. */
.dp-slider--single .kb-advanced-slide-inner-wrap{ position:relative !important; height:auto !important; min-height:inherit; }
.dp-slider--single :is(.kb-advanced-slide, .splide__track, .splide__list, .splide__slide){ height:auto !important; }
/* Liczby pod hero (osobny pas „Sekcja: liczby pod hero"; w hero granatowym — z linią nad). */
html .is-style-dp-section--stats{ background:var(--dp-alt); border-bottom:1px solid var(--dp-line); }:is(.wp-block-kadence-rowlayout.is-style-dp-hero-stats, .wp-block-kadence-rowlayout.is-style-dp-hero-stats > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:28px !important; }
:is(.is-style-dp-section--hero .wp-block-kadence-rowlayout.is-style-dp-hero-stats, .is-style-dp-section--hero .wp-block-kadence-rowlayout.is-style-dp-hero-stats > .kt-row-layout-inner) > .kt-row-column-wrap{ margin-top:72px; padding-top:28px; border-top:1px solid var(--dp-w15); }
.is-style-dp-hero-stats .is-style-dp-big{ font-size:28px !important; margin:0 0 4px !important; }
.is-style-dp-hero-stats .is-style-dp-small{ font-size:13.5px !important; line-height:1.5 !important; margin:0 !important; }
/* Sekcja nagród: granat jak hero (linie + pierścień), tekst po lewej, białe karty z logotypami po prawej. */
html .is-style-dp-section--awards{ position:relative; overflow:hidden; background:linear-gradient(135deg, var(--dp-navy) 0%, var(--dp-navy-dark) 100%); }
html .is-style-dp-section--awards::before{ content:""; display:block; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(70deg, var(--dp-w05) 0 1px, transparent 1px 20px); }
html .is-style-dp-section--awards::after{ content:""; display:block; position:absolute; left:-90px; bottom:-140px; width:360px; height:360px; border-radius:50%; border:24px solid var(--dp-w06); pointer-events:none; }
.is-style-dp-section--awards > .kt-row-column-wrap, .is-style-dp-section--awards > .kt-row-layout-inner > .kt-row-column-wrap{ position:relative; z-index:1; column-gap:64px !important; }
.is-style-dp-section--awards{ --c-head:var(--dp-bg); --c-strong:var(--dp-bg); --c-text:var(--dp-on-navy); --c-muted:var(--dp-on-navy); --c-eyebrow:var(--dp-on-navy); --c-line:var(--dp-w15); }
.is-style-dp-section--awards h2{ font-size:clamp(26px,3vw,36px) !important; margin:0 0 18px !important; }
.is-style-dp-section--awards :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading + .is-style-dp-muted{ font-size:16px !important; line-height:1.7 !important; margin:0 !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-award-grid, .wp-block-kadence-rowlayout.is-style-dp-award-grid > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
html .is-style-dp-award-logo > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; display:flex; flex-direction:column; background:var(--dp-bg); padding:24px 22px 20px; box-shadow:0 10px 24px var(--dp-black-a25); transition:transform .2s, box-shadow .2s;
  --c-head:var(--dp-navy); --c-muted:var(--dp-muted); }
html .is-style-dp-award-logo:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transform:translateY(-4px); box-shadow:0 18px 34px var(--dp-black-a25); }
.is-style-dp-award-logo .wp-block-image{ display:flex; align-items:center; justify-content:center; height:84px; margin:0 0 18px !important; }
.is-style-dp-award-logo .wp-block-image img{ width:auto; max-width:100%; max-height:84px; object-fit:contain; }
.is-style-dp-award-logo .is-style-dp-card-title{ margin:auto 0 2px !important; padding-top:14px; border-top:1px solid var(--dp-line); font-size:14px !important; }
.is-style-dp-award-logo .is-style-dp-small{ font-size:12.5px !important; line-height:1.45 !important; margin:0 !important; }
@media (prefers-reduced-motion:reduce){ .is-style-dp-award-logo:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ transform:none; } }
@media (max-width:1024px){ :is(.wp-block-kadence-rowlayout.is-style-dp-section--awards, .wp-block-kadence-rowlayout.is-style-dp-section--awards > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; row-gap:40px !important; } }
@media (max-width:767px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-award-grid, .wp-block-kadence-rowlayout.is-style-dp-award-grid > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  html .is-style-dp-award-logo > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ padding:16px 14px 14px; }
  .is-style-dp-award-logo .wp-block-image{ height:60px; }
  .is-style-dp-award-logo .wp-block-image img{ max-height:60px; }
}
/* Logotypy nagród (pliki ze starej strony) — równa wysokość, w linii. */
.is-style-dp-logo .wp-block-image{ margin:0 !important; }
.is-style-dp-logo .wp-block-image img{ width:auto; height:72px; max-width:220px; object-fit:contain; }
:is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap:has(> .is-style-dp-logo){ gap:28px 36px !important; }
@media (max-width:767px){ .is-style-dp-logo .wp-block-image img{ height:52px; max-width:150px; } }

/* Kafel formy ochrony: cały klikalny (link przycisku rozciągnięty na kafel). */
html .is-style-dp-form > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; display:flex; flex-direction:column; height:100%; background:var(--dp-bg); padding:36px 32px 32px; transition:box-shadow .2s; }
html .is-style-dp-form:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ box-shadow:0 14px 30px var(--dp-navy-a10); }
.is-style-dp-form .wp-block-image{ margin:0 0 20px; }
.is-style-dp-form .wp-block-image img{ width:30px; height:30px; }
.is-style-dp-form h3{ font-size:19px !important; margin:0 0 6px !important; }
.is-style-dp-form .is-style-dp-label{ color:var(--dp-muted) !important; font-size:12px !important; letter-spacing:.06em; margin-top:auto !important; padding-top:14px; border-top:1px solid var(--dp-line); }
.is-style-dp-form .is-style-dp-muted{ font-size:14.5px !important; line-height:1.6 !important; }
.is-style-dp-form .kb-buttons-wrap{ margin-top:8px; }
.ps-main :is(.is-style-dp-form, .is-style-dp-scenario) :is(.kb-buttons-wrap, .kb-button){ position:static !important; }
.ps-main :is(.is-style-dp-form, .is-style-dp-scenario) .kb-button::before{ content:""; position:absolute; inset:0; z-index:1; }
.is-style-dp-scenario > :is(.kt-inside-inner-col, .kadence-inner-column-inner), .is-style-dp-form > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; }
.is-style-dp-term, .dp-term{ font-size:13px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; letter-spacing:.04em; text-transform:uppercase; color:var(--dp-red) !important; margin:0 0 14px !important; }

/* Tabela porównawcza z bloków: wiersze = Row Layout z 3 kolumnami. */
html .is-style-dp-compare > .kt-row-column-wrap > .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner), html .is-style-dp-compare > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-bg); border:1px solid var(--dp-line); }
:is(.wp-block-kadence-rowlayout.is-style-dp-compare-head, .wp-block-kadence-rowlayout.is-style-dp-compare-row, .wp-block-kadence-rowlayout.is-style-dp-compare-head > .kt-row-layout-inner, .wp-block-kadence-rowlayout.is-style-dp-compare-row > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:.8fr 1fr 1fr !important; gap:0 !important; }
.wp-block-kadence-rowlayout.is-style-dp-compare-head{ border-bottom:2px solid var(--dp-navy); }
.wp-block-kadence-rowlayout.is-style-dp-compare-row{ border-bottom:1px solid var(--dp-line); }
.wp-block-kadence-rowlayout.is-style-dp-compare-row:last-child{ border-bottom:0; }
:is(.is-style-dp-compare-head, .is-style-dp-compare-row) .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; padding:18px 24px; }
:is(.is-style-dp-compare-head, .is-style-dp-compare-row) .wp-block-kadence-column + .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-left:1px solid var(--dp-line); }
.is-style-dp-compare-row .wp-block-kadence-column:first-child > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-hover); }
.is-style-dp-compare-row .wp-block-kadence-advancedheading{ font-size:14.5px !important; line-height:1.55 !important; margin:0 !important; }
.is-style-dp-compare-row .is-style-dp-card-title{ font-size:14px !important; }
.is-style-dp-compare-head .wp-block-kadence-advancedheading{ font-size:16px !important; font-weight:var(--dp-fw-heading) !important; color:var(--dp-navy) !important; margin:0 !important; }
/* Ramka pod tabelą: czerwona kreska z litery „I" + tekst | przycisk. */
html .is-style-dp-callout{ margin-top:28px; background:var(--dp-bg); border:1px solid var(--dp-line); }
:is(.wp-block-kadence-rowlayout.is-style-dp-callout, .wp-block-kadence-rowlayout.is-style-dp-callout > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:20px 28px !important; padding:26px 28px; align-items:center; }
.is-style-dp-callout .wp-block-kadence-advancedheading{ position:relative; padding-left:20px; font-size:15px !important; line-height:1.65 !important; margin:0 !important; }
.is-style-dp-callout .wp-block-kadence-advancedheading::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:4px; background:var(--dp-red); }
.is-style-dp-callout strong{ color:var(--dp-navy); }

/* Kafel sytuacji: numer po lewej, treść po prawej. */
html .is-style-dp-scenario > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); padding:34px 32px 34px 94px; transition:box-shadow .2s; }
html .is-style-dp-scenario:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ box-shadow:0 14px 30px var(--dp-navy-a10); }
.is-style-dp-scenario .is-style-dp-num{ position:absolute; left:32px; top:34px; font-size:30px !important; line-height:1 !important; }
.is-style-dp-scenario h3{ font-size:17px !important; margin:0 0 10px !important; }
.is-style-dp-scenario .kb-buttons-wrap{ margin-top:6px; }

/* Wyróżnienie z kreską (Zanim pokażesz rozwiązanie światu). */
html .is-style-dp-note > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; max-width:900px; background:var(--dp-alt); padding:36px 40px 36px 68px; }
html .is-style-dp-note > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ content:""; position:absolute; left:40px; top:40px; width:4px; height:120px; background:var(--dp-red); }
.is-style-dp-note h3{ font-size:21px !important; margin:0 0 14px !important; }
.is-style-dp-note p.wp-block-kadence-advancedheading{ font-size:15.5px !important; line-height:1.7 !important; margin:0 0 12px !important; }
.is-style-dp-note .kb-buttons-wrap{ gap:24px; margin-top:8px; }

/* Terytorium: linia nad kolumną (na granacie). */
.is-style-dp-territory > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-top:2px solid var(--dp-w35); padding-top:20px; }
.is-style-dp-territory .is-style-dp-label{ color:var(--dp-on-navy) !important; letter-spacing:.08em; margin:0 0 8px !important; }
.is-style-dp-territory .is-style-dp-card-title{ font-size:19px !important; }
.is-style-dp-note-line, .dp-note-line{ max-width:820px; margin:48px 0 0 !important; padding:20px 24px; border-left:3px solid var(--dp-red); background:var(--dp-w06); font-size:15px !important; line-height:1.6 !important; color:var(--c-head) !important; }
.is-style-dp-section--navy :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2.wp-block-kadence-advancedheading + .is-style-dp-muted + .wp-block-kadence-rowlayout{ margin-top:48px; }

/* Zespół: wizytówka koordynatora + kafle i liczby. */
:is(.wp-block-kadence-rowlayout.is-style-dp-team-split, .wp-block-kadence-rowlayout.is-style-dp-team-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:minmax(280px,380px) minmax(0,1fr) !important; gap:32px !important; align-items:stretch; }
html .is-style-dp-person > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ display:flex; flex-direction:column; height:100%; background:var(--dp-bg); border-top:2px solid var(--dp-navy); padding:32px; }
.is-style-dp-person .is-style-dp-label{ margin:0 0 18px !important; letter-spacing:.08em; }
html .is-style-dp-person .is-style-dp-avatar{ width:64px; height:64px; font-size:18px !important; }
.is-style-dp-person .is-style-dp-muted{ font-size:13.5px !important; line-height:1.5 !important; }
.is-style-dp-person .is-style-dp-value{ margin-top:auto !important; padding-top:16px; border-top:1px solid var(--dp-line); font-size:14px !important; font-weight:var(--dp-fw-ui); line-height:1.7 !important; }
.is-style-dp-team-split .wp-block-kadence-column:last-child > :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .wp-block-kadence-rowlayout + .wp-block-kadence-rowlayout{ margin-top:32px; }
.is-style-dp-team-split .wp-block-kadence-column:last-child .kb-buttons-wrap{ margin-top:32px; }
.is-style-dp-team-split .is-style-dp-fact .is-style-dp-card-title{ font-size:26px !important; font-weight:var(--dp-fw-strong) !important; }

/* Wyróżnienia w ramkach. */
html .is-style-dp-award > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); border:1px solid var(--dp-border); padding:26px 28px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-award-head, .wp-block-kadence-rowlayout.is-style-dp-award-head > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; justify-content:space-between; align-items:baseline; gap:12px !important; margin-bottom:10px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-award-head, .wp-block-kadence-rowlayout.is-style-dp-award-head > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ width:auto; flex:0 1 auto; }
.is-style-dp-award .is-style-dp-card-title{ font-size:18px !important; font-weight:var(--dp-fw-strong) !important; margin:0 !important; }
.is-style-dp-award .is-style-dp-label{ margin:0 !important; text-transform:none; letter-spacing:0; font-size:13px !important; }
.is-style-dp-award .is-style-dp-small{ font-size:12.5px !important; font-weight:var(--dp-fw-heading); letter-spacing:.05em; text-transform:uppercase; margin:0 0 10px !important; }
.is-style-dp-award .is-style-dp-muted{ font-size:14px !important; }
.is-style-dp-award .wp-block-kadence-rowlayout{ margin-top:0 !important; }

/* Paski strategii i SME Fund (te same co w megamenu, większe). */
html :is(.is-style-dp-strip, .is-style-dp-strip--navy){ background:var(--dp-alt); }
html .is-style-dp-strip--navy{ background:var(--dp-navy); }
.wp-block-kadence-rowlayout.is-style-dp-strip--navy + .wp-block-kadence-rowlayout.is-style-dp-strip{ margin-top:2px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-strip, .wp-block-kadence-rowlayout.is-style-dp-strip--navy, .wp-block-kadence-rowlayout.is-style-dp-strip > .kt-row-layout-inner, .wp-block-kadence-rowlayout.is-style-dp-strip--navy > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:20px 28px !important; padding:36px 40px; align-items:center; }
.wp-block-kadence-rowlayout.is-style-dp-strip > .kt-row-column-wrap{ padding-top:30px; padding-bottom:30px; }
:is(.is-style-dp-strip, .is-style-dp-strip--navy) h3{ font-size:21px !important; margin:0 0 10px !important; }
.is-style-dp-strip h3{ font-size:18px !important; margin-bottom:8px !important; }
:is(.is-style-dp-strip, .is-style-dp-strip--navy) .is-style-dp-muted{ font-size:15px !important; line-height:1.65 !important; max-width:680px; margin:0 !important; }
.is-style-dp-title-dot::before, .dp-title-dot::before{ content:""; display:inline-block; width:7px; height:7px; margin:0 10px .2em 0; border-radius:50%; background:var(--dp-red); vertical-align:middle; }

/* Formularz w hero na dole strony. */
html .is-style-dp-form-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-bg); padding:36px; --c-head:var(--dp-navy); --c-text:var(--dp-text); --c-muted:var(--dp-muted); }
.is-style-dp-form-card .is-style-dp-small{ margin-top:14px !important; }
.is-style-dp-section--hero :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .is-style-dp-card-title{ margin:4px 0 4px !important; font-size:16px !important; }

@media (max-width:1024px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-team-split, .wp-block-kadence-rowlayout.is-style-dp-team-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; }
}
@media (max-width:767px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-compare-head, .wp-block-kadence-rowlayout.is-style-dp-compare-head > .kt-row-layout-inner){ display:none; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-compare-row, .wp-block-kadence-rowlayout.is-style-dp-compare-row > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; }
  :is(.is-style-dp-compare-row) .wp-block-kadence-column + .wp-block-kadence-column > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-left:0; padding-top:4px; }
  .is-style-dp-compare-row .wp-block-kadence-column:nth-child(2) .wp-block-kadence-advancedheading::before{ content:"Patent: "; font-weight:var(--dp-fw-heading); color:var(--dp-navy); }
  .is-style-dp-compare-row .wp-block-kadence-column:nth-child(3) .wp-block-kadence-advancedheading::before{ content:"Wzór użytkowy: "; font-weight:var(--dp-fw-heading); color:var(--dp-navy); }
  html .is-style-dp-scenario > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ padding:28px 24px 28px 76px; }
  .is-style-dp-scenario .is-style-dp-num{ left:24px; top:28px; }
  html .is-style-dp-note > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ padding:28px 24px 28px 44px; }
  html .is-style-dp-note > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ left:24px; top:32px; height:80px; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-strip, .wp-block-kadence-rowlayout.is-style-dp-strip--navy, .wp-block-kadence-rowlayout.is-style-dp-strip > .kt-row-layout-inner, .wp-block-kadence-rowlayout.is-style-dp-strip--navy > .kt-row-layout-inner) > .kt-row-column-wrap{ padding:28px 24px; }
  :is(.is-style-dp-strip, .is-style-dp-strip--navy, .is-style-dp-callout) .kb-buttons-wrap{ justify-content:flex-start !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-hero-stats, .wp-block-kadence-rowlayout.is-style-dp-hero-stats > .kt-row-layout-inner) > .kt-row-column-wrap{ margin-top:48px; }
  html .is-style-dp-section--hero::after{ width:240px; height:240px; border-width:16px; right:-80px; bottom:-90px; }
  html .is-style-dp-form-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ padding:24px; }
}

/* ==========================================================================
   Podstrony usług z makiet v3 (Wynalazki, Wzory użytkowe)
   ========================================================================== */
/* Korzyści / koszty: akapit z czerwoną kreską z litery „I". */
.is-style-dp-bullet, .dp-bullet{ position:relative; padding:18px 0 18px 19px !important; margin:0 !important; border-top:1px solid var(--dp-line); font-size:15.5px !important; line-height:1.7 !important; color:var(--c-text) !important; }
.is-style-dp-bullet::before, .dp-bullet::before{ content:""; position:absolute; left:0; top:25px; width:3px; height:10px; background:var(--dp-red); }
.is-style-dp-bullet strong{ color:var(--c-head); }
.is-style-dp-card .is-style-dp-bullet{ padding:12px 0 12px 15px !important; border-top:0; border-bottom:1px solid var(--dp-line); font-size:14px !important; line-height:1.55 !important; }
.is-style-dp-card .is-style-dp-bullet::before{ top:17px; }
.wp-block-kadence-rowlayout.is-style-dp-hero-split :is(.kt-inside-inner-col, .kadence-inner-column-inner) > h2:first-child{ margin-top:0 !important; font-size:24px !important; }
/* Karta okresu ochrony (prawa kolumna obok korzyści). */
html .is-style-dp-term-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; overflow:hidden; aspect-ratio:3/4; height:auto !important; display:flex; flex-direction:column; padding:28px; margin-bottom:24px;
  background:repeating-linear-gradient(65deg, var(--dp-w06) 0 1px, transparent 1px 18px), linear-gradient(160deg, var(--dp-navy), var(--dp-navy-dark)); }
html .is-style-dp-term-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ content:""; display:block; position:absolute; right:-30px; top:30%; width:220px; height:220px; border-radius:50%; border:22px solid var(--dp-w10); opacity:1 !important; pointer-events:none; }
.is-style-dp-term-label{ position:relative; font-size:12px !important; font-weight:var(--dp-fw-heading) !important; letter-spacing:.08em; text-transform:uppercase; color:var(--dp-on-navy) !important; margin:0 0 10px !important; }
.is-style-dp-term-num{ position:relative; font-size:56px !important; font-weight:var(--dp-fw-strong) !important; line-height:1 !important; color:var(--dp-bg) !important; margin:0 !important; }
.is-style-dp-term-card .wp-block-kadence-rowlayout{ position:relative; margin-top:auto !important; }
html .is-style-dp-caption > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-bg); padding:20px; box-shadow:0 12px 30px var(--dp-navy-a25); --c-head:var(--dp-navy); --c-muted:var(--dp-muted); }
.is-style-dp-caption .is-style-dp-big{ font-size:22px !important; margin:0 0 6px !important; }
.is-style-dp-caption .is-style-dp-small{ font-weight:var(--dp-fw-ui) !important; margin:0 !important; }
/* Warunki / przykłady (kafle) + karta boczna. */
:is(.wp-block-kadence-rowlayout.is-style-dp-cond-split, .wp-block-kadence-rowlayout.is-style-dp-cond-split > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:32px !important; align-items:stretch; }
/* Licowanie góra-dół: siatka kafli po lewej rozciąga się do wysokości karty po prawej (wiersze kafli równej wysokości). */
.is-style-dp-cond-split > .kt-row-column-wrap > .wp-block-kadence-column:first-child > :is(.kt-inside-inner-col, .kadence-inner-column-inner),
.is-style-dp-cond-split > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ display:flex; flex-direction:column; height:100%; }
.is-style-dp-cond-split .wp-block-kadence-column:first-child .wp-block-kadence-rowlayout.is-style-dp-grid-lines{ flex:1 1 auto; display:flex; flex-direction:column; }
:is(.is-style-dp-cond-split .wp-block-kadence-rowlayout.is-style-dp-grid-lines, .is-style-dp-cond-split .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap{ flex:1 1 auto; grid-auto-rows:1fr; }
.is-style-dp-cond-split .is-style-dp-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border:0 !important; border-top:2px solid var(--dp-navy) !important; }
.is-style-dp-grid-lines .is-style-dp-step > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); padding:30px 28px; }
.is-style-dp-grid-lines .is-style-dp-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ padding:26px 24px; }
/* „Kamień milowy": w ramce, w linii obok numeru kroku. */
.is-style-dp-badge, .dp-badge{ display:inline-block !important; vertical-align:10px; font-size:11px !important; font-weight:var(--dp-fw-heading) !important; line-height:1.4 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--dp-red) !important; border:1px solid var(--dp-red) !important; border-radius:var(--dp-radius); padding:3px 8px !important; margin:0 0 10px !important; }
.is-style-dp-step .is-style-dp-num:has(+ .is-style-dp-badge){ display:inline-block !important; margin-right:12px !important; }
.is-style-dp-excl, .dp-excl{ padding:11px 0 !important; margin:0 !important; border-bottom:1px solid var(--dp-line); font-size:14px !important; line-height:1.5 !important; color:var(--dp-text) !important; }
.is-style-dp-excl strong{ display:inline-block; margin-top:3px; font-size:13px; color:var(--dp-red); }
/* Wiersze „Ile to trwa": etykieta po lewej, wartość po prawej. */
.is-style-dp-kv, .dp-kv{ display:flex; justify-content:space-between; gap:16px; padding:12px 0 !important; margin:0 !important; border-bottom:1px solid var(--dp-line); font-size:14px !important; line-height:1.5 !important; color:var(--dp-text) !important; }
.is-style-dp-kv strong{ text-align:right; color:var(--dp-navy); }
/* Uwaga pod kartami (SME Fund) — bez ramki. */
html .is-style-dp-note-row{ margin-top:24px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-note-row, .wp-block-kadence-rowlayout.is-style-dp-note-row > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:16px 28px !important; align-items:center; }
.is-style-dp-note-row .wp-block-kadence-advancedheading{ font-size:14.5px !important; line-height:1.6 !important; font-weight:400 !important; color:var(--dp-text) !important; margin:0 !important; }
/* Kafle wyboru (wzór użytkowy / patent / obie formy). */
html :is(.is-style-dp-choice, .is-style-dp-choice--navy) > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; background:var(--dp-bg); padding:32px 28px; }
html .is-style-dp-choice--navy > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-navy); --c-head:var(--dp-bg); --c-text:var(--dp-on-navy); --c-line:var(--dp-w15); }
:is(.is-style-dp-choice, .is-style-dp-choice--navy) .wp-block-image{ margin:0 0 10px; }
:is(.is-style-dp-choice, .is-style-dp-choice--navy) .wp-block-image img{ width:22px; height:22px; }
:is(.is-style-dp-choice, .is-style-dp-choice--navy) .is-style-dp-label{ color:var(--dp-muted) !important; letter-spacing:.06em; }
.is-style-dp-choice--navy .is-style-dp-label{ color:var(--dp-on-navy) !important; }
:is(.is-style-dp-choice, .is-style-dp-choice--navy) h3{ font-size:19px !important; margin:8px 0 18px !important; }
.is-style-dp-dash, .dp-dash{ position:relative; padding:10px 0 10px 20px !important; margin:0 !important; border-top:1px solid var(--c-line); font-size:14.5px !important; line-height:1.5 !important; color:var(--c-text) !important; }
.is-style-dp-dash::before{ content:"–"; position:absolute; left:0; top:10px; font-weight:var(--dp-fw-heading); color:var(--dp-red); }
.wp-block-kadence-rowlayout.is-style-dp-grid-lines + .kb-buttons-wrap, :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .wp-block-kadence-rowlayout + .wp-block-kadence-advancedbtn{ margin-top:24px; }
/* Siatka z liniami na granacie (ścieżki ochrony za granicą). */
:is(.is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-grid-lines, .is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap{ background:var(--dp-w15); }
:is(.is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-grid-lines, .is-style-dp-section--navy .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ background:var(--dp-navy); }
html .is-style-dp-path > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; display:flex; flex-direction:column; padding:32px 28px; }
.is-style-dp-path .is-style-dp-label{ color:var(--dp-on-navy) !important; letter-spacing:.08em; margin:0 0 8px !important; }
.is-style-dp-path .is-style-dp-card-title{ font-size:20px !important; margin:0 0 12px !important; }
.is-style-dp-path .is-style-dp-muted + .is-style-dp-label{ margin-top:auto !important; padding-top:16px; border-top:1px solid var(--dp-w15); }
.is-style-dp-path .is-style-dp-value{ font-size:14.5px !important; line-height:1.55 !important; color:var(--dp-bg) !important; margin:0 !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-asides, .wp-block-kadence-rowlayout.is-style-dp-asides > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:24px !important; margin-top:32px; }
html :is(.is-style-dp-aside, .is-style-dp-aside--soft) > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; padding:20px 24px; background:var(--dp-w06); border-left:3px solid var(--dp-red); }
html .is-style-dp-aside--soft > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ border-left-color:var(--dp-w35); }
:is(.is-style-dp-aside, .is-style-dp-aside--soft) .is-style-dp-card-title{ font-size:15px !important; margin:0 0 6px !important; }
:is(.is-style-dp-aside, .is-style-dp-aside--soft) .is-style-dp-muted{ margin:0 !important; }
.is-style-dp-note-line a{ color:var(--dp-bg) !important; font-weight:var(--dp-fw-heading); text-decoration:none !important; white-space:nowrap; margin-left:8px; }
/* Wizytówka pozioma (Wzory użytkowe): kółko po lewej, tekst po prawej; liczby obok wyrównane do góry. */
html .is-style-dp-person--row > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:20px; align-items:center; align-content:center; background:var(--dp-bg); border-top:2px solid var(--dp-navy); padding:28px; }
html .is-style-dp-person--row .is-style-dp-avatar{ grid-row:1 / span 4; width:64px; height:64px; margin:0 !important; font-size:18px !important; }
.is-style-dp-person--row .wp-block-kadence-advancedheading:not(.is-style-dp-avatar){ grid-column:2; }
.is-style-dp-person--row .is-style-dp-label{ letter-spacing:.08em; font-size:12px !important; margin:0 0 6px !important; }
.is-style-dp-person--row .is-style-dp-card-title{ font-size:17px !important; margin:0 !important; }
.is-style-dp-person--row .is-style-dp-muted{ font-size:13.5px !important; margin:4px 0 0 !important; }
.is-style-dp-person--row .is-style-dp-value{ font-size:13.5px !important; font-weight:var(--dp-fw-ui); line-height:1.5 !important; margin:8px 0 0 !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-team-split, .wp-block-kadence-rowlayout.is-style-dp-team-split > .kt-row-layout-inner) > .kt-row-column-wrap:has(.is-style-dp-person--row){ grid-template-columns:minmax(300px,420px) minmax(0,1fr) !important; align-items:start; }
/* Zespół z makiety (osoba z kontaktem). */
.is-style-dp-member .is-style-dp-value{ font-size:13px !important; font-weight:var(--dp-fw-ui); line-height:1.5 !important; margin:12px 0 0 !important; }
.wp-block-kadence-rowlayout.is-style-dp-grid-lines + .wp-block-kadence-advancedbtn, .wp-block-kadence-rowlayout.is-style-dp-team-split + .wp-block-kadence-advancedbtn{ margin-top:28px; }
/* Rząd w linii do lewej (branże). */
:is(.wp-block-kadence-rowlayout.is-style-dp-inline-left, .wp-block-kadence-rowlayout.is-style-dp-inline-left > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; flex-wrap:wrap; align-items:center; gap:10px !important; margin-top:36px; }
:is(.wp-block-kadence-rowlayout.is-style-dp-inline-left, .wp-block-kadence-rowlayout.is-style-dp-inline-left > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ flex:0 0 auto; width:auto; }
.is-style-dp-inline-left .is-style-dp-label{ color:var(--dp-muted) !important; letter-spacing:.05em; margin:0 6px 0 0 !important; }
html .is-style-dp-inline-left .is-style-dp-tag > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-alt); border:0; padding:8px 14px; }
@media (max-width:1024px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-cond-split, .wp-block-kadence-rowlayout.is-style-dp-cond-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; }
}
@media (max-width:767px){
  .is-style-dp-term-num{ font-size:44px !important; }
  html .is-style-dp-term-card > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ aspect-ratio:auto; min-height:320px; }
}

/* ==========================================================================
   Nagłówek, menu, menu mobilne
   ========================================================================== */
.ps-wrap{ max-width:var(--dp-max); margin:0 auto; padding:0 var(--dp-gutter); }
.ps-header{ position:sticky; top:0; z-index:100; background:var(--dp-bg); box-shadow:0 1px 0 var(--dp-line); }
.admin-bar .ps-header{ top:32px; }
@media (max-width:782px){ .admin-bar .ps-header{ top:46px; } }
@media (max-width:600px){ .admin-bar .ps-header{ top:0; } }
.ps-topbar{ background:var(--dp-alt); border-bottom:1px solid var(--dp-line); }
.ps-topbar__row{ display:flex; align-items:center; justify-content:flex-end; gap:18px; padding-top:8px; padding-bottom:8px; }
.ps-lang{ display:inline-flex; gap:8px; font-size:12.5px; font-weight:var(--dp-fw-heading); line-height:1.4; color:var(--dp-muted); }
/* Kadence nadaje linkom kolor akcentu (granat) — w nagłówku wszystkie języki wyglądały jak bieżący.
   Pozostałe języki: szare; bieżący: granat + czerwone podkreślenie (mikro-akcent). Stopka ma własne kolory niżej. */
.ps-lang :is(a, span){ color:var(--dp-muted); text-decoration:none; transition:color .15s; }
.ps-lang .is-current{ color:var(--dp-navy); }
:is(.ps-topbar, .ps-mobile-menu__foot) .ps-lang .is-current{ text-decoration:underline; text-decoration-color:var(--dp-red); text-decoration-thickness:2px; text-underline-offset:5px; }
.ps-lang a:hover{ color:var(--dp-red); }
.ps-consult{ display:inline-block; border:1.5px solid var(--dp-red); border-radius:var(--dp-radius); color:var(--dp-navy); padding:7px 16px; font-size:12.5px; font-weight:var(--dp-fw-heading); line-height:1.4; white-space:nowrap; transition:background-color .15s, color .15s; }
.ps-consult:hover{ background:var(--dp-red); color:var(--dp-bg) !important; }
.ps-consult--block{ display:block; text-align:center; padding:13px 18px; font-size:13.5px; }

.ps-header__row{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:28px; padding-bottom:28px; }
.ps-logo{ flex-shrink:0; display:block; width:190px; color:var(--dp-navy); }
.ps-logo img{ width:100%; height:auto; }
.ps-nav{ display:flex; align-items:center; justify-content:flex-end; gap:4px; flex:1; }
.ps-nav-item{ position:relative; }
.ps-nav-link{ display:block; padding:9px 12px; border-radius:4px; font-size:14.5px; font-weight:var(--dp-fw-ui); line-height:1.4; color:var(--dp-ink); white-space:nowrap; transition:background-color .15s, color .15s; }
.ps-nav-link:hover, .ps-nav-item:focus-within > .ps-nav-link{ background:var(--dp-hover); color:var(--dp-red); }
.ps-nav-item.is-active > .ps-nav-link{ color:var(--dp-red); }
.ps-nav-link.dp-nav-btn{ border:1.5px solid var(--dp-red); border-radius:var(--dp-radius); color:var(--dp-navy); margin-left:8px; }
.ps-nav-link.dp-nav-btn:hover{ background:var(--dp-red); color:var(--dp-bg); }
.ps-dropdown{ position:absolute; top:100%; left:0; z-index:60; min-width:280px; padding:10px; background:var(--dp-bg); border-top:2px solid var(--dp-red); box-shadow:var(--dp-shadow); visibility:hidden; opacity:0; transform:translateY(4px); transition:opacity .15s, transform .15s, visibility .15s; }
.ps-nav-item:hover > .ps-dropdown, .ps-nav-item:focus-within > .ps-dropdown, .ps-nav-item.is-open > .ps-dropdown{ visibility:visible; opacity:1; transform:none; }
.ps-dropdown a{ display:block; padding:11px 14px; border-radius:4px; font-size:14px; font-weight:var(--dp-fw-ui); line-height:1.4; color:var(--dp-ink); white-space:nowrap; transition:background-color .15s, color .15s; }
.ps-dropdown a:hover, .ps-dropdown a[aria-current="page"]{ background:var(--dp-alt); color:var(--dp-red); }
@media (prefers-reduced-motion:reduce){ .ps-dropdown{ transition:none; transform:none; } }
@media (max-width:1320px){ .ps-nav-link{ padding:9px 8px; font-size:14px; } .ps-logo{ width:170px; } }

/* Megamenu (pozycja z trzema poziomami: Usługi → grupy → usługi). Panel na całą szerokość
   nagłówka; otwiera go najechanie albo kliknięcie (JS: klasa is-open), z klawiatury — Enter na „Usługi". */
.ps-nav-item.has-mega{ position:static; }
/* „Usługi" czerwone tylko gdy jesteśmy w usługach (is-active) albo panel jest otwarty; w makiecie było zawsze, ale to wprowadzało w błąd. */
.ps-nav-item.has-mega.is-open > .ps-nav-link{ color:var(--dp-red); }
.ps-mega{ position:absolute; left:0; right:0; top:100%; z-index:60; background:var(--dp-bg); border-top:2px solid var(--dp-red); box-shadow:0 24px 40px var(--dp-navy-a16); visibility:hidden; opacity:0; transform:translateY(4px); transition:opacity .15s, transform .15s, visibility .15s; }
.ps-nav-item.has-mega.is-open > .ps-mega{ visibility:visible; opacity:1; transform:none; }
/* Bez JS: panel otwiera najechanie. */
html:not(.ps-js) .ps-nav-item.has-mega:hover > .ps-mega{ visibility:visible; opacity:1; transform:none; }
.ps-mega__inner{ max-width:var(--dp-max); margin:0 auto; padding:36px var(--dp-gutter) 28px; }
.ps-mega__groups{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px; }
.ps-mega__title{ display:flex; gap:10px; align-items:flex-start; font-size:15px; font-weight:var(--dp-fw-heading); line-height:1.3; color:var(--dp-navy); white-space:normal; transition:color .15s; }
/* Wyrównanie kolumn: tytuł grupy zawsze na wysokość dwóch linii, podtytuł jednej — listy usług startują równo. */
.ps-header .ps-mega__title{ min-height:calc(2 * 1.3em); }
.ps-header .ps-mega__sub{ min-height:1.4em; }
.ps-mega__title:hover, .ps-mega__group.is-current > .ps-mega__title{ color:var(--dp-red); }
.ps-mega__icon{ flex:none; width:22px; height:22px; margin-top:-2px; }
.ps-mega__sub{ display:block; margin:6px 0 14px 32px; font-size:12.5px; line-height:1.4; color:var(--dp-muted); }
.ps-mega__items{ display:flex; flex-direction:column; margin-left:32px; padding-left:12px; border-left:1px solid var(--dp-line); }
.ps-mega__items a{ padding:5px 0; font-size:14px; font-weight:500; line-height:1.4; color:var(--dp-text); transition:color .15s; }
.ps-mega__items a:hover, .ps-mega__items a[aria-current="page"]{ color:var(--dp-red); }
/* Pasek pod grupami — blok „Megamenu — pasek dolny" (bloki Kadence, style dp-mega-*). */
.ps-mega__bar{ margin-top:32px; }
.ps-mega__bar .wp-block-kadence-rowlayout{ margin:0 !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-mega-tiles, .wp-block-kadence-rowlayout.is-style-dp-mega-tiles > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:2px !important; background:var(--dp-line); }
/* Kafel 1 (Megamenu: kafel) — granat; kafel 2 (Megamenu: kafel z czerwoną kropką) — przyciemnione zdjęcie
   assets/img/megamenu/msp-turbina.jpg (podmiana: plik o tej samej nazwie). Tekst jasny w obu. */
html [class*="is-style-dp-mega-tile"] > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ position:relative; overflow:hidden; height:100%; min-height:84px; display:flex; flex-direction:column; justify-content:center; background:var(--dp-navy); padding:20px 58px 20px 24px; transition:background-color .2s; }
html .is-style-dp-mega-tile:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-navy-mid); }
html .is-style-dp-mega-tile--dot > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ background:var(--dp-navy-dark) url(../img/megamenu/msp-turbina.jpg) center 40%/cover no-repeat; }
/* Przyciemnienie zdjęcia: mocne pod tekstem, zdjęcie lekko widoczne tylko przy prawej krawędzi.
   Kadence 3.8 daje ::before kolumny opacity:.3 (własna nakładka kolumn) — stąd opacity:1 !important. */
html .is-style-dp-mega-tile--dot > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::before{ content:""; position:absolute; inset:0; z-index:0; opacity:1 !important; background:linear-gradient(90deg, var(--dp-dark-a92) 0%, var(--dp-dark-a92) 45%, var(--dp-dark-a85) 70%, var(--dp-dark-a60) 100%) !important; pointer-events:none; }[class*="is-style-dp-mega-tile"] .wp-block-kadence-advancedheading{ position:relative; z-index:1; }
html [class*="is-style-dp-mega-tile"] > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::after{ content:"→"; position:absolute; z-index:1; right:24px; top:50%; transform:translateY(-50%); font-weight:var(--dp-fw-heading); color:var(--dp-bg); transition:transform .15s; }
html [class*="is-style-dp-mega-tile"]:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner)::after{ transform:translate(4px,-50%); }
[class*="is-style-dp-mega-tile"] .is-style-dp-card-title{ font-size:15px !important; margin:0 0 4px !important; color:var(--dp-bg) !important; }
[class*="is-style-dp-mega-tile"] .is-style-dp-card-title a{ color:var(--dp-bg) !important; }
.ps-header [class*="is-style-dp-mega-tile"] .is-style-dp-card-title a::before{ content:""; position:absolute; inset:0; z-index:1; }
[class*="is-style-dp-mega-tile"] .is-style-dp-small{ font-size:13px !important; line-height:1.45 !important; margin:0 !important; color:var(--dp-on-navy) !important; }
.is-style-dp-mega-tile--dot .is-style-dp-card-title::before{ content:""; display:inline-block; width:6px; height:6px; margin:0 8px .15em 0; border-radius:50%; background:var(--dp-red); vertical-align:middle; }
/* Pod kaflami tylko „Wszystkie usługi →" po prawej (linie „Utrzymanie ochrony" usunięte w 2.5.4 — w starszych
   blokach paska akapit w stylu „Megamenu: linki w linii" jest ukryty). */
.ps-mega__bar .wp-block-kadence-rowlayout.is-style-dp-mega-foot{ margin-top:22px !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-mega-foot, .wp-block-kadence-rowlayout.is-style-dp-mega-foot > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:6px 22px !important; }
.ps-mega__bar .wp-block-kadence-column:has(> :is(.kt-inside-inner-col, .kadence-inner-column-inner) > .is-style-dp-mega-links){ display:none; }
:is(.wp-block-kadence-rowlayout.is-style-dp-mega-foot, .wp-block-kadence-rowlayout.is-style-dp-mega-foot > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ width:auto; flex:0 1 auto; }
.is-style-dp-mega-links, .dp-mega-links{ font-size:13px !important; line-height:1.6 !important; color:var(--dp-muted) !important; margin:0 !important; }
.is-style-dp-mega-links a{ margin-left:18px; font-weight:500; color:var(--dp-text) !important; text-decoration:none !important; }
.is-style-dp-mega-all, .dp-mega-all{ font-size:13px !important; line-height:1.6 !important; margin:0 !important; }
.is-style-dp-mega-all a{ font-weight:var(--dp-fw-heading); color:var(--dp-navy) !important; text-decoration:none !important; }
:is(.is-style-dp-mega-links, .is-style-dp-mega-all) a:hover{ color:var(--dp-red) !important; }
.ps-mega__inner{ padding-bottom:32px; }
/* Panel z kaflami (Branże) */
.ps-mega__tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; background:var(--dp-line); }
.ps-header .ps-mega__tile{ display:flex; gap:14px; align-items:flex-start; padding:22px 24px; background:var(--dp-bg); color:var(--dp-navy); white-space:normal; transition:background .15s, color .15s; }
.ps-header .ps-mega__tile:hover{ background:var(--dp-alt); color:var(--dp-navy); }
.ps-header .ps-mega__tile.is-current{ background:var(--dp-alt); color:var(--dp-red); }
.ps-mega__tile-title{ display:block; font-size:15px; font-weight:var(--dp-fw-heading); line-height:1.3; }
.ps-mega__tile-sub{ display:block; margin-top:4px; font-size:13px; font-weight:400; line-height:1.45; color:var(--dp-muted); }
.ps-mega__foot{ margin-top:18px; text-align:right; }
.ps-header .ps-mega__foot a{ font-size:13px; font-weight:var(--dp-fw-heading); color:var(--dp-navy); }
.ps-header .ps-mega__foot a:hover{ color:var(--dp-red); }
.ps-mobile-menu__links .ps-mega__tiles{ display:flex; flex-direction:column; gap:12px; margin:-4px 0 0; padding-left:12px; background:none; border-left:1px solid var(--dp-line); }
.ps-mobile-menu__links .ps-mega__tile{ display:block; font-size:15px; white-space:normal; }
.ps-mobile-menu__links :is(.ps-mega__tile-sub, .ps-mega__foot){ display:none; }
.ps-mobile-menu__links .ps-mega__tile-title{ font-weight:var(--dp-fw-heading); }
/* Branże: ścieżka „publikacja / zgłoszenie" */
:is(.wp-block-kadence-rowlayout.is-style-dp-flow-row, .wp-block-kadence-rowlayout.is-style-dp-flow-row > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:200px minmax(0,1fr) !important; gap:16px !important; align-items:center; padding:22px 28px; background:var(--dp-bg); border:1px solid var(--dp-line); }
.wp-block-kadence-rowlayout.is-style-dp-flow-row{ margin:0 !important; }
.wp-block-kadence-rowlayout.is-style-dp-flow-row + .is-style-dp-flow-row{ margin-top:-1px !important; }
.wp-block-kadence-rowlayout.is-style-dp-flow-row + .is-style-dp-grid-lines{ margin-top:28px !important; }
.is-style-dp-flow{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 !important; font-size:14px !important; color:var(--dp-muted); }
.is-style-dp-flow span{ padding:9px 14px; background:var(--dp-alt); font-weight:600; color:var(--dp-navy); }
.is-style-dp-flow span.is-bad{ background:var(--dp-bg); border:1.5px solid var(--dp-red); color:var(--dp-red); font-weight:var(--dp-fw-heading); }
.is-style-dp-flow span.is-good{ background:var(--dp-navy); color:var(--dp-bg); font-weight:var(--dp-fw-heading); }
/* Branże: elementy marki */
:is(.wp-block-kadence-rowlayout.is-style-dp-anat-split, .wp-block-kadence-rowlayout.is-style-dp-anat-split > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:32px !important; }
.is-style-dp-anat-img > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ height:100%; display:flex; flex-direction:column; justify-content:center; padding:20px 16px; background:var(--dp-bg); border-top:2px solid var(--dp-navy); }
.is-style-dp-anat-img img{ display:block; width:100%; height:auto; }
.is-style-dp-anat-img .is-style-dp-small{ text-align:center; margin:10px 0 0 !important; }
.is-style-dp-anat{ position:relative; }
.is-style-dp-anat > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ display:grid; grid-template-columns:34px minmax(0,1fr) auto; column-gap:14px; align-items:center; padding:18px 22px; transition:box-shadow .2s; }
.is-style-dp-anat:hover > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ box-shadow:0 10px 24px var(--dp-navy-a16); }
.is-style-dp-anat .is-style-dp-anat-num{ grid-row:1 / span 2; display:flex; align-items:center; justify-content:center; width:30px; height:30px; margin:0 !important; border-radius:50%; background:var(--dp-red); color:var(--dp-bg) !important; font-size:13.5px !important; font-weight:var(--dp-fw-heading); }
.is-style-dp-anat .is-style-dp-card-title{ grid-column:2; margin:0 !important; font-size:15.5px !important; }
.is-style-dp-anat .is-style-dp-small{ grid-column:2; margin:3px 0 0 !important; }
.is-style-dp-anat .kb-buttons-wrap{ grid-column:3; grid-row:1 / span 2; margin:0 !important; }
.ps-main .is-style-dp-anat .kb-button::before{ content:""; position:absolute; inset:0; z-index:1; }
@media (max-width:767px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-flow-row, .wp-block-kadence-rowlayout.is-style-dp-flow-row > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; padding:18px 20px; }
  .ps-mega__tiles{ grid-template-columns:1fr; }
  .is-style-dp-anat > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ grid-template-columns:34px minmax(0,1fr); }
  .is-style-dp-anat .kb-buttons-wrap{ grid-column:2; grid-row:auto; margin-top:6px !important; }
}
@media (max-width:1320px){ .ps-mega__groups{ gap:24px; } .ps-mega__sub, .ps-mega__items{ margin-left:0; } }
@media (prefers-reduced-motion:reduce){ .ps-mega{ transition:none; transform:none; } }
/* Edytor bloku paska (Wygląd → Megamenu): szerokość jak w nagłówku. */
.editor-styles-wrapper .is-root-container > .wp-block-kadence-rowlayout:is(.is-style-dp-mega-tiles, .is-style-dp-mega-foot){ max-width:calc(var(--dp-max) - 2 * var(--dp-gutter)); margin-left:auto !important; margin-right:auto !important; }

/* Hamburger i krzyżyk rysowane w CSS (znaki ☰ / ✕ każdy font stawia inaczej). */
.ps-mobile-toggle, .ps-mobile-close{ position:relative; flex-shrink:0; width:44px; height:44px; padding:0; background:none; border:1px solid var(--dp-line); border-radius:8px; color:var(--dp-navy); cursor:pointer; }
.ps-mobile-toggle{ display:none; }
.ps-burger{ position:absolute; left:50%; top:50%; width:20px; height:2px; margin:-1px 0 0 -10px; background:currentColor; }
.ps-burger::before, .ps-burger::after{ content:""; position:absolute; left:0; width:100%; height:100%; background:currentColor; }
.ps-burger::before{ top:-7px; } .ps-burger::after{ top:7px; }
.ps-close-x::before, .ps-close-x::after{ content:""; position:absolute; left:50%; top:50%; width:20px; height:2px; margin:-1px 0 0 -10px; background:currentColor; }
.ps-close-x::before{ transform:rotate(45deg); } .ps-close-x::after{ transform:rotate(-45deg); }

.ps-mobile-menu{ display:none; position:fixed; inset:0; height:100vh; height:100dvh; z-index:1000; flex-direction:column; padding:0 24px calc(24px + env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; background:var(--dp-bg); }
.ps-mobile-menu.is-open{ display:flex; animation:ps-fade .2s ease-out; }
html.ps-menu-open, html.ps-menu-open body{ overflow:hidden; }
.ps-mobile-menu__top{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0; border-bottom:1px solid var(--dp-line); }
.ps-mobile-menu__top .ps-logo{ width:160px; }
.ps-mobile-menu__links{ display:flex; flex-direction:column; margin-top:8px; }
.ps-mobile-menu__links > .ps-nav-item{ border-bottom:1px solid var(--dp-line); }
.ps-mobile-menu__links > .ps-nav-item > .ps-nav-link{ display:flex; align-items:center; padding:16px 0; font-size:17px; border-radius:0; background:none; }
.ps-mobile-menu__links > .ps-nav-item > .ps-nav-link::after{ content:"→"; margin-left:auto; color:var(--dp-muted); }
.ps-mobile-menu__links > .ps-nav-item > .ps-nav-link.dp-nav-btn{ border:0; margin:0; color:var(--dp-ink); }
.ps-mobile-menu__links .ps-dropdown{ position:static; visibility:visible; opacity:1; transform:none; min-width:0; margin:-6px 0 0; padding:0 0 14px 16px; border:0; box-shadow:none; background:none; }
.ps-mobile-menu__links .ps-dropdown a{ padding:8px 0; font-size:15px; font-weight:500; color:var(--dp-text); white-space:normal; }
/* Megamenu w menu mobilnym: grupy i pod nimi usługi (trzeci poziom); ikony, podtytuły i pasek — tylko na desktopie. */
.ps-mobile-menu__links .ps-mega{ position:static; visibility:visible; opacity:1; transform:none; border:0; box-shadow:none; background:none; }
.ps-mobile-menu__links .ps-mega__inner{ padding:0 0 16px 14px; }
.ps-mobile-menu__links .ps-mega__groups{ display:flex; flex-direction:column; gap:16px; margin:-4px 0 0; padding-left:12px; border-left:1px solid var(--dp-line); }
.ps-mobile-menu__links .ps-mega__title{ font-size:15px; font-weight:var(--dp-fw-heading); }
.ps-mobile-menu__links .ps-mega__items{ margin:6px 0 0 2px; padding-left:12px; }
.ps-mobile-menu__links .ps-mega__items a{ padding:6px 0; font-size:14.5px; white-space:normal; }
.ps-mobile-menu__links :is(.ps-mega__icon, .ps-mega__sub, .ps-mega__bar){ display:none; }
.ps-mobile-menu__foot{ display:flex; flex-direction:column; align-items:center; gap:18px; margin-top:auto; padding-top:28px; text-align:center; }
.ps-mobile-menu__foot .ps-lang{ font-size:13px; }
.ps-mobile-menu__foot .ps-consult{ padding:12px 20px; font-size:14px; }
@keyframes ps-fade{ from{ opacity:0; } }
@media (prefers-reduced-motion:reduce){ .ps-mobile-menu.is-open{ animation:none; } }
@media (max-width:1180px){
  .ps-header__row > .ps-nav{ display:none; }
  .ps-mobile-toggle{ display:block; }
}
@media (max-width:899px){
  .ps-topbar{ display:none; }
  .ps-header__row{ padding-top:16px; padding-bottom:16px; }
  .ps-logo{ width:150px; }
}

/* Okruszki (skrót [dp_okruszki] i szablony PHP). */
.ps-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13.5px; line-height:1.5; color:var(--dp-muted); }
.ps-crumbs a{ color:var(--dp-muted); }
.ps-crumbs a:hover{ color:var(--dp-red); }
.ps-crumbs [aria-current]{ color:var(--dp-navy); }
.ps-crumbs-bar{ background:var(--dp-alt); border-bottom:1px solid var(--dp-line); }
.ps-crumbs-bar .ps-wrap{ padding-top:18px; padding-bottom:18px; }

/* ==========================================================================
   Wpis (single.php) i listy wpisów (home.php, archive.php)
   ========================================================================== */
.ps-article{ display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,320px); gap:64px; align-items:start; padding-top:72px; padding-bottom:96px; }
.ps-article__title{ font-size:clamp(28px,3.6vw,40px) !important; line-height:1.2 !important; margin:0 0 16px !important; }
.ps-article__date{ display:block; font-size:13.5px; font-weight:var(--dp-fw-ui); color:var(--dp-muted); margin:0 0 36px; }
.ps-article__cover{ margin:0 0 40px; }
.ps-article__cover img{ width:100%; height:auto; aspect-ratio:1200/627; object-fit:cover; }
.ps-article__cover--empty{ position:relative; overflow:hidden; aspect-ratio:1200/627; background:repeating-linear-gradient(65deg, var(--dp-w08) 0 1px, transparent 1px 18px), linear-gradient(135deg, var(--dp-navy), var(--dp-navy-dark)); }
.ps-article__cover--empty::after{ content:""; position:absolute; right:-40px; bottom:-60px; width:220px; height:220px; border-radius:50%; border:20px solid var(--dp-w10); }
.ps-article__body{ font-size:var(--dp-fs-body); line-height:var(--dp-lh-body); color:var(--dp-ink); }
.ps-article__body p{ margin:0 0 22px; color:var(--dp-ink); }
.ps-article__body :is(h2, h3, h4){ margin:36px 0 14px; color:var(--dp-navy); }
.ps-article__body h2{ font-size:24px; } .ps-article__body h3{ font-size:19px; }
.ps-article__body :is(ul, ol){ margin:0 0 22px; padding-left:22px; }
.ps-article__body li{ font-size:var(--dp-fs-body); color:var(--dp-ink); margin-bottom:8px; }
.ps-article__body li::marker{ color:var(--dp-red); }
.ps-article__body a{ color:var(--dp-navy); text-decoration:underline; text-decoration-color:var(--dp-red); text-underline-offset:3px; }
.ps-article__body blockquote{ margin:28px 0; padding-left:24px; border-left:2px solid var(--dp-red); font-size:20px; color:var(--dp-navy); }
.ps-article__body figure{ margin:28px 0; }
/* Galerie z migracji (Contao: <ul><li><figure><img>) — siatka zdjęć zamiast listy z punktorami. */
.ps-article__body ul:has(> li > figure){ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; list-style:none; padding:0; margin:0 0 28px; }
.ps-article__body ul:has(> li > figure) > li{ margin:0; padding:0; }
.ps-article__body ul:has(> li > figure) > li::marker{ content:none; }
.ps-article__body ul:has(> li > figure) figure, .ps-article__body ul:has(> li > figure) figure p{ margin:0; }
.ps-article__body ul:has(> li > figure) img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
/* Ikonki plików z Contao (iconPDF.gif itd., 18×18) — w linii obok linku, nie jako osobny blok. */
.ps-article__body img[src*="/icon"]{ display:inline-block; width:auto; height:1em; margin:0 6px 0 0; vertical-align:-.12em; }
.ps-article__body figcaption{ font-size:13px; color:var(--dp-muted); margin-top:8px; }
.ps-article__back{ margin-top:48px; padding-top:28px; border-top:1px solid var(--dp-line); }
.ps-link-back{ display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:var(--dp-fw-heading); color:var(--dp-navy); transition:gap .15s; }
.ps-link-back::before{ content:"←"; }
.ps-link-back:hover{ gap:10px; }
.ps-article__aside{ position:sticky; top:var(--ps-sticky-top,150px); display:flex; flex-direction:column; gap:32px; }
.ps-aside-list{ display:flex; flex-direction:column; }
.ps-aside-list__title{ font-size:13px !important; font-weight:var(--dp-fw-heading); letter-spacing:.05em; text-transform:uppercase; color:var(--dp-navy) !important; margin:0 0 16px !important; }
.ps-aside-list a{ font-size:14px; line-height:1.5; color:var(--dp-ink); padding:12px 0; border-bottom:1px solid var(--dp-line); }
.ps-aside-list a:hover{ color:var(--dp-red); }
.ps-aside-cta{ background:var(--dp-alt); padding:28px; }
.ps-aside-cta__title{ font-size:16px !important; font-weight:var(--dp-fw-heading); color:var(--dp-navy) !important; margin:0 0 10px !important; }
.ps-aside-cta p:not(.ps-aside-cta__title){ font-size:13.5px; line-height:1.6; color:var(--dp-muted); margin:0 0 18px; }

.ps-list-head{ padding-top:72px; padding-bottom:20px; }
.ps-list-head h1{ max-width:720px; margin:0; }
.ps-list{ padding-top:32px; padding-bottom:96px; }
.ps-news-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:32px; margin-bottom:56px; }
.ps-news-card{ display:block; }
.ps-news-card__thumb{ position:relative; display:flex; align-items:flex-end; aspect-ratio:1200/627; padding:16px; overflow:hidden; background:repeating-linear-gradient(65deg, var(--dp-w10) 0 1px, transparent 1px 15px), linear-gradient(135deg, var(--dp-navy), var(--dp-navy-mid)); }
.ps-news-card__thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.ps-news-card:hover .ps-news-card__thumb img{ transform:scale(1.03); }
.ps-news-card__tag{ position:relative; color:var(--dp-bg); font-size:12.5px; font-weight:var(--dp-fw-heading); letter-spacing:.05em; text-transform:uppercase; background:var(--dp-black-a25); padding:6px 12px; border-radius:var(--dp-radius); }
.ps-news-card__date{ display:block; font-size:13px; font-weight:var(--dp-fw-ui); color:var(--dp-muted); margin:16px 0 8px; }
.ps-news-card__title{ display:block; font-size:17.5px; font-weight:var(--dp-fw-heading); line-height:1.4; color:var(--dp-navy); margin:0 0 10px; }
.ps-news-card__more{ display:inline-flex; gap:6px; font-size:13.5px; font-weight:var(--dp-fw-heading); color:var(--dp-red); transition:gap .15s; }
.ps-news-card__more::after{ content:"→"; }
.ps-news-card:hover .ps-news-card__more{ gap:10px; }
.ps-news-card:hover .ps-news-card__title{ color:var(--dp-red); }
.ps-pagination{ display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.ps-list__empty{ color:var(--dp-muted); }

/* ==========================================================================
   Stopka — blok „Stopka strony" (inc/footer.php); style po klasach rzędów,
   więc działają też w edytorze bloku.
   ========================================================================== */
.ps-footer{ background:var(--dp-navy-dark); padding:72px 0 32px; }
.ps-footer, .editor-styles-wrapper:has(.is-style-dp-footer-grid){ --c-head:var(--dp-bg); --c-text:var(--dp-footer-text); --c-muted:var(--dp-footer-text); }
.editor-styles-wrapper:has(.is-style-dp-footer-grid){ background:var(--dp-navy-dark) !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-footer-grid, .wp-block-kadence-rowlayout.is-style-dp-footer-grid > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1.4fr 1fr 1fr 1fr !important; gap:48px !important; padding-bottom:48px !important; border-bottom:1px solid var(--dp-footer-line); }
.is-style-dp-footer-grid .wp-block-image{ margin:0 0 20px; }
.is-style-dp-footer-grid .wp-block-image img{ width:180px; height:auto; }
.is-style-dp-footer-grid .wp-block-kadence-advancedheading{ font-size:13.5px !important; line-height:1.6 !important; color:var(--dp-footer-text) !important; margin:0 0 12px !important; }
.is-style-dp-footer-grid .wp-block-image + .wp-block-kadence-advancedheading{ max-width:220px; }
.is-style-dp-footer-grid .wp-block-kadence-advancedheading.is-style-dp-eyebrow{ font-size:13px !important; letter-spacing:.05em; color:var(--dp-bg) !important; margin:0 0 18px !important; }
.is-style-dp-footer-grid .is-style-dp-eyebrow::before{ display:none; }
.is-style-dp-footer-grid a{ color:inherit; text-decoration:none; transition:color .15s; }
.is-style-dp-footer-grid a:hover{ color:var(--dp-bg); }
:is(.wp-block-kadence-rowlayout.is-style-dp-footer-bottom, .wp-block-kadence-rowlayout.is-style-dp-footer-bottom > .kt-row-layout-inner) > .kt-row-column-wrap{ display:flex !important; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px !important; padding-top:28px !important; }
:is(.wp-block-kadence-rowlayout.is-style-dp-footer-bottom, .wp-block-kadence-rowlayout.is-style-dp-footer-bottom > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ width:auto; flex:0 1 auto; }
.is-style-dp-footer-bottom .wp-block-kadence-advancedheading{ font-size:12.5px !important; line-height:1.5 !important; color:var(--dp-footer-faint) !important; margin:0 !important; }
.is-style-dp-footer-bottom a{ color:var(--dp-footer-faint); font-size:11px; }
.is-style-dp-footer-bottom a:hover{ color:var(--dp-bg); }
.is-style-dp-footer-bottom .ps-lang{ color:var(--dp-footer-text); }
.is-style-dp-footer-bottom .ps-lang .is-current{ color:var(--dp-bg); }

/* ==========================================================================
   Responsywność siatek (Kadence domyślnie: tablet = układ desktopu, telefon = 1 kolumna)
   ========================================================================== */
@media (max-width:1024px){
  :is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap.kt-has-4-columns,
  :is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap.kt-has-3-columns{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-footer-grid, .wp-block-kadence-rowlayout.is-style-dp-footer-grid > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr 1fr !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-hero-split, .wp-block-kadence-rowlayout.is-style-dp-hero-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:minmax(0,1fr) minmax(240px,320px) !important; gap:40px !important; }
}
@media (max-width:899px){
  .ps-article{ grid-template-columns:1fr; gap:48px; padding-top:48px; padding-bottom:64px; }
  .ps-article__aside{ position:static; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-hero-split, .wp-block-kadence-rowlayout.is-style-dp-hero-split > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-hero-split, .wp-block-kadence-rowlayout.is-style-dp-hero-split > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column:last-child{ position:static; }
  .is-style-dp-visual > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ aspect-ratio:16/10; }
}
@media (max-width:767px){
  :root{ --dp-gutter:20px; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap.kt-has-4-columns,
  :is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap.kt-has-3-columns,
  :is(.wp-block-kadence-rowlayout.is-style-dp-grid-lines, .wp-block-kadence-rowlayout.is-style-dp-grid-lines > .kt-row-layout-inner) > .kt-row-column-wrap.kt-has-2-columns{ grid-template-columns:1fr !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-section-head, .wp-block-kadence-rowlayout.is-style-dp-section-head > .kt-row-layout-inner) > .kt-row-column-wrap{ margin-bottom:32px; }
  .is-style-dp-chip > :is(.kt-inside-inner-col, .kadence-inner-column-inner){ min-width:0; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap{ gap:12px !important; }
  :is(.wp-block-kadence-rowlayout.is-style-dp-inline, .wp-block-kadence-rowlayout.is-style-dp-inline > .kt-row-layout-inner) > .kt-row-column-wrap > .wp-block-kadence-column{ flex:1 1 140px; }
  .ps-list-head{ padding-top:48px; }
  .ps-news-grid{ grid-template-columns:1fr; }
}
@media (max-width:480px){ :is(.wp-block-kadence-rowlayout.is-style-dp-footer-grid, .wp-block-kadence-rowlayout.is-style-dp-footer-grid > .kt-row-layout-inner) > .kt-row-column-wrap{ grid-template-columns:1fr !important; gap:32px !important; } }
