/*
Theme Name: INNFOOD www
Theme URI: https://innfood.pl/
Author: Siteart
Author URI: https://siteart.pl/
Description: Minimalny motyw wizytówkowy dla innfood.pl - strona jednoekranowa z sekcjami marek, galerią Podkarpacia, danymi rejestrowymi i kontaktem. Treść jest wpisana w szablony, motyw celowo nie ma opcji do klikania. Nie używać na pozostałych witrynach w sieci.
Version: 2.1.2
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: innfood-www
*/

/* ==========================================================================
   v2.1.2 (2026-08-20) - formularz: submit po kliknięciu dostawał białe tło
   z ogólnego input:focus (biały tekst na białym) - własny stan focus/active
   w zieleni + ring :focus-visible dla klawiatury; textarea sztywne 110px
   zamiast min-height 140px.
   v2.1.1 (2026-08-20) - naprawa fatala (nieskończona rekurencja) przy wejściu
   do edytora strony: inc/svg.php wołał get_network_option() wewnątrz filtra
   pre_site_option_upload_filetypes, który sam jest odpalany przez tę funkcję.
   Teraz svg dopisuje filtr site_option_* (po odczycie), z pominięciem
   ekranów zarządzania siecią, żeby zapis Ustawień sieci nie utrwalił "svg".
   v2.1.0 (2026-08-20) - treść przeniesiona do pól (SCF/ACF): builder sekcji,
   blok tekstowy z edytora, formularz Contact Form 7 w sekcji kontaktu.
   v2.0.0 (2026-08-20) - redesign. Zieleń leśna zamiast morskiej, IBM Plex Sans
   zamiast Fira Sans, geometria rzeczowa (promienie 2-4 px), bez ozdobników.
   Źródło makiety: ~/Desktop/praca/klienci/innfood/redesign-2026
   ========================================================================== */

/* ── Fonty (lokalnie, bez CDN) ─────────────────────────────────────────── */
/* IBM Plex Sans — jedna rodzina na naglowki i tresc. Hierarchie robi waga
   i wielkosc, nie zmiana kroju: tak sklada sie strony producenckie. */
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(assets/fonts/plex-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+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(assets/fonts/plex-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;
}

/* ── Tokeny ────────────────────────────────────────────────────────────── */
:root{
  /* Zieleń — lokalność, Podkarpacie. Ciemna baza „leśna”, nie jaskrawa. */
  --las:#0f2619;          /* najciemniejsza — tło sekcji ciemnych   */
  --las-2:#16351f;        /* wariant na warstwy wewnątrz ciemnych   */
  --zielen:#1f4d33;       /* kolor główny interfejsu                */
  --zielen-2:#2b6a45;     /* stan hover / jaśniejszy wariant        */
  --mgla:#e4ece3;         /* jasnozielona mgła — bloki wyróżnione   */
  --szalwia:#b6c8b8;      /* tekst pomocniczy na ciemnym tle        */

  /* Krem — papier, elegancja. Strona nie jest biała, jest ciepła.  */
  --krem:#f8f5ee;
  --krem-2:#f0ebe0;
  --biel:#ffffff;

  --czerwien:#c0202e;     /* znak INNFOOD — WYŁĄCZNIE logo i marka  */

  --tekst:#16211a;
  --tekst-2:#5c6b60;
  --linia:#ddd6c7;
  --linia-ciemna:rgba(255,255,255,.14);

  /* Geometria rzeczowa: krawedzie prawie proste, zero pigulek. */
  --r-s:2px; --r-m:3px; --r-l:4px; --r-pig:3px;
  --display:'IBM Plex Sans','Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --sans:var(--display);

  --in:1220px;            /* szerokość kolumny treści */
}

/* ── Reset i podstawy ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--krem);color:var(--tekst);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{
  margin:0;font-family:var(--display);font-weight:600;line-height:1.16;
  letter-spacing:-.021em;text-wrap:balance;
}
.in{max-width:var(--in);margin:0 auto;padding:0 28px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--zielen-2);outline-offset:3px;border-radius:4px}
.pomin{position:absolute;left:-9999px;top:0;z-index:100;background:var(--zielen);color:#fff;
       padding:12px 20px;border-radius:0 0 var(--r-s) 0;text-decoration:none;font-weight:600}
.pomin:focus{left:0}

/* ── Elementy powtarzalne ──────────────────────────────────────────────── */
.nadtytul{
  font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--zielen);
}

.btn{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  padding:14px 26px;border-radius:var(--r-s);font-weight:600;font-size:.93rem;
  border:1px solid transparent;transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.btn svg{width:16px;height:16px;flex:none}
.btn--pelny{background:var(--zielen);color:#fff}
.btn--pelny:hover{background:var(--zielen-2)}
.btn--kontur{border-color:var(--linia);color:var(--tekst);background:transparent}
.btn--kontur:hover{background:var(--zielen);border-color:var(--zielen);color:#fff}
.btn--jasny{background:var(--krem);color:var(--las)}
.btn--jasny:hover{background:#fff}
.btn--duch{border-color:var(--linia-ciemna);color:#fff}
.btn--duch:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}

/* nagłówek sekcji */
.sekcja h2{font-size:clamp(1.8rem,3.1vw,2.5rem);margin-top:16px}
.sekcja .lead{margin-top:20px;color:var(--tekst-2);font-size:1.06rem;max-width:52ch}
.tytul{max-width:640px;margin-bottom:52px}
.tytul .lead{margin-top:20px;color:var(--tekst-2);font-size:1.06rem;max-width:52ch}

section{scroll-margin-top:88px}
.sekcja{padding:clamp(72px,9vw,120px) 0}
.sekcja--krem{background:var(--krem-2)}
.sekcja--las{background:var(--las);color:var(--krem)}
.sekcja--las h2,.sekcja--las h3{color:var(--biel)}
.sekcja--las .lead{color:var(--szalwia)}

/* ── Pasek użytkowy ────────────────────────────────────────────────────── */
.pasek{background:var(--las);color:var(--szalwia);font-size:.79rem;letter-spacing:.01em}
.pasek .in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;min-height:40px;padding-top:9px;padding-bottom:9px}
.pasek a{text-decoration:none}
.pasek a:hover{color:#fff}
.pasek .prawo{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 22px}
.pasek b{color:#fff;font-weight:600}
@media(max-width:860px){.pasek .prawo{margin-left:0}}
@media(max-width:640px){
  .pasek .in{justify-content:center;gap:6px 18px}
  .pasek>.in>span:first-child,.pasek .prawo span:first-child{display:none}
}

/* ── Nagłówek ──────────────────────────────────────────────────────────── */
.naglowek{
  position:sticky;top:0;z-index:40;background:var(--krem);
  border-bottom:1px solid var(--linia);
}
.naglowek .in{display:flex;align-items:center;gap:38px;min-height:84px}
.znak img{height:50px;width:auto}
.menu{display:flex;gap:30px;font-size:.94rem;font-weight:500}
.menu a{text-decoration:none;position:relative;padding:6px 0;color:var(--tekst)}
.menu a::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;
  background:var(--zielen);transform:scaleX(0);transform-origin:left;
  transition:transform .28s ease;
}
.menu a:hover::after,.menu a[aria-current='true']::after{transform:scaleX(1)}
.naglowek .btn{margin-left:auto;padding:12px 26px}
.menu-przycisk{
  display:none;margin-left:auto;background:none;border:1px solid var(--linia);
  border-radius:var(--r-s);padding:10px 18px;font:inherit;font-size:.9rem;font-weight:600;
  color:var(--tekst);cursor:pointer;align-items:center;gap:9px;
}
.menu-przycisk svg{width:16px;height:16px}
@media(max-width:980px){
  .naglowek .in{gap:16px;min-height:70px}
  .menu-przycisk{display:inline-flex}
  .naglowek>.in>.btn{display:none}
  .menu{
    position:absolute;left:0;right:0;top:100%;background:var(--krem);
    border-bottom:1px solid var(--linia);flex-direction:column;gap:0;padding:8px 28px 22px;
    display:none;
  }
  .menu[data-otwarte='1']{display:flex}
  .menu a{padding:14px 0;border-bottom:1px solid var(--linia)}
  .menu a::after{display:none}
  .menu a:last-child{border-bottom:0}
}

/* ── Hero ──────────────────────────────────────────────────────────────── */
.hero{position:relative;background:var(--las);color:#fff;overflow:hidden;isolation:isolate}
.hero-tlo{position:absolute;inset:0;z-index:-2}
.hero-tlo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;
  /* „Życie” bez reagowania na kursor: bardzo powolna, spokojna pętla. */
  animation:oddech 48s ease-in-out infinite alternate;
}
@keyframes oddech{from{transform:scale(1.02)}to{transform:scale(1.11)}}
.hero-maska{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(15,38,25,.94) 0%,rgba(15,38,25,.82) 42%,rgba(15,38,25,.42) 72%,rgba(15,38,25,.55) 100%),
    linear-gradient(to top,rgba(15,38,25,.9) 0%,rgba(15,38,25,0) 45%);
}
.hero .in{position:relative;padding-top:clamp(72px,11vw,130px);padding-bottom:0}
.hero-tresc{max-width:730px}
.sekcja--las .nadtytul,.region .nadtytul,.hero .nadtytul,.wspolpraca .nadtytul{color:var(--szalwia)}
.hero h1{
  font-size:clamp(2.25rem,4.8vw,3.7rem);margin-top:22px;font-weight:600;letter-spacing:-.025em;
  color:#fff;max-width:15ch;
}
.hero-lead{margin-top:28px;max-width:50ch;font-size:1.12rem;color:#dce7dc}
.hero-akcje{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

/* pasek faktów u dołu hero */
.hero-fakty{
  margin-top:clamp(64px,8vw,104px);border-top:1px solid var(--linia-ciemna);
}
.hero-fakty ul{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-fakty li{padding:26px 30px 30px;border-right:1px solid var(--linia-ciemna)}
.hero-fakty li:first-child{padding-left:0}
.hero-fakty li:last-child{border-right:0}
.hero-fakty .k{font-size:1.12rem;font-weight:600;color:#fff;line-height:1.3;display:block;letter-spacing:-.01em}
.hero-fakty .o{font-size:.83rem;color:var(--szalwia);margin-top:6px;display:block}
@media(max-width:860px){
  .hero-fakty ul{grid-template-columns:repeat(2,1fr)}
  .hero-fakty li{padding:20px 20px 22px}
  .hero-fakty li:nth-child(2n){border-right:0}
  .hero-fakty li:nth-child(-n+2){border-bottom:1px solid var(--linia-ciemna)}
  .hero-fakty li:nth-child(3){padding-left:0}
}
@media(max-width:560px){
  .hero-akcje .btn{width:100%;justify-content:center}
}

/* ── O firmie ──────────────────────────────────────────────────────────── */
.o-firmie .siatka{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:center}
@media(max-width:900px){.o-firmie .siatka{grid-template-columns:1fr;gap:44px}}
.o-firmie h2{font-size:clamp(1.8rem,3.1vw,2.5rem);margin-top:16px}
.o-firmie .akapit{margin-top:24px;color:var(--tekst-2);font-size:1.06rem}
.o-firmie .akapit + .akapit{margin-top:16px}
.o-firmie .akapit strong{color:var(--tekst);font-weight:600}
.o-firmie-foto{position:relative}
.o-firmie-foto>img{border-radius:var(--r-l);aspect-ratio:4/5;object-fit:cover;width:100%}
.plakietka{
  position:absolute;left:-26px;bottom:36px;background:var(--krem);border:1px solid var(--linia);
  border-radius:var(--r-m);padding:18px 22px;max-width:248px;box-shadow:0 10px 26px rgba(15,38,25,.13);
}
.plakietka .k{font-size:1.3rem;font-weight:600;color:var(--zielen);line-height:1.15;letter-spacing:-.015em}
.plakietka .o{font-size:.85rem;color:var(--tekst-2);margin-top:6px}
@media(max-width:900px){.plakietka{left:16px;bottom:16px}}

/* ── Marki ─────────────────────────────────────────────────────────────── */
.marki .karty{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
@media(max-width:900px){.marki .karty{grid-template-columns:1fr}}
.karta{
  background:var(--biel);border:1px solid var(--linia);border-radius:var(--r-l);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:border-color .3s ease,box-shadow .3s ease;
}
.karta:hover{border-color:var(--zielen)}
.karta-gora{
  height:180px;display:flex;align-items:center;justify-content:center;padding:32px;
  position:relative;border-bottom:1px solid var(--linia);
}
.karta-gora--zielona{background:var(--mgla)}
.karta-gora--kremowa{background:var(--krem-2)}
.karta-gora img.logo{width:auto;max-width:min(76%,280px);max-height:74px;object-fit:contain}
.karta-gora .sloik{position:absolute;right:22px;top:18px;height:78px;width:auto;transform:rotate(7deg);opacity:.95}
@media(max-width:640px){
  .karta-gora{height:150px;padding:24px}
  .karta-gora img.logo{max-width:64%;max-height:58px}
  .karta-gora .sloik{height:54px;right:14px;top:12px}
}
.karta-tresc{padding:34px 34px 36px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.rola{
  font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--zielen);background:var(--mgla);padding:6px 12px;border-radius:var(--r-s);
}
.karta-tresc h3{font-size:1.75rem;margin-top:16px}
.karta-tresc .opis{margin-top:14px;color:var(--tekst-2);font-size:1rem}
.lista-cech{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.lista-cech li{
  font-size:.83rem;color:var(--tekst-2);border:1px solid var(--linia);
  padding:6px 12px;border-radius:var(--r-s);background:var(--krem);
}
.karta-tresc .btn{margin-top:auto;margin-bottom:0}
.karta-tresc .odstep{height:30px}
.klaster-nota{
  margin-top:22px;display:flex;align-items:center;gap:16px;padding:16px 18px;
  background:var(--krem);border:1px solid var(--linia);border-radius:var(--r-m);width:100%;
}
.klaster-nota img{width:92px;flex:none}
.klaster-nota p{font-size:.85rem;color:var(--tekst-2);line-height:1.5}

/* ── Asortyment ────────────────────────────────────────────────────────── */
.asortyment .kafle{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.asortyment .kafle{grid-template-columns:1fr}}
.kafel{
  background:var(--biel);border:1px solid var(--linia);border-radius:var(--r-m);
  padding:30px 26px 32px;transition:border-color .3s ease,transform .3s ease;
}
.kafel:hover{border-color:var(--zielen)}
.kafel .ikona{color:var(--zielen);margin-bottom:18px}
.kafel .ikona svg{width:32px;height:32px}
.kafel h3{font-size:1.22rem}
.kafel p{margin-top:10px;font-size:.92rem;color:var(--tekst-2)}

/* ── Region ────────────────────────────────────────────────────────────── */
.region{background:var(--las);color:var(--krem);overflow:hidden}
.region .siatka{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,80px);align-items:center}
@media(max-width:980px){.region .siatka{grid-template-columns:1fr;gap:46px}}
.region h2{font-size:clamp(1.8rem,3.1vw,2.5rem);margin-top:16px;color:#fff}
.region .akapit{margin-top:22px;color:var(--szalwia);font-size:1.05rem}
.region .akapit + .akapit{margin-top:14px}
.mozaika{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:222px 152px;gap:14px}
.mozaika img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-m)}
.mozaika .m1{grid-column:1/8;grid-row:1}
.mozaika .m2{grid-column:8/13;grid-row:1/3}
.mozaika .m3{grid-column:1/4;grid-row:2}
.mozaika .m4{grid-column:4/8;grid-row:2}
@media(max-width:600px){
  .mozaika{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:222px 152px;gap:14px}
}
.region-stopka{
  margin-top:44px;padding-top:30px;border-top:1px solid var(--linia-ciemna);
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
}
.region-stopka img{width:104px;background:#fff;border-radius:var(--r-s);padding:8px}
.region-stopka p{font-size:.9rem;color:var(--szalwia);max-width:50ch}

/* ── Jak działamy ──────────────────────────────────────────────────────── */
.kroki .lista{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linia)}
@media(max-width:900px){.kroki .lista{grid-template-columns:1fr}}
.krok{padding:40px 40px 44px;border-right:1px solid var(--linia);border-bottom:1px solid var(--linia)}
.krok:first-child{padding-left:0}
.krok:last-child{border-right:0;padding-right:0}
@media(max-width:900px){.krok{padding:32px 0;border-right:0}}
.krok .numer{
  font-size:.95rem;font-weight:600;color:var(--zielen);letter-spacing:.06em;
}
.krok h3{font-size:1.42rem;margin-top:20px}
.krok p{margin-top:12px;color:var(--tekst-2);font-size:.97rem}

/* ── Współpraca (B2B) ──────────────────────────────────────────────────── */
.wspolpraca .ramka{
  background:var(--zielen);color:#fff;border-radius:var(--r-l);
  padding:clamp(40px,6vw,70px);display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(32px,5vw,64px);align-items:center;position:relative;overflow:hidden;
}
@media(max-width:900px){.wspolpraca .ramka{grid-template-columns:1fr;gap:34px}}
.wspolpraca h2{font-size:clamp(1.7rem,2.9vw,2.3rem);color:#fff;margin-top:16px}
.wspolpraca p{margin-top:20px;color:#d5e4d7;font-size:1.04rem;max-width:52ch}
.wspolpraca-akcje{display:flex;flex-direction:column;gap:14px}
.wspolpraca-akcje .btn{justify-content:center}
.wspolpraca .drobne{font-size:.85rem;color:#b8cebb;margin-top:4px;text-align:center}

/* ── Dane firmy ────────────────────────────────────────────────────────── */
.dane .siatka{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,5vw,72px)}
@media(max-width:900px){.dane .siatka{grid-template-columns:1fr;gap:36px}}
.rejestr{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
@media(max-width:620px){.rejestr{grid-template-columns:1fr}}
.rejestr div{padding:22px 26px;border-top:1px solid var(--linia-ciemna);border-right:1px solid var(--linia-ciemna)}
.rejestr div:nth-child(2n){border-right:0}
@media(max-width:620px){.rejestr div{border-right:0;padding:18px 0}}
.rejestr dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--szalwia)}
.rejestr dd{margin:8px 0 0;font-size:1.1rem;font-weight:600;color:#fff;letter-spacing:0}
.rejestr dd small{display:block;font-family:var(--sans);font-size:.84rem;color:var(--szalwia);margin-top:5px;letter-spacing:0}

/* ── Kontakt ───────────────────────────────────────────────────────────── */
.kontakt .siatka{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
@media(max-width:900px){.kontakt .siatka{grid-template-columns:1fr;gap:38px}}
.kontakt-lista{display:grid;gap:18px}
.kontakt-poz{
  display:flex;gap:20px;align-items:flex-start;background:var(--biel);
  border:1px solid var(--linia);border-radius:var(--r-m);padding:24px 26px;
  text-decoration:none;transition:border-color .3s ease;
}
a.kontakt-poz:hover{border-color:var(--zielen)}
.kontakt-poz .ikona{color:var(--zielen);flex:none;margin-top:3px}
.kontakt-poz .ikona svg{width:24px;height:24px}
.kontakt-poz .et{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tekst-2)}
.kontakt-poz .wa{display:block;font-size:1.15rem;font-weight:600;margin-top:6px;color:var(--tekst);line-height:1.3}
.kontakt-poz .do{display:block;font-size:.87rem;color:var(--tekst-2);margin-top:5px}

/* ── Stopka ────────────────────────────────────────────────────────────── */
.stopka{background:var(--las);color:var(--szalwia);padding:64px 0 34px;font-size:.92rem}
.stopka-gora{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid var(--linia-ciemna)}
@media(max-width:820px){.stopka-gora{grid-template-columns:1fr;gap:34px}}
.stopka .znak-stopka{height:50px;width:auto}
.stopka .opis{margin-top:20px;max-width:38ch;font-size:.92rem;line-height:1.65}
.stopka h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-family:var(--sans);font-weight:600}
.stopka ul{margin-top:16px;display:grid;gap:11px}
.stopka a{text-decoration:none}
.stopka a:hover{color:#fff}
.stopka-dol{padding-top:26px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:.85rem}
.stopka-dol .prawo{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px 22px}
@media(max-width:620px){.stopka-dol .prawo{margin-left:0}}

/* ── Wejście sekcji: delikatne, jednorazowe, bez reakcji na kursor ─────── */
.wejscie{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.wejscie.widoczne{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .wejscie{opacity:1;transform:none;transition:none}
  .hero-tlo img{animation:none}
}

/* ── Podstrony dokumentowe (polityka, 404, page.php, index.php) ────────
   Klasy zostają z wersji 1.0.0, żeby nie przepisywać czterech szablonów;
   zmienia się tylko warstwa wizualna. */
.dokument-gora{background:var(--las);color:#fff;padding:clamp(44px,6vw,72px) 0 clamp(36px,5vw,56px)}
.dokument-gora h1{font-size:clamp(1.9rem,3.4vw,2.7rem);color:#fff}
.dokument-gora a{
  display:inline-block;margin-top:16px;color:var(--szalwia);text-decoration:none;
  font-size:.92rem;border-bottom:1px solid transparent;
}
.dokument-gora a:hover{color:#fff;border-bottom-color:currentColor}

.dokument{background:var(--krem);padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,104px)}
.dokument .in > *{max-width:70ch}   /* czytelna miara wiersza, ale oś kompozycji
                                       zostaje ta sama co w nagłówku podstrony */
.dokument h2{font-size:1.28rem;margin-top:44px}
.dokument .in > h2:first-child{margin-top:0}
.dokument h3{font-size:1.08rem;margin-top:28px}
.dokument p{margin-top:14px;color:var(--tekst-2)}
.dokument p strong{color:var(--tekst)}
.dokument a{color:var(--zielen);text-underline-offset:3px}
.dokument a:hover{color:var(--zielen-2)}
.dokument ul,.dokument ol{margin-top:16px;padding-left:22px;list-style:disc;display:grid;gap:10px}
.dokument ol{list-style:decimal}
.dokument li{color:var(--tekst-2)}
.dokument li::marker{color:var(--zielen)}
.dokument li strong{color:var(--tekst)}
.dokument .meta{margin-top:0;color:var(--tekst-2);font-size:1.02rem}
.dokument img{margin-top:20px;border-radius:var(--r-m)}
.dokument table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.95rem}
.dokument th,.dokument td{border:1px solid var(--linia);padding:10px 12px;text-align:left}
.dokument th{background:var(--krem-2);font-weight:600}

/* karta z danymi administratora w polityce */
.dokument .panel{
  margin-top:18px;padding:24px 26px;background:var(--biel);
  border:1px solid var(--linia);border-radius:var(--r-m);
}
.dokument .panel p{margin-top:6px}
.dokument .panel p:first-child{margin-top:0;color:var(--tekst)}

.dokument .wroc{
  display:inline-flex;align-items:center;gap:10px;margin-top:52px;text-decoration:none;
  padding:14px 26px;border:1px solid var(--linia);border-radius:var(--r-s);
  font-weight:600;font-size:.93rem;color:var(--tekst);
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.dokument .wroc:hover{background:var(--zielen);border-color:var(--zielen);color:#fff}

.dokument .pagination,.dokument .nav-links{margin-top:36px;display:flex;gap:10px;flex-wrap:wrap}
.dokument .page-numbers{
  padding:8px 14px;border:1px solid var(--linia);border-radius:var(--r-s);
  text-decoration:none;font-size:.92rem;
}
.dokument .page-numbers.current{background:var(--zielen);border-color:var(--zielen);color:#fff}
.dokument article{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--linia)}
.dokument article:last-of-type{border-bottom:0}

/* ── Blok tekstowy z buildera ──────────────────────────────────────────── */
.blok-tekstowy--waski .in{max-width:calc(70ch + 56px)}
.blok-tekstowy .wiersz + .wiersz{margin-top:34px}
.blok-tekstowy .wiersz{display:grid;gap:clamp(24px,4vw,48px)}
.blok-tekstowy .wiersz--2{grid-template-columns:repeat(2,1fr)}
.blok-tekstowy .wiersz--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){
  .blok-tekstowy .wiersz--2,.blok-tekstowy .wiersz--3{grid-template-columns:1fr}
}
.blok-tekstowy .kolumna > *:first-child{margin-top:0}
.blok-tekstowy__przycisk{margin-top:44px}

/* treść z edytora - wspólne dla bloku tekstowego i akapitów sekcji */
.blok-tekstowy .kolumna h2,.blok-tekstowy .kolumna h3,.blok-tekstowy .kolumna h4{margin-top:40px}
.blok-tekstowy .kolumna h2{font-size:1.28rem}
.blok-tekstowy .kolumna h3{font-size:1.08rem}
.blok-tekstowy .kolumna p{margin-top:14px;color:var(--tekst-2)}
.blok-tekstowy .kolumna p strong{color:var(--tekst)}
.blok-tekstowy .kolumna a{color:var(--zielen);text-underline-offset:3px}
.blok-tekstowy .kolumna a:hover{color:var(--zielen-2)}
.blok-tekstowy .kolumna ul,.blok-tekstowy .kolumna ol{margin-top:16px;padding-left:22px;list-style:disc;display:grid;gap:10px}
.blok-tekstowy .kolumna ol{list-style:decimal}
.blok-tekstowy .kolumna li{color:var(--tekst-2)}
.blok-tekstowy .kolumna li::marker{color:var(--zielen)}
.blok-tekstowy .kolumna li strong{color:var(--tekst)}
.blok-tekstowy .kolumna img{margin-top:20px;border-radius:var(--r-m)}
.blok-tekstowy .kolumna table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.95rem}
.blok-tekstowy .kolumna th,.blok-tekstowy .kolumna td{border:1px solid var(--linia);padding:10px 12px;text-align:left}
.blok-tekstowy .kolumna th{background:var(--krem-2);font-weight:600}
.blok-tekstowy .kolumna .meta{color:var(--tekst-2);font-size:1.02rem}
.blok-tekstowy .kolumna .panel{
  margin-top:18px;padding:24px 26px;background:var(--biel);
  border:1px solid var(--linia);border-radius:var(--r-m);
}
.blok-tekstowy .kolumna .panel p{margin-top:6px}
.blok-tekstowy .kolumna .panel p:first-child{margin-top:0;color:var(--tekst)}
.sekcja--las .kolumna p,.sekcja--las .kolumna li{color:var(--szalwia)}
.sekcja--las .kolumna a{color:#fff}

/* akapity w sekcji „o firmie" pochodzą z edytora */
.o-firmie .akapit p{margin:0;color:var(--tekst-2);font-size:1.06rem}
.o-firmie .akapit p + p{margin-top:16px}
.o-firmie .akapit p strong{color:var(--tekst);font-weight:600}

/* ── Kontakt z formularzem ─────────────────────────────────────────────── */
.kontakt--z-formularzem .kontakt-lista{margin-top:36px}
.kontakt-formularz{
  background:var(--biel);border:1px solid var(--linia);border-radius:var(--r-m);
  padding:clamp(26px,3.4vw,38px);
}
.kontakt-formularz h3{font-size:1.22rem;margin-bottom:20px}

/* Contact Form 7 - motyw nadaje własny wygląd, wtyczka daje tylko znaczniki */
.kontakt-formularz .wpcf7-form p{margin:0 0 18px}
.kontakt-formularz label{display:block;font-size:.9rem;font-weight:600;color:var(--tekst);margin-bottom:7px}
.kontakt-formularz input[type=text],
.kontakt-formularz input[type=email],
.kontakt-formularz input[type=tel],
.kontakt-formularz input[type=url],
.kontakt-formularz input[type=number],
.kontakt-formularz select,
.kontakt-formularz textarea{
  width:100%;font:inherit;font-size:.98rem;color:var(--tekst);background:var(--krem);
  border:1px solid var(--linia);border-radius:var(--r-s);padding:13px 15px;
  transition:border-color .2s ease,background .2s ease;
}
.kontakt-formularz textarea{height:110px;resize:vertical}
.kontakt-formularz input:focus,
.kontakt-formularz select:focus,
.kontakt-formularz textarea:focus{border-color:var(--zielen);background:var(--biel);outline:none}
.kontakt-formularz .wpcf7-list-item{margin:0 0 8px}
.kontakt-formularz .wpcf7-acceptance label,
.kontakt-formularz .wpcf7-checkbox label,
.kontakt-formularz .wpcf7-radio label{
  display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.86rem;color:var(--tekst-2);
}
.kontakt-formularz input[type=checkbox],
.kontakt-formularz input[type=radio]{margin-top:3px;accent-color:var(--zielen);width:16px;height:16px;flex:none}
.kontakt-formularz .wpcf7-submit{
  display:inline-flex;align-items:center;gap:10px;background:var(--zielen);color:#fff;
  border:1px solid var(--zielen);border-radius:var(--r-s);padding:14px 30px;
  font:inherit;font-weight:600;font-size:.93rem;cursor:pointer;
  transition:background .25s ease,border-color .25s ease;
}
/* Focus/active z osobna: ogólne input:focus wyżej dawałoby przyciskowi białe tło
   (biały tekst na białym po kliknięciu) - te selektory są silniejsze i to nadpisują. */
.kontakt-formularz .wpcf7-submit:hover,
.kontakt-formularz .wpcf7-submit:focus,
.kontakt-formularz .wpcf7-submit:active{background:var(--zielen-2);border-color:var(--zielen-2);color:#fff;outline:none}
.kontakt-formularz .wpcf7-submit:focus-visible{outline:2px solid var(--zielen-2);outline-offset:2px}
.kontakt-formularz .wpcf7-submit:disabled{opacity:.55;cursor:not-allowed}
.kontakt-formularz .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:.84rem;color:#b32d2e}
.kontakt-formularz .wpcf7-not-valid{border-color:#b32d2e}
.kontakt-formularz .wpcf7-response-output{
  margin:18px 0 0!important;padding:14px 16px!important;border-radius:var(--r-s);
  border:1px solid var(--linia)!important;font-size:.92rem;background:var(--krem);
}
.kontakt-formularz form.invalid .wpcf7-response-output,
.kontakt-formularz form.failed .wpcf7-response-output{border-color:#b32d2e!important;color:#b32d2e}
.kontakt-formularz form.sent .wpcf7-response-output{border-color:var(--zielen)!important;color:var(--zielen)}
.kontakt-formularz .wpcf7-spinner{margin-left:12px}
