/* pozycjonowaniewwyszukiwarce.pl — warstwa UI (menu, układ, przejścia, spójność). Ładowana jako ostatnia. */

/* ---------- 1. Tokeny marki (zieleń i terakota z sygnetu; Spectral + PT Serif) ---------- */
html:root{
  --font-heading:"Spectral","PT Serif",system-ui,sans-serif;--font-heading-weight:700;
  --font-body:"PT Serif",system-ui,-apple-system,"Segoe UI",sans-serif;
  --color-bg:#F4F7F5;--color-surface:#FFFFFF;--color-text:#10241B;--color-navy:#10241B;
  --color-accent:#0B5A3A;--color-accent-100:#E3F1E8;--color-accent-200:#BFD6C8;
  --color-accent-600:#0B5A3A;--color-accent-700:#08452C;--color-accent-800:#06331F;
  --color-divider:#dde3e9;
  --shadow-lg:0 22px 44px -16px rgba(12,27,42,.24);
  --pf-n300:#c3ccd6;--pf-n500:#8a99a8;--pf-n600:#5d6b79;--pf-n700:#4a5968;
  --pf-header-h:72px;
  --pf-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 2. Podstawy: brak poziomego przewijania, czytelne fonty ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--pf-header-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html{overflow-x:hidden}
body{overflow-x:clip;font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main,section,article,aside,footer,header,div{min-width:0}
h1,h2,h3,h4{overflow-wrap:break-word;hyphens:manual}
p,li,td,th,dd,dt,a,span,label{overflow-wrap:break-word}
a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,.12)}
input,select,textarea{font-size:16px} /* brak automatycznego zoomu na iOS */

/* ---------- 3. Media: zawsze się wczytują i trzymają proporcje ---------- */
img,video,canvas,iframe{max-width:100%}
.pf-header svg,.pf-drawer svg{max-width:none;flex-shrink:0}
img{height:auto;border-style:none} /* wysokości ustawione w style="" (logo, awatar) mają pierwszeństwo */
figure{max-width:100%}
figure>img{display:block;width:100%;height:auto}
figure.pf-photo-x{height:auto!important;max-height:none!important;width:100%;max-width:860px;margin-left:auto!important;margin-right:auto!important}
figure.pf-photo-x>img{height:auto!important;object-fit:contain!important}
video,iframe{height:auto;aspect-ratio:16/9}
img{background-color:var(--color-surface)}
img[src$=".png"]{background-color:transparent}
/* tabele: na wąskich ekranach przewijają się w ramce zamiast rozpychać stronę */
.pf-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pf-table-wrap>table{min-width:520px}
@media (min-width:760px){.pf-table-wrap>table{min-width:0}}

/* elementy rozciągnięte na 2 kolumny nie mogą tworzyć dodatkowej kolumny na telefonie */
@media (max-width:759px){[style*="grid-column:span 2"]{grid-column:1/-1!important}}
/* przełącznik „Strony / Sklepy” w cenniku mieści się na najwęższych ekranach */
[role="tablist"]{max-width:100%}
@media (max-width:479px){
  [role="tablist"]{display:flex!important;width:100%}
  [role="tablist"]>button{flex:1 1 0;min-width:0;padding:8px 10px!important;white-space:normal;line-height:1.25;text-align:center!important}
}

/* adresy e-mail: zawsze jedna linia i zawsze w swoim boxie (rozmiar względem szerokości boxu) */
:has(> .pf-fit){container-type:inline-size}
.pf-fit{display:block;max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:normal;
  font-size:min(var(--pf-fit-max,1em), calc(var(--pf-fit-k,4) * 1cqi))}
a.pf-fit,span.pf-fit{display:inline-block}
@supports not (font-size:1cqi){.pf-fit{white-space:normal;overflow-wrap:anywhere;font-size:var(--pf-fit-max,1em)}}
a[href^="mailto:"]{min-width:0;max-width:100%}

/* szerokie tabele na telefonie → karty (każda wartość z nazwą kolumny) */
@media (max-width:900px){
  table.pf-stack{min-width:0!important;width:100%;border:0}
  table.pf-stack thead{display:none}
  table.pf-stack,table.pf-stack tbody,table.pf-stack tr,table.pf-stack td{display:block;width:100%}
  table.pf-stack tr{padding:12px 0;border-bottom:1px solid var(--color-divider)}
  table.pf-stack tr:last-child{border-bottom:0}
  table.pf-stack td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 0!important;border:0!important;text-align:right}
  table.pf-stack td::before{content:attr(data-label);flex:0 0 auto;max-width:55%;font-weight:700;text-align:left;color:var(--color-text)}
  table.pf-stack td:first-child{font-size:1.06em;font-weight:800;justify-content:flex-start;text-align:left}
  table.pf-stack td:first-child::before{display:none}
}

/* ---------- 4. Nagłówek i menu ---------- */
.pf-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--color-divider);font-family:var(--font-body);
  transition:box-shadow .25s var(--pf-ease);view-transition-name:pf-header}
.pf-header.is-scrolled{box-shadow:0 6px 24px rgba(0,0,0,.10)}
.pf-bar{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px);height:var(--pf-header-h);
  display:flex;align-items:center;gap:24px;transition:height .25s var(--pf-ease)}
.pf-header.is-scrolled .pf-bar{height:62px}
.pf-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text);flex:0 0 auto;min-width:0}
.pf-brand img{width:48px;height:48px;display:block;flex-shrink:0;background:transparent;transition:width .25s var(--pf-ease),height .25s var(--pf-ease)}
.pf-header.is-scrolled .pf-brand img{width:42px;height:42px}
.pf-brand-txt{display:flex;flex-direction:column;line-height:1.05;font-weight:800;font-size:16px;letter-spacing:-.01em;white-space:nowrap}
.pf-brand-txt span{font-size:14px;font-weight:700}
.pf-brand-txt b{font-weight:800;font-size:18px;color:var(--color-accent-600)}

.pf-navwrap{flex:1;align-self:stretch;display:flex;justify-content:center;min-width:0}
.pf-nav{display:flex;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none}
.pf-nav>li{position:relative;display:flex}
.pf-top{position:relative;display:flex;align-items:center;gap:6px;padding:0 14px;border:0;background:none;cursor:pointer;
  font:700 15px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.02em;color:var(--color-text);
  text-decoration:none;white-space:nowrap}
.pf-top::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;
  background:var(--color-accent);transform:scaleX(0);transform-origin:center;transition:transform .25s var(--pf-ease)}
.pf-top:hover,.pf-nav>li.is-open>.pf-top{color:var(--color-accent)}
.pf-top:hover::after,.pf-nav>li.is-open>.pf-top::after{transform:scaleX(.55)}
.pf-top[aria-current="page"],.pf-nav>li.is-active>.pf-top{color:var(--color-accent)}
.pf-top[aria-current="page"]::after,.pf-nav>li.is-active>.pf-top::after{transform:scaleX(1)}
.pf-top svg{transition:transform .25s var(--pf-ease)}
.pf-nav>li.is-open>.pf-top svg{transform:rotate(180deg)}

.pf-panel{position:absolute;top:100%;left:50%;min-width:360px;padding:10px;margin:0;list-style:none;
  background:#fff;border:1px solid var(--color-divider);border-radius:10px;box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translate(-50%,8px);
  transition:opacity .18s var(--pf-ease),transform .22s var(--pf-ease),visibility 0s linear .22s}
.pf-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px} /* mostek dla kursora */
.pf-nav>li.is-open>.pf-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
@media (hover:hover) and (pointer:fine){
  .pf-nav>li.has-panel:hover>.pf-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
  .pf-nav>li.has-panel:hover>.pf-top svg{transform:rotate(180deg)}
}
.pf-panel a{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:8px;text-decoration:none;color:var(--color-text);
  transition:background .15s ease}
.pf-panel a:hover,.pf-panel a:focus-visible{background:var(--color-accent-100)}
.pf-panel a[aria-current="page"]{background:var(--color-accent-100);box-shadow:inset 3px 0 0 var(--color-accent)}
.pf-ico{flex:0 0 36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--color-accent-100);color:var(--color-accent)}
.pf-panel a:hover .pf-ico,.pf-panel a[aria-current="page"] .pf-ico{background:var(--color-accent);color:#fff}
.pf-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-txt strong{font-size:15px;font-weight:700;line-height:1.3}
.pf-txt small{font-size:13px;line-height:1.4;color:var(--pf-n700)}

.pf-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pf-phone{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:var(--color-text);text-decoration:none;white-space:nowrap;padding:0 4px}
.pf-phone:hover{color:var(--color-accent)}
.pf-iconbtn{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid var(--color-accent);border-radius:6px;
  color:var(--color-accent);background:#fff;text-decoration:none;cursor:pointer;padding:0;transition:background .15s,color .15s}
.pf-iconbtn:hover{background:var(--color-accent-100)}
.pf-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:6px;
  background:var(--color-accent);color:#fff!important;font:700 14px/1.2 var(--font-body);text-decoration:none;white-space:nowrap;
  transition:background .15s,transform .15s}
.pf-cta:hover{background:var(--color-accent-800)}
.pf-cta:active{transform:translateY(1px)}
.pf-burger{display:none;background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.pf-burger:hover{background:var(--color-accent-800);color:#fff}
.pf-burger-lines{position:relative;width:20px;height:14px}
.pf-burger-lines i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .25s var(--pf-ease),opacity .2s}
.pf-burger-lines i:nth-child(1){top:0}.pf-burger-lines i:nth-child(2){top:6px}.pf-burger-lines i:nth-child(3){top:12px}
.pf-open .pf-burger-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pf-open .pf-burger-lines i:nth-child(2){opacity:0}
.pf-open .pf-burger-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.pf-phone{display:none}
@media (min-width:1320px){.pf-bar{max-width:1320px}}
@media (min-width:1500px){.pf-bar{max-width:1440px}.pf-phone{display:flex}.pf-actions .pf-tel{display:none}}
@media (max-width:1319px){.pf-top{padding:0 10px;font-size:14px}.pf-top::after{left:10px;right:10px}.pf-bar{gap:16px}}
@media (max-width:1199px){
  html:root{--pf-header-h:64px}
  .pf-navwrap,.pf-actions .pf-cta,.pf-actions .pf-wa{display:none}
  .pf-burger{display:grid}
  .pf-bar{justify-content:space-between}
  .pf-header.is-scrolled .pf-bar{height:58px}
  .pf-brand img{width:44px;height:44px}
}
@media (max-width:359px){.pf-brand-txt{font-size:14px}.pf-actions .pf-tel{display:none}}

/* panel kolumnowy (dużo podstron) */
.pf-mega{display:grid;grid-template-columns:repeat(var(--pf-cols,2),minmax(250px,1fr));gap:4px 18px;min-width:0;width:max-content;max-width:min(760px,calc(100vw - 32px));padding:16px 18px 14px;
  left:50%;margin-left:var(--pf-shift,0px)}
.pf-col{min-width:0}
.pf-col ul{list-style:none;margin:0;padding:0}
.pf-col-label{display:block;padding:4px 10px 8px;font:800 12px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.09em;color:var(--pf-n700)}
.pf-panel .pf-cpt{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--color-text)}
.pf-panel .pf-cpt strong{font-size:15px;font-weight:700;line-height:1.3}
.pf-panel .pf-cpt small{font-size:12.5px;line-height:1.35;color:var(--pf-n700)}
.pf-panel .pf-cpt:hover,.pf-panel .pf-cpt:focus-visible{background:var(--color-accent-100);color:var(--color-accent-700)}
.pf-panel .pf-cpt[aria-current="page"]{background:var(--color-accent-100);color:var(--color-accent-700);box-shadow:inset 3px 0 0 var(--color-accent)}
.pf-panel:not(.pf-mega){left:50%;margin-left:var(--pf-shift,0px)}


/* tryb awaryjny: menu nie mieści się w pasku → przycisk menu i panel (jak na tablecie) */
.pf-header.pf-narrow .pf-navwrap,.pf-header.pf-narrow .pf-actions .pf-cta,.pf-header.pf-narrow .pf-actions .pf-wa,.pf-header.pf-narrow .pf-phone{display:none!important}
.pf-header.pf-narrow .pf-burger,.pf-header.pf-narrow .pf-tel{display:grid!important}
.pf-header.pf-narrow .pf-bar{justify-content:space-between}

/* ---------- 5. Menu mobilne (panel z prawej) ---------- */
.pf-drawer{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.pf-drawer.is-open{visibility:visible;pointer-events:auto}
.pf-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s var(--pf-ease)}
.pf-drawer.is-open .pf-backdrop{opacity:1}
.pf-sheet{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .32s var(--pf-ease);box-shadow:-20px 0 50px rgba(0,0,0,.18);
  padding-bottom:env(safe-area-inset-bottom)}
.pf-drawer.is-open .pf-sheet{transform:none}
.pf-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 16px 0 20px;border-bottom:1px solid var(--color-divider);flex:0 0 auto}
.pf-sheet-title{font:700 14px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--pf-n700)}
.pf-close{background:#fff}
.pf-sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 20px 20px}
.pf-group{padding:14px 0 6px}
.pf-group+.pf-group{border-top:1px solid var(--color-divider)}
.pf-group-label{display:block;margin:0 0 6px;font:700 12px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.1em;color:var(--pf-n700)}
.pf-mlink{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 10px;margin:0 -10px;border-radius:8px;text-decoration:none;color:var(--color-text)}
.pf-mlink:hover,.pf-mlink:focus-visible{background:var(--color-accent-100)}
.pf-mlink[aria-current="page"]{background:var(--color-accent-100);color:var(--color-accent)}
.pf-mlink .pf-txt strong{font-size:16px}
.pf-mlink .pf-chev{margin-left:auto;flex:0 0 auto;color:var(--pf-n500)}
.pf-mlink[aria-current="page"] .pf-chev{color:var(--color-accent)}
.pf-acc summary{display:flex;align-items:center;gap:10px;min-height:48px;list-style:none;cursor:pointer;margin:0 -10px;padding:0 10px;border-radius:8px}
.pf-acc summary::-webkit-details-marker{display:none}
.pf-acc summary .pf-group-label{margin:0;font-size:13px;color:var(--color-text)}
.pf-acc summary:hover{background:var(--color-surface)}
.pf-acc summary svg{margin-left:auto;color:var(--pf-n600);transition:transform .25s var(--pf-ease)}
.pf-acc[open] summary svg{transform:rotate(180deg)}
.pf-count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--color-accent-100);color:var(--color-accent-700);font:800 12px/1 var(--font-body)}
.pf-acc-body{padding:2px 0 8px}
.pf-sub-label{display:block;margin:10px 0 2px;font:700 11.5px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--pf-n600)}
.pf-mlink .pf-txt strong{overflow-wrap:break-word}
.pf-sheet-foot{flex:0 0 auto;padding:12px 20px 14px;border-top:1px solid var(--color-divider);background:var(--color-surface)}
.pf-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pf-sheet-grid .pf-cta{grid-column:1/-1;min-height:48px;font-size:16px}
.pf-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid var(--color-accent);border-radius:6px;
  color:var(--color-accent);background:#fff;font-weight:700;font-size:15px;text-decoration:none}
.pf-hours{margin:8px 0 0;font-size:13px;color:var(--pf-n700);text-align:center}
html.pf-lock,html.pf-lock body{overflow:hidden}
.pf-drawer .pf-sheet-body>*{opacity:0;transform:translateX(16px);transition:opacity .3s var(--pf-ease),transform .3s var(--pf-ease)}
.pf-drawer.is-open .pf-sheet-body>*{opacity:1;transform:none}
.pf-drawer.is-open .pf-sheet-body>*:nth-child(2){transition-delay:.04s}
.pf-drawer.is-open .pf-sheet-body>*:nth-child(3){transition-delay:.08s}
.pf-drawer.is-open .pf-sheet-body>*:nth-child(4){transition-delay:.12s}

/* ---------- 7. Płynne przejścia między podstronami ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:pf-vt-out .18s var(--pf-ease) both}
::view-transition-new(root){animation:pf-vt-in .32s var(--pf-ease) both}
::view-transition-group(pf-header),::view-transition-group(pf-mobbar){animation-duration:0s}
@keyframes pf-vt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes pf-vt-in{from{opacity:0;transform:translateY(10px)}}
/* przeglądarki bez View Transitions (np. Firefox): łagodne wejście i wyjście treści */
html.pf-fallback main,html.pf-fallback main+div{animation:pf-vt-in .35s var(--pf-ease) both}
html.pf-leaving main,html.pf-leaving main+div{opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}

/* ---------- 8. Dostępność ---------- */
.pf-skip{position:absolute;left:12px;top:-60px;z-index:300;padding:10px 14px;border-radius:6px;background:var(--color-accent);color:#fff;font-weight:700;text-decoration:none;transition:top .2s}
.pf-skip:focus{top:12px;color:#fff}
.pf-header a:focus-visible,.pf-header button:focus-visible,.pf-drawer a:focus-visible,.pf-drawer button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
@media print{.pf-header,.pf-drawer{display:none!important}}
/* ---------- 9. Marka: nagłówek w stylu serwisu (biel, granat, zieleń) ---------- */
.pf-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--color-divider)}
.pf-header.is-scrolled{box-shadow:0 8px 24px -10px rgba(15,23,42,.18)}
.pf-bar{max-width:1248px;padding:0 24px;gap:22px}
.pf-brand{gap:11px;color:var(--color-text)}
.pf-brand:hover{text-decoration:none;color:var(--color-text)}
.pf-brand svg{width:40px;height:40px;flex:0 0 40px;transition:width .25s var(--pf-ease),height .25s var(--pf-ease),flex-basis .25s var(--pf-ease)}
.pf-header.is-scrolled .pf-brand svg{width:36px;height:36px;flex-basis:36px}
.pf-wm{display:flex;flex-direction:column;gap:5px;line-height:1;white-space:nowrap}
.pf-wm1{font:700 20px/1 var(--font-body);letter-spacing:-.025em;color:var(--color-text)}
.pf-wm1 b{font-weight:700;color:var(--color-accent)}
.pf-wm1 i{font-style:normal;font-weight:500;color:var(--pf-n500)}
.pf-wm2{font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--pf-n600)}
.pf-top{font:600 15px/1 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;color:#334155;padding:0 13px}
.pf-top::after{left:13px;right:13px;height:2px;background:var(--color-accent)}
.pf-top:hover,.pf-nav>li.is-open>.pf-top,.pf-top[aria-current="page"],.pf-nav>li.is-active>.pf-top{color:var(--color-text);text-decoration:none}
.pf-panel{background:#fff;border:1px solid var(--color-divider);border-radius:14px}
.pf-panel a,.pf-panel a:hover{text-decoration:none}
.pf-panel a{border-radius:10px}
.pf-ico{border-radius:10px;background:var(--color-accent-100);color:var(--color-accent)}
.pf-panel a:hover .pf-ico,.pf-panel a[aria-current="page"] .pf-ico{background:var(--color-accent);color:#fff}
.pf-panel a:hover,.pf-panel a:focus-visible,.pf-panel a[aria-current="page"]{background:#F8FAFC}
.pf-panel a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--color-accent)}
.pf-txt strong{font:600 15px/1.3 var(--font-body);color:var(--color-text)}
.pf-txt small{font-size:13px;color:var(--pf-n600)}
.pf-mega{grid-template-columns:repeat(var(--pf-cols,2),minmax(280px,1fr));max-width:min(720px,calc(100vw - 32px));padding:14px 14px 10px}
.pf-col-label{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--pf-n600);padding:4px 14px 8px}
.pf-col ul{display:grid;gap:2px}
.pf-phone{font:700 14.5px/1 var(--font-body);color:var(--color-text);text-decoration:none!important}
.pf-phone svg{color:var(--color-accent)}
.pf-iconbtn{border:1px solid var(--color-divider);border-radius:10px;color:var(--color-text);background:#fff}
.pf-iconbtn:hover{background:#F8FAFC;color:var(--color-accent);text-decoration:none}
.pf-wa{color:#128C4A}
.pf-cta{border-radius:10px;background:var(--color-navy);font:600 15px/1.2 var(--font-body);padding:0 18px;min-height:44px}
.pf-cta:hover{background:#1E293B;text-decoration:none}
.pf-cta .pf-cta-short{display:none}
.pf-burger{background:var(--color-navy);border-color:var(--color-navy);color:#fff}
.pf-burger:hover{background:#1E293B;color:#fff}
.pf-ghost{border-radius:10px;border-color:var(--color-divider);color:var(--color-text);background:#fff}
.pf-ghost:hover{text-decoration:none;border-color:var(--color-accent);color:var(--color-accent)}
.pf-sheet{background:#fff}
.pf-sheet-foot{background:#F8FAFC}
.pf-sheet-title,.pf-group-label,.pf-sub-label{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:600}
.pf-sub-label{color:var(--color-accent);margin:12px 0 2px}
.pf-mlink,.pf-mlink:hover{text-decoration:none}
.pf-mlink:hover,.pf-mlink:focus-visible,.pf-mlink[aria-current="page"]{background:#F8FAFC}
.pf-mlink[aria-current="page"] .pf-txt strong{color:var(--color-accent)}
.pf-drawer details.pf-acc{border:0;padding:0;margin:0;background:none}
.pf-drawer details.pf-acc>summary{font:inherit;padding:0 10px}
.pf-drawer details.pf-acc>summary::before,.pf-drawer details.pf-acc>summary::after{content:none;display:none}
.pf-drawer details.pf-acc>summary .pf-group-label{font:600 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text)}
.pf-acc summary:hover{background:#F8FAFC}
.pf-skip{border-radius:8px}
@media (min-width:1200px) and (max-width:1379px){
  .pf-actions .pf-wa{display:none}
  .pf-top{padding:0 10px;font-size:14.5px}
  .pf-top::after{left:10px;right:10px}
  .pf-bar{gap:14px}
  .pf-wm2{display:none}
  .pf-cta .pf-cta-long{display:none}.pf-cta .pf-cta-short{display:inline}
}
@media (min-width:1380px){.pf-bar{max-width:1320px}}
@media (min-width:1200px){.pf-wm2{display:none}html body .pf-actions .pf-phone{display:none}html body .pf-actions .pf-tel{display:grid}}
@media (max-width:1199px){.pf-bar{padding:0 clamp(16px,4vw,24px)}}
@media (max-width:480px){.pf-wm2{display:none}.pf-wm1{font-size:18px}.pf-brand svg{width:34px;height:34px;flex-basis:34px}}
@media (max-width:359px){.pf-wm1{font-size:16.5px}.pf-brand svg{width:30px;height:30px;flex-basis:30px}.pf-brand{gap:8px}}
.pf-drawer{z-index:300}


/* ---------- 15. Potwierdzenie wysłania formularza ---------- */
.pf-form-msg{display:none}
.pf-form-msg.is-ok,.pf-form-msg.is-err{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--color-accent-200);box-shadow:0 0 0 4px var(--color-accent-100);color:var(--color-text);outline:0;align-self:start}
.pf-form-msg.is-err{border-color:#FECACA;box-shadow:0 0 0 4px #FEF2F2}
html body .pf-form-msg.pf-form-msg strong{font:700 20px/1.3 var(--font-heading);color:var(--color-text)}
html body .pf-form-msg.pf-form-msg span,html body .pf-form-msg.pf-form-msg a{color:#334155;font-size:16px}
.pf-form-msg a{font-weight:700;white-space:nowrap}
form[hidden],.pf-form-msg[hidden]{display:none!important}


/* ---------- 16. Stopka ---------- */
.pf-footer{background:#0B1120;border-top:1px solid #1E293B;color:#94A3B8;font:400 15px/1.6 var(--font-body);padding:clamp(44px,5vw,64px) 0 calc(26px + env(safe-area-inset-bottom))}
.pf-fwrap{max-width:1248px;margin:0 auto;padding:0 24px}
.pf-ftop{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.pf-footer a{color:#E2E8F0;text-decoration:none;transition:color .15s}
.pf-footer a:hover{color:#86EFAC;text-decoration:none}
.pf-flogo{display:inline-flex;align-items:center;gap:11px;margin-bottom:16px}
.pf-flogo svg{width:40px;height:40px;flex:0 0 40px}
.pf-flogo svg rect:first-child{fill:#1E293B}
.pf-flogo span{font:700 20px/1 var(--font-body);letter-spacing:-.025em;color:#fff}
.pf-flogo b{font-weight:700;color:#4ADE80}
.pf-flogo i{font-style:normal;font-weight:500;color:#64748B}
.pf-fbrand>p{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:#94A3B8;max-width:420px}
.pf-fcontact{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;max-width:360px}
.pf-fcontact li{display:flex;align-items:center;gap:10px;min-width:0;font-size:15px}
.pf-fcontact li>a{display:inline-flex;align-items:center;gap:10px;font-weight:600}
.pf-fcontact svg{flex:0 0 16px;color:#4ADE80}
.pf-fmail .pf-fitbox{flex:1 1 auto}
.pf-fmail a{font-weight:600}
.pf-fhours{color:#64748B!important;font-size:13.5px!important;padding-left:26px}
.pf-fcta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:10px;background:#16A34A;color:#fff!important;font:600 15px/1.2 var(--font-body);white-space:nowrap}
.pf-fcta:hover{background:#15803D;color:#fff!important}
.pf-fh{margin:0 0 14px;font:600 11.5px/1.2 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#4ADE80}
.pf-fh2{margin-top:26px}
.pf-fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pf-fcol li{font-size:14.5px;line-height:1.4}
.pf-fcol a{color:#CBD5E1}
.pf-fbottom{margin-top:clamp(32px,4vw,48px);padding-top:22px;border-top:1px solid #1E293B;display:grid;gap:6px;font-size:13px;line-height:1.55;color:#64748B}
.pf-fbottom p{margin:0;color:#64748B}
.pf-fbottom a{color:#CBD5E1}
.pf-flegal{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px}
.pf-flegal span{color:#94A3B8}
.pf-ftm{font-size:12.5px}
@media (max-width:1099px){.pf-ftop{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-fbrand{grid-column:1/-1}}
@media (max-width:759px){.pf-ftop{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.pf-fcol li{font-size:14px}}
@media (max-width:399px){.pf-ftop{grid-template-columns:minmax(0,1fr)}}
html body .fw{bottom:22px;right:22px;padding:12px 18px;font-weight:700}


/* =====================================================================
   17. platformyb2b.pl — nowoczesny wygląd: zieleń z terakotą (kolory serwisu),
   ciemny nagłówek i pasy tytułowe, płaskie białe karty na jasnym tle
   ===================================================================== */
/* zmienne serwisu przestawione na paletę granat + niebieski (cały istniejący arkusz przejmuje kolory) */
html:root{--bg:#F4F7F5!important;--surface:#FFFFFF!important;--surface-alt:#E3F1E8!important;--grid:#DFE7F4!important;--text:#10241B!important;--muted:#4A5873!important;
  --primary:#0B5A3A!important;--accent:#B8462A!important;--accent-soft:#E3F1E8!important;--chart:#0B5A3A!important;--amber:#E07A5C!important;--border:#D3E2D8!important;--line:#D3E2D8!important;
  --done:#1B7340!important;--done-bg:#E1F2E7!important;--todo:#E8EFFB!important;--sh:none!important;--sh2:0 14px 30px -18px rgba(11,27,58,.28)!important}
html:root{--g:#0B5A3A;--g-h:#08452C;--g2:#E07A5C;--g2l:#F2B29E;--gl:#E3F1E8;--ink:#10241B;--ink2:#0B3A26;--tx:#33415C;--mu:#56627A;--ln:#D3E2D8;--bgp:#F4F7F5;
  --nv-grad:linear-gradient(135deg,#0A1A13 0%,#0D2F20 55%,#0B5A3A 100%);
  --nv-glow:radial-gradient(70% 90% at 100% 100%,rgba(224,122,92,.22) 0%,rgba(7,21,51,0) 60%),radial-gradient(60% 70% at 0% 0%,rgba(11,90,58,.45) 0%,rgba(7,21,51,0) 65%);
  --color-accent:#0B5A3A;--color-accent-100:#E3F1E8;--color-accent-200:#BFD6C8;--color-accent-600:#0B5A3A;--color-accent-700:#08452C;--color-accent-800:#06331F;
  --color-divider:#D9E2EF;--color-text:#0B1B3A;--color-navy:#0B1B3A;
  --font-body:"PT Serif",system-ui,-apple-system,"Segoe UI",sans-serif;--font-heading:"Spectral","PT Serif",system-ui,sans-serif}
html{color-scheme:light}
html body{background:var(--bgp)!important;color:var(--tx);font:400 17px/1.68 var(--font-body)!important}
@media (max-width:640px){html body{font-size:16px!important}}
html body :is(h1,h2,h3){font-family:var(--font-heading);color:var(--ink);letter-spacing:-.015em}
html body h1{font-size:clamp(30px,calc(1.4vw + 18px),42px)!important;line-height:1.14!important;font-weight:700}
html body h2{font-size:clamp(23px,calc(.8vw + 16px),30px)!important;line-height:1.22!important}
html body h3{font-size:clamp(17px,calc(.25vw + 15px),19.5px)!important;line-height:1.35!important}
html body a{color:var(--g)}
html body :is(h1,h2) mark{background:none!important;color:var(--g)!important;padding:0}

/* pasek nad menu i ciemny nagłówek */
.pf-stripe{height:6px;background:linear-gradient(to bottom,var(--g2) 0 50%,var(--g) 50% 100%)}
.pf-topbar{background:var(--g);color:rgba(255,255,255,.9);font:600 14px/1.2 var(--font-body)}
.pf-tb-in{max-width:1320px;margin:0 auto;padding:0 24px;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pf-tb-l,.pf-tb-r{display:flex;align-items:center;gap:22px;white-space:nowrap}
.pf-topbar a{color:#fff!important;text-decoration:none}
.pf-topbar a:hover{text-decoration:underline}
.pf-tb-r{font-size:13px}
.pf-tb-tag{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}
@media (max-width:1199px){.pf-tb-tag{display:none}}
@media (max-width:899px){.pf-topbar{display:none}}
.pf-header{background:#0A1A13!important;background-image:linear-gradient(90deg,#0A1A13 0%,#0D2F20 100%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.pf-header.is-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35)!important}
.pf-brand,.pf-brand:hover{color:#fff}
.pf-wm1{font:700 21px/1 var(--font-heading)!important;letter-spacing:-.02em;color:#fff}
.pf-wm1 b{color:var(--g2l);font-weight:700}
.pf-wm2{color:rgba(255,255,255,.6);font:600 10px/1 var(--font-body)!important;letter-spacing:.12em;text-transform:uppercase}
.pf-top{font:600 15px/1 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;color:rgba(255,255,255,.86)!important;border-radius:6px}
.pf-top::after{background:var(--g2)!important;height:3px!important}
.pf-top:hover,.pf-nav>li.is-open>.pf-top{color:#fff!important;background:rgba(255,255,255,.08)}
.pf-top[aria-current="page"],.pf-nav>li.is-active>.pf-top{color:#fff!important}
.pf-iconbtn{background:transparent;border:1.5px solid rgba(255,255,255,.28);color:#fff;border-radius:50%}
.pf-iconbtn:hover{background:rgba(255,255,255,.1);color:#fff}
.pf-wa{color:#fff}
.pf-cta{background:var(--g)!important;border-radius:6px!important;font-weight:700!important}
.pf-cta:hover{background:var(--g-h)!important}
.pf-burger{background:var(--g);border-color:var(--g);border-radius:6px}
.pf-burger:hover{background:var(--g-h);color:#fff}
.pf-drawer .pf-iconbtn{border-color:var(--ln);color:var(--ink);border-radius:8px}
.pf-panel{border-radius:10px;border-color:var(--ln);box-shadow:0 24px 50px -18px rgba(0,0,0,.35)}
.pf-ico{border-radius:6px;background:var(--gl);color:var(--g)}
.pf-panel a:hover .pf-ico,.pf-panel a[aria-current="page"] .pf-ico{background:var(--g);color:#fff}
.pf-col-label,.pf-sub-label{color:var(--g);font-family:var(--font-body)!important;font-weight:700}
.pf-sheet-title,.pf-group-label{font-family:var(--font-body)!important;font-weight:700}
.pf-drawer details.pf-acc>summary .pf-group-label{font:700 12px/1 var(--font-body)}
.pf-drawer details.pf-acc>summary{font:inherit!important}
.pf-txt strong{font-family:var(--font-body);font-weight:700}
.pf-ghost{border-radius:6px}
.pf-megac{grid-template-columns:repeat(var(--pf-cols,2),minmax(240px,1fr));max-width:min(620px,calc(100vw - 32px));gap:6px 10px;padding:16px 14px 12px}
.pf-megac .pf-col-label{padding:4px 10px 8px}
.pf-megac .pf-cpt{display:block;padding:7px 10px;border-radius:6px;font:600 14.5px/1.35 var(--font-body);color:var(--ink);text-decoration:none}
.pf-megac .pf-cpt:hover,.pf-megac .pf-cpt:focus-visible{background:var(--gl);color:var(--g)}
.pf-megac .pf-cpt[aria-current="page"]{background:var(--gl);color:var(--g);box-shadow:inset 3px 0 0 var(--g2)}
@media (max-width:440px){.pf-wm1{font-size:18px!important}.pf-actions .pf-tel{display:none!important}.pf-brand svg{width:34px;height:34px;flex-basis:34px}.pf-brand{gap:9px}}
@media (max-width:359px){.pf-wm1{font-size:16px!important}.pf-brand svg{width:30px;height:30px;flex-basis:30px}.pf-bar{gap:8px}}

/* układ: pasy na całą szerokość, treść w kolumnie 1200 px */
html body .sheet{max-width:none!important;margin:0!important;background:none!important}
html body main .wrap,html body .cblock .wrap{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding:0 24px!important;box-sizing:border-box}
@media (max-width:640px){html body main .wrap,html body .cblock .wrap{padding:0 16px!important}}

/* ciemny pas tytułowy (strona główna i podstrony) */
html body :is(.hero,.ph,.cblock){position:relative;background:#0A1A13!important;background-image:var(--nv-glow),var(--nv-grad)!important;color:rgba(255,255,255,.84);border:0!important;border-radius:0!important;max-width:none!important;margin:0!important}
html body .hero>.wrap,html body .ph>.wrap{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body .hero{padding:clamp(40px,5vw,72px) 0!important}
html body .ph{padding:clamp(28px,3.5vw,48px) 0 clamp(32px,4vw,56px)!important}
html body :is(.hero,.ph) h1{color:#fff!important;max-width:none!important;margin:0 0 14px}
html body :is(.hero,.ph) h1 mark{color:var(--g2l)!important}
html body :is(.hero,.ph) .lead{color:rgba(255,255,255,.82)!important;max-width:none!important}
html body .ph .crumbs{margin:0 0 18px}
html body .ph .crumbs ol{display:inline-flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:6px 14px;list-style:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font:600 12px/1.3 var(--font-body)!important;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72)}
html body .ph .crumbs li{color:rgba(255,255,255,.72)}
html body .ph .crumbs li+li::before{color:rgba(255,255,255,.4)!important;margin-right:8px}
html body .ph .crumbs a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
html body :is(.hero,.ph) .loglbl,html body .hero .kicker{display:inline-flex!important;align-items:center;gap:8px;width:auto;padding:7px 14px;margin:0 0 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);color:#fff!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em;text-transform:uppercase}
html body :is(.hero,.ph) .loglbl::before,html body .hero .kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--g2);flex:0 0 7px}
html body .hero .kicker span{background:none!important;color:#fff!important;padding:0!important;border-radius:0}
html body .hero .kicker span:first-child{color:var(--g2l)!important}
html body .ph-g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:1060px){html body .ph-g{grid-template-columns:minmax(0,1fr)}}
html body .ph .brt{background:#fff!important;border:0!important;border-radius:10px!important;box-shadow:0 20px 50px rgba(0,0,0,.35)!important;padding:22px!important;min-width:260px;color:var(--ink)}
html body .ph .brt .br-ic{color:var(--g)}
html body .ph .brt .br-n{font:700 19px/1.25 var(--font-heading);color:var(--ink)}
html body .ph .brt .t-l{color:var(--mu)}
html body .ph .meta,html body .ph p:not(.lead):not(.loglbl){color:rgba(255,255,255,.75)}

/* strona główna: tekst obok formularza, obie kolumny wyrównane w pionie */
html body .pf-hero .hero-g{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:clamp(32px,5vw,72px)!important;align-items:center!important}
@media (max-width:960px){html body .pf-hero .hero-g{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}}
html body .pf-hero .hero-r{display:block}
html body .pf-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
html body .pf-hero .mini{margin:28px 0 18px;gap:0;border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.04)}
html body .pf-hero .mini li{background:none!important;border:0!important;border-left:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;padding:16px 18px!important}
html body .pf-hero .mini li:first-child{border-left:0!important}
html body .pf-hero .mini b{color:#fff!important;font-size:clamp(20px,calc(.8vw + 14px),26px)!important;white-space:nowrap}
html body .pf-hero .mini span{color:rgba(255,255,255,.66)!important;font-size:13.5px}
html body .pf-hero .cline,html body .pf-hero .cline span{color:rgba(255,255,255,.7)!important;font-size:15px}
html body .pf-hero .cline a{color:#fff!important;font-weight:600}
@media (max-width:480px){html body .pf-hero .mini{grid-template-columns:minmax(0,1fr)!important}html body .pf-hero .mini li{border-left:0!important;border-top:1px solid rgba(255,255,255,.14)!important;padding:12px 16px!important}html body .pf-hero .mini li:first-child{border-top:0!important}}

/* przyciski */
html body .btn{border-radius:6px!important;font:700 15.5px/1.2 var(--font-body)!important;box-shadow:none!important;transform:none!important}
html body :is(.btn-p,.btn-a){background:var(--g)!important;border-color:var(--g)!important;color:#fff!important}
html body :is(.btn-p,.btn-a):hover{background:var(--g-h)!important;border-color:var(--g-h)!important;color:#fff!important}
html body .btn-o{background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--ln)!important}
html body .btn-o:hover{border-color:var(--g)!important;color:var(--g)!important}
html body :is(.hero,.ph,.cblock,.cta) .btn-o{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.45)!important}
html body :is(.hero,.ph,.cblock,.cta) .btn-o:hover{border-color:#fff!important;background:rgba(255,255,255,.08)!important}
html body .hero .btn-call{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.45)!important}

/* formularz (w pasie strony głównej i w sekcji kontaktowej) */
html body .fcard{background:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 24px 60px rgba(2,8,23,.45)!important;padding:clamp(20px,3vw,30px)!important;color:var(--ink)!important;background-image:none!important}
html body .fcard>*:not(.hnote){margin-left:0!important;margin-right:0!important}
html body .fcard .hnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0 0 12px!important;padding:0 0 12px!important;border-bottom:1px solid var(--ln)!important;background:none!important;font:700 11.5px/1.3 var(--font-body)!important;letter-spacing:.08em;text-transform:uppercase}
html body .fcard .hnote,html body .fcard .hnote span{color:var(--g)!important}
html body .fcard .hnote span+span{color:var(--mu)!important}
html body .fcard h2{font-size:22px!important;color:var(--ink)!important;margin:0 0 4px!important}
html body .fcard .sub{color:var(--mu)!important;margin:0 0 16px!important;font-size:15px}
html body .fcard label{color:var(--ink)!important;font:600 14.5px/1.4 var(--font-body)!important}
html body .fcard label small{color:var(--mu)!important;font-weight:500}
html body .fcard input:not([type=checkbox]){background:#fff!important;border:1px solid #C9D3E3!important;border-radius:8px!important;color:var(--ink)!important;min-height:46px}
html body .fcard input:not([type=checkbox]):focus{border-color:var(--g)!important;box-shadow:0 0 0 3px rgba(11,90,58,.18)!important;outline:0}
html body .fcard .consent,html body .fcard .consent span{color:var(--mu)!important;font-weight:400!important;font-size:13.5px!important}
html body .fcard .consent a{color:var(--g)!important}
html body .fcard .btn{width:100%;min-height:50px}
html body .fcard .fnote{color:var(--mu)!important;font-size:13.5px}
html body .fcard .err{color:#B42318!important}

/* sekcja kontaktowa na dole każdej podstrony */
html body .cblock{padding:clamp(44px,5vw,72px) 0!important}
html body .cblock .g{align-items:center!important}
html body .cblock h2{color:#fff!important;max-width:none!important;padding-bottom:16px;background:linear-gradient(var(--g2),var(--g2)) left bottom/48px 4px no-repeat,linear-gradient(var(--g2l),var(--g2l)) 48px 100%/24px 4px no-repeat}
html body .cblock .fcard h2{background:none;padding-bottom:0}
html body .cblock p:not(.lbl){color:rgba(255,255,255,.8)}
html body .cblock>.wrap>div>.lbl,html body .cblock .g>div:first-child>.lbl{color:var(--g2l)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em}
html body .cblock .chan{display:grid;gap:10px;padding:0;margin:22px 0 0;list-style:none}
html body .cblock .chan li{color:rgba(255,255,255,.75)!important;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.04)}
html body .cblock .chan li span{color:var(--g2l)!important;font:700 11.5px/1.4 var(--font-body)!important;letter-spacing:.08em;margin-right:10px}
html body .cblock .chan a{color:#fff!important}
html body .cblock .chan .note-oh{border-color:rgba(56,189,248,.35);color:#E0F2FE!important}

/* treść podstron: pełna szerokość układu (bez bocznej kolumny), spis treści nad treścią */
html body .pf-lay{display:block!important;padding-top:clamp(28px,3.5vw,44px)!important;padding-bottom:clamp(36px,4vw,56px)!important}
html body .pf-lay .main{max-width:none;min-width:0}
html body .prose{max-width:none!important}
html body .stn h2{max-width:none!important}
html body .stn{background:#fff!important;border:1px solid var(--ln)!important;border-radius:10px!important;padding:clamp(22px,3vw,34px) clamp(20px,3.2vw,40px)!important;margin:0 0 18px!important;box-shadow:none!important}
html body .stn>.lbl{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em}
html body .stn>.lbl b,html body .lbl b{background:var(--gl)!important;color:var(--g)!important;border:0!important;border-radius:4px!important;padding:4px 8px;font-weight:700}
html body .stn>h2{padding-bottom:14px;margin:0 0 18px!important;background:linear-gradient(var(--g),var(--g)) left bottom/48px 4px no-repeat,linear-gradient(var(--g2),var(--g2)) 48px 100%/24px 4px no-repeat}
html body .stn h3{margin-top:26px}
@media (min-width:900px){html body .stn .prose>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}}
html body .short-box,html body .short{background:#fff!important;border:1px solid var(--ln)!important;border-left:4px solid var(--g)!important;border-radius:10px!important;padding:clamp(20px,2.6vw,28px) clamp(20px,3vw,34px)!important;margin:0 0 18px!important}
html body :is(.short-box,.short) .lbl{color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em}
html body :is(.short-box,.short) .lbl b{background:var(--g)!important;color:#fff!important}
@media (min-width:900px){html body :is(.short-box,.short) ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}}
html body .hs{margin:clamp(28px,3.5vw,44px) 0 0}
/* spis treści jako pasek odnośników */
html body nav.pf-toc{position:static!important;max-height:none!important;overflow:visible!important;margin:0 0 18px!important;padding:16px 20px!important;background:#fff!important;border:1px solid var(--ln)!important;border-radius:10px!important}
html body nav.pf-toc .lbl{margin:0 0 10px!important;color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em}
html body nav.pf-toc ol{display:flex!important;flex-wrap:wrap;gap:8px;margin:0;padding:0!important;list-style:none;border:0!important}
html body nav.pf-toc li{margin:0!important;padding:0!important;border:0!important}
html body nav.pf-toc li::before{content:none!important;display:none!important}
html body nav.pf-toc a{display:inline-flex!important;align-items:center;gap:8px;padding:7px 14px!important;border:1px solid var(--ln)!important;border-radius:6px!important;background:var(--bgp)!important;color:var(--ink)!important;font:600 14.5px/1.3 var(--font-body)!important;text-decoration:none!important}
html body nav.pf-toc a span{color:var(--g)!important;font:700 12px/1 var(--font-body)!important}
html body nav.pf-toc a:hover,html body nav.pf-toc a.act{background:var(--gl)!important;border-color:var(--g)!important;color:var(--g)!important}
@media (max-width:640px){html body nav.pf-toc a{font-size:14px!important;padding:7px 12px!important}}

/* oś „od pomysłu do produktu” na stronie głównej */
html body .peg{padding:clamp(28px,3.5vw,44px) 0 0!important;background:none!important}
html body .peg .wrap{padding:0 24px!important}
@media (max-width:640px){html body .peg .wrap{padding:0 16px!important}}
html body .peg-l{border:0!important;padding:0!important;margin:0 0 14px!important;color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em!important}
html body .peg li{border:0!important}
html body .peg li a{display:flex;flex-direction:column;gap:4px;width:100%;padding:18px!important;background:#fff!important;border:1px solid var(--ln)!important;border-top:3px solid var(--g2)!important;border-radius:10px!important;text-decoration:none!important;color:var(--tx)!important;transition:border-color .15s,box-shadow .15s}
html body .peg li a:hover{border-color:var(--g)!important;box-shadow:0 14px 30px -18px rgba(11,27,58,.3)}
html body .peg .pn{color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.06em}
html body .peg li b{color:var(--ink);font:700 17px/1.3 var(--font-heading)}
html body .peg li small{color:var(--mu);font-size:14px}
@media (min-width:640px) and (max-width:960px){html body .peg ol{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* tabele */
html body .tbl{border:1px solid var(--ln)!important;border-radius:10px!important;background:#fff!important;margin:20px 0!important}
html body .tbl table{width:100%}
html body .tbl th,html body table th{color:var(--ink)}
html body .tbl thead th{background:var(--gl)!important;color:var(--ink)!important;font:700 14.5px/1.35 var(--font-body)!important;border-bottom:1px solid var(--ln)!important}
html body .tbl :is(td,th){padding:12px 16px}
html body .tbl tbody tr:nth-child(even)>*{background:#F8FAFD}
html body .prose table:not(.tcards){width:100%}

/* FAQ: proste wiersze z kwadratowym „+” */
html body .faq details{background:none!important;border:0!important;border-bottom:1px solid var(--ln)!important;border-radius:0!important;margin:0!important;padding:0!important}
html body .faq details:last-of-type{border-bottom:0!important}
html body .faq summary{position:relative;padding:16px 50px 16px 0!important;font:600 clamp(16.5px,calc(.3vw + 14px),18px)/1.4 var(--font-body)!important;color:var(--ink)!important;list-style:none;cursor:pointer}
html body .faq summary::-webkit-details-marker{display:none}
html body .faq summary::after{content:"+"!important;position:absolute;right:0;top:50%;margin-top:-15px;width:30px;height:30px;display:grid;place-items:center;border-radius:4px;background:var(--g);color:#fff!important;font:700 20px/1 var(--font-body);transform:none!important}
html body .faq details[open] summary::after{content:"–"!important}
html body .faq details .a{padding:0 0 16px}

/* wezwanie do działania w treści */
html body aside.cta{background:#0A1A13!important;background-image:var(--nv-glow),var(--nv-grad)!important;border:0!important;border-radius:10px!important;padding:clamp(22px,3vw,32px) clamp(20px,3.2vw,40px)!important;margin:0 0 18px!important;color:#fff!important}
html body aside.cta p{color:rgba(255,255,255,.88)!important}
html body aside.cta :is(.btn-a,.btn-p){background:var(--g2)!important;border-color:var(--g2)!important;color:#3A140A!important}
html body aside.cta :is(.btn-a,.btn-p):hover{background:#7DD3FC!important;border-color:#7DD3FC!important}

/* autor pod wpisami */
html body aside.author{display:flex;gap:20px;align-items:center;background:#fff!important;border:1px solid var(--ln)!important;border-radius:10px!important;padding:22px 26px!important;margin:0 0 18px}
html body aside.author img{width:96px!important;height:96px!important;border-radius:50%!important;object-fit:cover;object-position:50% 25%;filter:none!important;flex:0 0 96px}
html body aside.author .n{font:700 18px/1.3 var(--font-heading);color:var(--ink);margin:0 0 4px}
@media (max-width:520px){html body aside.author{flex-direction:column;align-items:flex-start}}

/* zdjęcia: bez podpisów, ładny kadr */
html body figure.fig{border:0!important;border-radius:10px!important;background:none!important;overflow:hidden;margin:0 0 18px!important;padding:0!important}
html body figure.fig img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:10px;display:block}
@media (max-width:759px){html body figure.fig img{aspect-ratio:16/9}}

/* blog: karty wpisów, filtr */
html body .sec{padding:clamp(28px,3.5vw,44px) 0 clamp(36px,4vw,56px)!important}
html body .cards .card{border-radius:10px!important;border:1px solid var(--ln)!important;box-shadow:none!important;padding:0 0 18px!important;overflow:hidden}
html body .cards .card>:not(img){margin-left:18px;margin-right:18px}
html body .cards .card img.thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0!important;margin:0 0 6px}
html body .cards .card:hover{border-color:var(--g)!important;box-shadow:0 14px 30px -18px rgba(11,27,58,.3)!important}
html body .cards .card .lbl{color:var(--g)!important;font:700 11.5px/1.2 var(--font-body)!important;letter-spacing:.08em;margin:6px 18px 0}
html body .cards .card h2{font-size:clamp(18px,calc(.3vw + 15px),20px)!important}
html body .cards .card .go{color:var(--g);font-weight:700;margin-top:auto}
html body .filt{margin:0 0 20px}
html body .filt button{border-radius:6px!important;border:1px solid var(--ln);background:#fff;color:var(--ink);font:600 14px/1 var(--font-body)!important;padding:9px 14px}
html body .filt button[aria-pressed="true"]{background:var(--g)!important;border-color:var(--g)!important;color:#fff!important}

/* karty i boksy w treści — płasko, białe */
html body :is(.var,.pkc,.card,.tile){border-radius:10px!important;box-shadow:none!important}
html body .tag{border-radius:4px}

/* potwierdzenie wysłania formularza */
html body .pf-form-msg.is-ok,html body .pf-form-msg.is-err{border-radius:10px;color:var(--ink)}

/* stopka */
.pf-footer{background:#07130E;background-image:linear-gradient(180deg,#0A1A13 0%,#07130E 100%);border-top:1px solid rgba(255,255,255,.08)}
.pf-footer a{color:#fff}
.pf-fcol a{color:rgba(255,255,255,.82)}
.pf-footer a:hover{color:var(--g2l)}
.pf-fh{color:#fff;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em}
.pf-fcontact svg{color:var(--g2)}
.pf-flogo span{font:700 21px/1 var(--font-heading)!important;color:#fff;letter-spacing:-.02em}
.pf-flogo b{color:var(--g2l)}
.pf-fbrand>p,.pf-fbottom,.pf-fbottom p{color:rgba(255,255,255,.62)}
.pf-fcta{background:var(--g);border-radius:6px}
.pf-fcta:hover{background:var(--g-h)}
.pf-fbottom{border-top-color:rgba(255,255,255,.1)}

/* dolny pasek kontaktu na telefonie */
html body .mbar{background:#fff!important;border-top:1px solid var(--ln)!important}
html body .mbar a{border-radius:6px!important;color:var(--ink)!important;border-color:var(--ln)!important;font-family:var(--font-body)!important;font-weight:700}
html body .mbar a.p{background:var(--g)!important;border-color:var(--g)!important;color:#fff!important}

/* drobne: kod i długie słowa bez wychodzenia poza ekran */
html body :not(pre)>code{overflow-wrap:anywhere;word-break:break-word}
html body .wrap.prose{max-width:1200px;margin-left:auto;margin-right:auto}

/* poprawki układu po pierwszym podglądzie */
html body main#tresc{padding:0!important;margin:0!important}
html body main .wrap.pf-lay{padding-top:clamp(28px,3.5vw,44px)!important;padding-bottom:clamp(36px,4vw,56px)!important}
html body :is(.prose,.short-box,.short,.stn) :is(p,ul,ol,h3,h4,blockquote,dl,div:not(.tbl)){max-width:none!important}
html body .ph .brt p.t-l{color:var(--mu)!important}
html body .ph .brt p.br-n{color:var(--ink)!important}
html body .pf-hero .hero-r{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;background-image:none!important}
html body .hero .kicker span{border:0!important}
html body nav.pf-toc a span{border:0!important;background:none!important;padding:0!important;margin:0!important}
html body .ph .crumbs ol,html body :is(.hero,.ph) .loglbl,html body .hero .kicker{border-radius:999px!important}
html body .hero .kicker span,html body .fcard .hnote span,html body .ph .crumbs *{font-family:var(--font-body)!important}
html body nav.pf-toc :is(a,li,ol)::before,html body nav.pf-toc :is(a,li,ol)::after{content:none!important;display:none!important}
html body nav.pf-toc ol{background:none!important}
html body .pf-hero .mini::before,html body .pf-hero .mini li::before{content:none!important;display:none!important}
html body .hero>.wrap{padding:0 24px!important}
@media (max-width:640px){html body .hero>.wrap{padding:0 16px!important}}
@media (max-width:640px){html body .hero .kicker{border-radius:14px!important;flex-wrap:wrap;row-gap:2px}html body .hero .kicker::before{display:none}}
/* sekcja kontaktowa: arkusz serwisu wymusza ciemny tekst (:not(.btn) + !important) — jasny tekst na granacie */
html body section.cblock .g>div:first-child :is(h2,h3,p,li,strong,b,em):not(.btn):not(.lbl){color:rgba(255,255,255,.84)!important}
html body section.cblock .g>div:first-child h2:not(.btn){color:#fff!important}
html body section.cblock .g>div:first-child .chan :is(a,b,strong):not(.btn){color:#fff!important}
html body section.cblock .g>div:first-child .chan li span:not(.btn){color:var(--g2l)!important}
html body section.cblock .g>div:first-child p.lbl{color:var(--g2l)!important}
html body section.cblock .fcard :is(h2,h3,label,strong,b):not(.btn){color:var(--ink)!important}
html body section.cblock .fcard :is(p,small,span,li):not(.btn):not(.err):not(.hnote):not(.hnote *){color:var(--mu)!important}
html body section.cblock .fcard a:not(.btn){color:var(--g)!important}
.pf-fhours{color:rgba(255,255,255,.55)!important}
html body .cards .card .lbl{align-self:flex-start;background:var(--gl)!important;border-radius:4px;padding:4px 8px}
html body .cards .card .go{font-family:var(--font-body)!important;letter-spacing:.04em}
html body :is(.hero,.ph) .lead{font-size:clamp(16.5px,calc(.35vw + 14.5px),19px)!important;line-height:1.6!important}

/* pozycjonowanieaplikacji.pl: wyróżnienie w tytule bez podkreślenia nachodzącego na tekst */
html body :is(.hero,.ph) h1 .cu{background:none!important;color:var(--g2l)!important;padding:0!important;box-shadow:none!important;text-decoration:none!important}
html body :is(.hero,.ph) h1 .cu::before,html body :is(.hero,.ph) h1 .cu::after{content:none!important;display:none!important}
/* liczniki znaków w nagłówku strony głównej: jasne karty na ciemnym tle */
html body .pf-hero .hcnt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
html body .pf-hero .hcnt .cnt{margin:0;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:8px!important;box-shadow:none!important}
html body .pf-hero .hcnt .c-l{color:rgba(255,255,255,.72)!important}
html body .pf-hero .hcnt .c-v{color:#fff!important}
@media (max-width:560px){html body .pf-hero .hcnt{grid-template-columns:minmax(0,1fr)}}
/* O nas: większe zdjęcie autora, kadr na twarz */
html body aside.author img{width:120px!important;height:120px!important;flex-basis:120px!important}
html body .pf-hero .hcnt{grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important}
@media (max-width:560px){html body .pf-hero .hcnt{grid-template-columns:minmax(0,1fr)!important}}
html body .funnel .f-b b{color:var(--ink)!important}
html body .ph .brt p:not(.t-l):not(.br-n),html body .ph .brt .c-s{color:var(--mu)!important}
html body .ph .brt :is(.c-l,.c-v,b){color:var(--ink)!important}
@media (max-width:400px){.pf-flogo span{font-size:16px!important}.pf-flogo svg{width:32px;height:32px;flex:0 0 32px}}
@media (max-width:340px){.pf-flogo span{font-size:14.5px!important}}
/* długi znak słowny: na telefonach mniejszy, przycisk menu zawsze w kadrze */
@media (max-width:480px){.pf-wm1{font-size:17px!important;letter-spacing:-.025em}.pf-wm2{display:none!important}.pf-actions .pf-tel{display:none!important}.pf-brand svg{width:32px;height:32px;flex-basis:32px}.pf-brand{gap:8px}.pf-bar{gap:10px}}
@media (max-width:400px){.pf-wm1{font-size:15px!important}}
@media (max-width:350px){.pf-wm1{font-size:13.5px!important}.pf-brand svg{width:28px;height:28px;flex-basis:28px}}

/* pozycjonowaniewwyszukiwarce.pl: wyróżnienie w tytule, kupon nad formularzem */
html body :is(.hero,.ph) h1 em{color:var(--g2l)!important;font-style:italic;background:none!important}
html body .fcard .cp-k{color:var(--g)!important;font:700 12px/1.2 var(--font-body)!important;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px!important}
/* formularz na najwęższych telefonach: pola w szerokości karty */
html body form.lead-form{grid-template-columns:minmax(0,1fr)!important}
html body form.lead-form :is(label,input,select){min-width:0!important;max-width:100%}
html body form.lead-form :is(input:not([type=checkbox]),select){width:100%!important;box-sizing:border-box}
/* najwęższe telefony: przyciski i okruszki łamią się zamiast wychodzić poza ekran */
html body main .btn{white-space:normal!important;max-width:100%;text-align:center}
html body .ph .crumbs ol{max-width:100%;flex-wrap:wrap;box-sizing:border-box}
@media (max-width:420px){html body .ph .crumbs ol{border-radius:14px}}
@media (max-width:1299px){.pf-tb-tag{display:none!important}}
html body .ph .crumbs li{white-space:normal!important;overflow-wrap:anywhere;min-width:0}