/* =====================================================================
   ProFlow, warstwa globalna serwisu (redesign 2026-09-29)
   Zrodlo wzorca: strona glowna 6449. Paleta i kroje: Identyfikacja\
   IDENTYFIKACJA WIZUALNA ProFlow (D-013, kroje od 2026-09-24).
   Cel dostepnosci: WCAG 2.2 AA plus 1.4.6 (7:1), D-014. Fokus: D-016.
   Nie laduje sie na stronach z szablonem Elementor Canvas (6449, 6450,
   6451), bo te maja wlasny, osadzony w tresci arkusz.
   ===================================================================== */
:root{
  --pf-naglowek:'Red Hat Display',system-ui,-apple-system,sans-serif;
  --pf-tekstowy:'Libre Franklin',system-ui,-apple-system,sans-serif;
  --pf-bialy:#FFFFFF; --pf-warstwa:#F6F8F9; --pf-warstwa-zimna:#EDF8FD;
  --pf-gleboki:#005674; --pf-gleboki-h:#00465F; --pf-roboczy:#005A80; --pf-sygnal:#00BAFF;
  --pf-tekst:#0B0F12; --pf-akapit:#39434A; --pf-drugi:#4F5459;
  --pf-linia:#E4E8EB; --pf-linia-jasna:#EFF2F4; --pf-kontrolka:#4F5459; --pf-fokus:#00303F;
}

/* ---------- tlo i tekst ---------- */
/* #F5F5F5 z Astry obniza kontrast linkow do 6,94:1, dlatego biel wymuszona (CLAUDE.md) */
html body,body.ast-separate-container,
.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area,.ast-separate-container .ast-archive-description,
.ast-plain-container,.site-content{background-color:var(--pf-bialy)!important}
body{color:var(--pf-tekst);font-family:var(--pf-tekstowy);font-size:17px;line-height:1.6;
  letter-spacing:.043em;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:96px}

/* ---------- naglowki ---------- */
h1,h2,h3,h4,h5,h6,.entry-title,
.elementor-widget-heading .elementor-heading-title{
  font-family:var(--pf-naglowek);color:var(--pf-tekst);letter-spacing:.03em;text-wrap:balance}
h1,.entry-content h1{font-size:clamp(32px,4.3vw,50px);font-weight:700;line-height:1.06}
h2,.entry-content h2{font-size:clamp(26px,3.3vw,39px);font-weight:700;line-height:1.08}
h3,.entry-content h3{font-size:20px;font-weight:700;line-height:1.28}
h4,.entry-content h4{font-size:16.5px;font-weight:600;line-height:1.32;letter-spacing:-.012em}
h5,.entry-content h5{font-size:15px;font-weight:600;line-height:1.35;letter-spacing:.01em}
h6,.entry-content h6{font-size:13px;font-weight:600;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;color:var(--pf-drugi)}

/* ---------- tekst ---------- */
p{margin:0 0 18px}
/* tylko wpisy blogowe (Gutenberg). Na stronach Elementora akapity dziedzicza kolor
   z sekcji, np. biel na ciemnym tle; wymuszenie tu zrobilo ciemny tekst na #005674 (2,37:1). */
body.single-post .entry-content p,body.single-post .entry-content li{color:var(--pf-tekst)}

/* ---------- linki w tresci: podkreslone (1.4.1), kolor #005A80 ---------- */
.entry-content a:not(.wp-block-button__link):not(.elementor-button),
.elementor-widget-text-editor a,.comment-content a{
  color:var(--pf-roboczy);text-decoration:underline;text-underline-offset:.16em}
a:hover,a:focus{color:var(--pf-gleboki)}
.entry-content a:not(.wp-block-button__link):not(.elementor-button):hover,
.entry-content a:not(.wp-block-button__link):not(.elementor-button):focus,
.elementor-widget-text-editor a:hover,.elementor-widget-text-editor a:focus{
  color:var(--pf-gleboki)!important;text-decoration-thickness:2px}

/* ---------- przyciski ---------- */
.pf-btn,.wp-block-button__link,.elementor-button,.ast-button,.ast-custom-button,
input[type=submit],.wpcf7-submit,button.button,a.button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--pf-tekstowy);font-weight:500;font-size:16px;line-height:1.2;letter-spacing:.02em;
  padding:14px 26px;border-radius:6px;border:1px solid transparent;text-decoration:none;
  background-color:var(--pf-gleboki);color:#FFFFFF;transition:background-color .16s,border-color .16s}
.pf-btn-sm{padding:10px 18px;font-size:14.5px}
/* Astra wstrzykuje button:hover/:focus #FF9635 i a:hover #3B8B31 (wykreslone D-013).
   Przypiete wszystkie trzy wlasciwosci, inaczej zostaje pomaranczowa obwodka. */
.pf-btn:hover,.pf-btn:focus,.wp-block-button__link:hover,.wp-block-button__link:focus,
.elementor-button:hover,.elementor-button:focus,.ast-button:hover,.ast-button:focus,
.ast-custom-button:hover,.ast-custom-button:focus,
input[type=submit]:hover,input[type=submit]:focus,.wpcf7-submit:hover,.wpcf7-submit:focus,
button.button:hover,button.button:focus,a.button:hover,a.button:focus{
  color:#FFFFFF!important;background-color:var(--pf-gleboki-h)!important;border-color:var(--pf-gleboki-h)!important}
/* wariant obrysowy Gutenberga */
.is-style-outline .wp-block-button__link{background-color:transparent;color:var(--pf-tekst);border-color:var(--pf-kontrolka)}
.is-style-outline .wp-block-button__link:hover,.is-style-outline .wp-block-button__link:focus{
  background-color:transparent!important;color:var(--pf-tekst)!important;border-color:var(--pf-fokus)!important}

/* ---------- pola formularzy: granica 3:1 (1.4.11) ---------- */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],
input[type=search],input[type=password],select,textarea{
  font-family:var(--pf-tekstowy);font-size:16px;color:var(--pf-tekst);
  border:1px solid var(--pf-kontrolka);border-radius:6px;background-color:#FFFFFF}

/* ---------- link pomijajacy (2.4.1) ---------- */
.skip-link.screen-reader-text:focus{position:fixed!important;left:10px;top:10px;z-index:100000;
  width:auto;height:auto;clip:auto!important;clip-path:none!important;
  display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;
  background:#FFFFFF!important;color:var(--pf-fokus)!important;border:2px solid var(--pf-fokus);border-radius:8px;
  font-size:15px;font-weight:600;text-decoration:underline}

/* ---------- fokus, jedyna obowiazujaca postac (D-016). !important celowy,
   nie zapisywac przez :where(), bo ma zerowa swoistosc ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible,
.pf-btn:focus-visible,.elementor-button:focus-visible,.wp-block-button__link:focus-visible{
  outline:2px solid transparent;outline-offset:2px;
  box-shadow:0 0 0 2px #FFFFFF,0 0 0 5px var(--pf-fokus)!important}

/* ---------- naglowek serwisu ---------- */
.pf-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
@media(max-width:600px){.pf-wrap{padding:0 20px}}
.pf-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--pf-linia)}
.admin-bar .pf-nav{top:32px}
@media(max-width:782px){.admin-bar .pf-nav{top:46px}}
@media(max-width:600px){.admin-bar .pf-nav{top:0}}
.pf-nav .pf-wrap{display:flex;align-items:center;gap:32px;padding-top:14px;padding-bottom:14px}
.pf-logo{display:inline-flex;flex:0 0 auto}
.pf-logo img{height:58px;width:auto;display:block}
.pf-links{flex:1;display:flex;gap:24px;font-size:15px}
.pf-links a{color:var(--pf-tekst);text-decoration:none;display:inline-flex;align-items:center;min-height:24px;padding:4px 0}
.pf-links a[aria-current=page]{color:var(--pf-roboczy);text-decoration:underline;text-underline-offset:.3em}
.pf-links a:hover,.pf-links a:focus{color:var(--pf-roboczy)!important;background:none!important}
.pf-links .pf-tel-cta{display:none}
.pf-nav .pf-wrap>a.pf-logo:hover,.pf-nav .pf-wrap>a.pf-logo:focus{color:var(--pf-tekst)!important}
.pf-burger{display:none;width:42px;height:42px;border:1px solid var(--pf-kontrolka);border-radius:9px;background:#FFFFFF;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;flex:0 0 auto;padding:0;cursor:pointer}
.pf-burger span{display:block;width:18px;height:2px;background:var(--pf-tekst);border-radius:2px;transition:transform .25s,opacity .2s}
.pf-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pf-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.pf-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
button.pf-burger:hover,button.pf-burger:focus{background-color:#FFFFFF!important;border-color:var(--pf-kontrolka)!important;color:var(--pf-tekst)!important}
.pf-burger:focus-visible{border-radius:9px}
@media(max-width:1000px){
  .pf-links{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:0;
    background:#FFFFFF;border-bottom:1px solid var(--pf-linia);box-shadow:0 18px 30px -22px rgba(0,60,84,.4);padding:8px 0}
  .pf-links.pf-otw{display:flex}
  .pf-links a{display:block;padding:14px 32px;font-size:16px;border-top:1px solid var(--pf-linia-jasna)}
  .pf-links a:first-child{border-top:0}
  .pf-burger{display:flex}
  .pf-nav .pf-wrap{gap:14px;position:relative}
  .pf-nav .pf-btn{margin-left:auto}
}
@media(max-width:520px){
  .pf-nav .pf-btn{display:none}
  .pf-burger{margin-left:auto}
  .pf-links .pf-tel-cta{display:block;color:var(--pf-roboczy);font-weight:600}
}
@media(prefers-reduced-motion:reduce){.pf-burger span,.pf-btn{transition:none}}

/* ---------- stopka serwisu ---------- */
.pf-dol{background:var(--pf-warstwa);border-top:1px solid var(--pf-linia);padding:64px 0 0;font-size:15px}
.pf-dol-grid{display:grid;gap:36px;grid-template-columns:1.4fr 1fr 1fr 1.1fr}
@media(max-width:900px){.pf-dol-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pf-dol-grid{grid-template-columns:1fr}}
.pf-dol img{width:185px;max-width:100%;height:auto;margin-bottom:18px;display:block}
.pf-dol .pf-mini{font-size:14px;color:var(--pf-drugi);margin:0}
.pf-dol .pf-dol-h{font-family:var(--pf-tekstowy);font-size:13px;font-weight:600;line-height:1.32;
  letter-spacing:.07em;text-transform:uppercase;color:var(--pf-drugi);margin:0 0 14px;text-wrap:wrap}
.pf-dol ul{list-style:none;margin:0;padding:0}
.pf-dol li{padding:5px 0;color:var(--pf-akapit);margin:0}
.pf-dol a{color:var(--pf-roboczy);text-decoration:none;display:inline-block;min-height:24px;padding:3px 0}
.pf-dol a:hover,.pf-dol a:focus{color:var(--pf-fokus)!important;background:none!important;text-decoration:underline}
.pf-dol-pasek{margin-top:52px;border-top:1px solid var(--pf-linia);padding:20px 0 26px;display:flex;
  justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--pf-drugi)}
.pf-dol-prawne{display:flex;gap:20px;flex-wrap:wrap}

/* ---------- przycisk wtyczki to-top (jak na 6449, D-025) ---------- */
#to_top_scrollup{opacity:1!important;background:var(--pf-fokus)!important;color:#FFFFFF!important;border-radius:8px!important}

/* ---------- poprawki po pierwszym pomiarze, 2026-09-29 ---------- */
/* Przycisk w naglowku dostawal kolor linku z motywu (#005A80 na #005674, 1,07:1). */
.pf-nav a.pf-btn,.pf-nav a.pf-btn:visited{color:#FFFFFF}
/* Kroje wymuszone globalnie: widzety Elementora maja Open Sans wpisany na sztywno
   w ustawieniach kazdego widzetu, co przebija zestaw globalny. Tylko rodzina kroju,
   bez rozmiarow i kolorow, te ida strona po stronie. Ikony (eicons, Font Awesome)
   nie sa objete, bo selektory celuja w klasy tekstowe. */
h1,h2,h3,h4,h5,h6,.elementor-heading-title,.entry-title,
.elementor-widget-heading .elementor-heading-title,.premium-dual-header-first-header,
.premium-dual-header-second-header,.elementor-counter-title,.elementor-price-table__heading{
  font-family:var(--pf-naglowek)!important}
body,p,li,td,th,label,input,select,textarea,button,
.elementor-widget-text-editor,.elementor-widget-text-editor *:not(i):not(svg),
.elementor-icon-list-text,.elementor-button,.elementor-button-text,
.elementor-tab-title,.elementor-tab-content,.elementor-accordion-title,.elementor-toggle-title,
.elementor-testimonial-content,.elementor-testimonial-name,.elementor-counter-number-wrapper,
.elementor-image-box-description,.elementor-icon-box-description{
  font-family:var(--pf-tekstowy)!important}
.elementor-image-box-title,.elementor-icon-box-title,.elementor-icon-box-title *,.elementor-image-box-title *{
  font-family:var(--pf-naglowek)!important}
/* Skala naglowkow 6449 wymuszona globalnie (polecenie Ani 2026-09-29: "h1, h2 itp.
   globalnie"). Widzety Elementora maja rozmiar i grubosc w ustawieniach widzetu.
   Kolor NIE jest wymuszany, bo zalezy od tla (biel na ciemnym hero). */
h1,.elementor-widget-heading h1.elementor-heading-title{font-size:clamp(32px,4.3vw,50px)!important;font-weight:700!important;line-height:1.06!important;letter-spacing:.03em!important}
h2,.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(26px,3.3vw,39px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:.03em!important}
h3,.elementor-widget-heading h3.elementor-heading-title{font-size:20px!important;font-weight:700!important;line-height:1.28!important;letter-spacing:.03em!important}
h4,.elementor-widget-heading h4.elementor-heading-title{font-size:16.5px!important;font-weight:600!important;line-height:1.32!important;letter-spacing:-.012em!important}
/* stopka serwisu ma wlasne h2 w stylu nadtytulu, nie podlega skali */
.pf-dol .pf-dol-h{font-family:var(--pf-tekstowy)!important;font-size:13px!important;font-weight:600!important;line-height:1.32!important;letter-spacing:.07em!important}
/* pasek boczny bloga: tytuly widzetow to h2, ale role pelnia etykiety */
.widget-title,.widget h2,.wp-block-search__label,.sidebar-main h2{font-size:15px!important;font-weight:600!important;
  line-height:1.35!important;letter-spacing:.07em!important;text-transform:uppercase;color:var(--pf-drugi)!important;margin-bottom:12px}
.sidebar-main a{color:var(--pf-roboczy)}
/* naglowki we wpisach (Gutenberg): kolor tokenu zamiast #161616 z Astry */
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-title{color:var(--pf-tekst)}
/* Zestaw Elementora (.elementor-kit-715 button, swoistosc 0,1,1) nadaje tlo kazdemu
   <button>, takze przyciskowi menu. Przypiete takze w spoczynku. */
button.pf-burger,button.pf-burger:hover,button.pf-burger:focus{background-color:#FFFFFF!important;border-color:var(--pf-kontrolka)!important;color:var(--pf-tekst)!important}
.skip-link.screen-reader-text:focus{top:10px!important;left:10px!important}
/* 2026-09-29, uwaga Ani: mniejsze odstepy miedzy pozycjami stopki. Cel dotykowy
   nadal >= 24 px (min-height linku), wiec 2.5.8 bez zmian. */
.pf-dol li{padding:1px 0;line-height:1.45}
.pf-dol a{padding:2px 0}
.pf-dol img{margin-bottom:0}
/* 2026-09-29, uwaga Ani: logo w naglowku nieczytelne przy 58 px. Zrodlo 444x259,
   wiec 84 px wysokosci (144 px szerokosci) jest nadal ponizej rozdzielczosci natywnej. */
.pf-logo img{height:84px}
.pf-nav .pf-wrap{padding-top:8px;padding-bottom:8px}
@media(max-width:520px){.pf-logo img{height:68px}}

/* Baner cookies CookieYes: przyciski drugorzedne mialy 4,00:1 i 3,57:1, na kazdej stronie. */
.cky-btn.cky-btn-settings,.cky-btn.cky-btn-customize{color:#39434A!important}
.cky-btn.cky-btn-reject{color:#0B0F12!important;background-color:#FFFFFF!important;border-color:#4F5459!important}
.cky-btn.cky-btn-accept{color:#FFFFFF!important;background-color:#005674!important;border-color:#005674!important}
/* Opinie Google (Trustindex): data 4,13:1 na #F4F4F4 */
.ti-widget .ti-date{color:#39434A!important}

/* 2026-09-29, przeglad /poznaj-proflow/: przyciski bez wersalikow jak na 6449 */
.elementor-button,.elementor-button .elementor-button-text,.wp-block-button__link,.wpcf7-submit{text-transform:none!important;letter-spacing:.02em!important}
/* tytuly harmonijek, zakladek i przelacznikow to kontrolki, nie linki w tekscie: bez podkreslenia */
.entry-content .elementor-toggle-title,.entry-content .elementor-accordion-title,.entry-content .elementor-tab-title a,
.entry-content .elementor-tab-title,.entry-content a.elementor-toggle-title,.entry-content a.elementor-accordion-title{text-decoration:none!important}
/* naglowek widzetu ustawiony na akapit (dawne H6 z numerami i nadtytulami) nie dostaje skali naglowkow */
p.elementor-heading-title{font-family:var(--pf-tekstowy)!important}
/* tytuly harmonijek i przelacznikow jako h3 (porzadek naglowkow), ale z wygladem pytania, nie tytulu sekcji */
h3.elementor-tab-title,h3.elementor-toggle-title,.elementor-accordion h3.elementor-tab-title,.elementor-toggle h3.elementor-tab-title{
  font-family:var(--pf-tekstowy)!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:.02em!important}
