/*
 * Zielony Środek - style globalne (companion)
 * ------------------------------------------------------------------
 * BEZPIECZEŃSTWO PRODUKCJI: wszystkie reguły poza tokenami :root są
 * scopowane do klas .zs-* oraz do widgetu Elementora
 * .elementor-widget-theme-post-content, które NIE istnieją na obecnych
 * (nie-Elementorowych) stronach. Dzięki temu wczytanie tego pliku na
 * całej witrynie nie zmienia niczego widocznego przed go-live.
 * Skórka EasyRecipe, TOC i sticky header dochodzą w fazach F4/F2.
 */

:root {
  /* Zielenie */
  --zs-green:#2E6B3E; --zs-green-dark:#245631; --zs-green-mid:#3E8E4F;
  --zs-green-light:#4A9E5C; --zs-lime:#8CBB4B; --zs-lime-bright:#B7D66A;
  --zs-green-night:#16281B; --zs-teal:#2E6960;
  /* Powierzchnie */
  --zs-cream:#FAF6EC; --zs-card:#FFFDF8; --zs-beige:#F1EAD9; --zs-mint:#ECF1E4;
  --zs-comment:#F7F2E7; --zs-border:#EFE7D3; --zs-border-strong:#E2D6B9;
  /* Akcenty kategorii */
  --zs-terracotta:#C56A3E; --zs-mustard:#D69A3C; --zs-plum:#A0507A;
  --zs-plum-dark:#8E4570; --zs-gold:#E8A33D; --zs-cta:#2ECC71;
  /* Teksty */
  --zs-ink:#1A2415; --zs-ink-2:#1E2A18; --zs-text:#33402C; --zs-text-2:#5B6657;
  --zs-muted:#8A9380;
  /* Kształt i głębia */
  --zs-radius-sm:8px; --zs-radius:12px; --zs-radius-lg:16px; --zs-radius-pill:999px;
  --zs-shadow:0 30px 70px -46px rgba(35,48,31,.42);
  --zs-shadow-sm:0 18px 44px -34px rgba(35,48,31,.4);
  /* Kroje */
  --zs-font-head:'Newsreader',Georgia,serif;
  --zs-font-body:'Karla',system-ui,sans-serif;
  --zs-font-mono:'JetBrains Mono',ui-monospace,monospace;
}

/* Tlo html = tlo body -> brak bialych prze​switow na skrajach. Cieply gradient
   z projektu (175deg krem -> piaskowy), fixed jak w makiecie. */
html{background:#FBF8F1 linear-gradient(175deg,#FCF9F2 0%,#F5EEDF 55%,#F1E8D6 100%) fixed;
  overflow-x:clip}
body{background:transparent !important}

/* ===== Utility: listek-sygnatura ===== */
.zs-leaf{display:inline-block;width:11px;height:11px;background:var(--zs-lime);
  border-radius:50% 50% 50% 0;transform:rotate(45deg)}
.zs-leaf--green{background:var(--zs-green)}
.zs-leaf--mid{background:var(--zs-green-mid)}
.zs-leaf--terra{background:var(--zs-terracotta)}
.zs-leaf--mustard{background:var(--zs-mustard)}
.zs-leaf--plum{background:var(--zs-plum)}
.zs-leaf--teal{background:var(--zs-teal)}

/* ===== Utility: hover-lift ===== */
.zs-lift{transition:transform .22s ease,box-shadow .22s ease}
.zs-lift:hover{transform:translateY(-2px)}

/* ===== Pigulki kategorii/diet (karty) - jasne tla + ciemny kolorowy tekst (jak w makiecie).
   a.zs-dieta + !important: kolor linku z Kitu (.elementor-kit-* a) ma wyzsza specyficznosc
   i nadpisywal kolor pigulek (bug "ciemne na ciemnym"). Wszystkie pary >= 4.5:1 (AA). ===== */
.zs-diety{display:inline-flex;flex-wrap:wrap;gap:8px}
a.zs-dieta,.zs-dieta{display:inline-block;padding:5px 12px;border-radius:var(--zs-radius-pill);
  font:700 11px/1 var(--zs-font-body);text-transform:uppercase;letter-spacing:.09em;
  text-decoration:none;color:#4C7827 !important;background:rgba(140,187,75,.16);
  transition:background .18s ease}
a.zs-dieta:hover{background:rgba(140,187,75,.3)}
a.zs-dieta--weganskie,.zs-dieta--weganskie{color:#B5502B !important;background:rgba(197,106,62,.13)}
a.zs-dieta--weganskie:hover{background:rgba(197,106,62,.24)}
a.zs-dieta--wegetarianskie,.zs-dieta--wegetarianskie{color:#4C7827 !important;background:rgba(140,187,75,.16)}
a.zs-dieta--bezglutenowe,.zs-dieta--bezglutenowe{color:#8F6212 !important;background:rgba(214,154,60,.16)}
a.zs-dieta--bezglutenowe:hover{background:rgba(214,154,60,.3)}
a.zs-dieta--na-slodko,.zs-dieta--na-slodko{color:#8E4570 !important;background:rgba(160,80,122,.13)}
a.zs-dieta--zupy,.zs-dieta--zupy{color:#A5551F !important;background:rgba(197,106,46,.13)}
a.zs-dieta--porady,.zs-dieta--porady,a.zs-dieta--zdrowie,.zs-dieta--zdrowie{
  color:#2E6960 !important;background:rgba(46,105,96,.12)}

/* ===== Badge „Nowe" ===== */
.zs-badge-nowe{display:inline-block;padding:4px 10px;border-radius:var(--zs-radius-pill);
  font:700 10.5px/1 var(--zs-font-body);text-transform:uppercase;letter-spacing:.09em;
  color:var(--zs-green-night);background:var(--zs-lime-bright)}

/* ===== Chipy kategorii / tagów ===== */
.zs-kat-chips{display:inline-flex;flex-wrap:wrap;gap:8px}
.zs-kat-chip{display:inline-block;padding:5px 12px;border-radius:var(--zs-radius-pill);
  font:600 12.5px/1 var(--zs-font-body);text-decoration:none;color:#4C5647;
  background:#F3EEE0;transition:background .18s ease,color .18s ease}
.zs-kat-chip:hover{background:var(--zs-green);color:var(--zs-cream)}

/* ===== Liczba wyników (szukaj) ===== */
.zs-wyniki-liczba{font:400 15px/1.6 var(--zs-font-body);color:var(--zs-text-2)}
.zs-wyniki-liczba strong{color:var(--zs-ink-2);font-weight:700}

/* ==================================================================
 *  Typografia treści wpisu - scopowana do widgetu Post Content
 *  (i aliasu .zs-prose). Nie dotyka istniejących wpisów.
 * ================================================================== */
.elementor-widget-theme-post-content,.zs-prose{
  font:400 19.5px/1.72 var(--zs-font-head);color:var(--zs-text)}

.elementor-widget-theme-post-content p,.zs-prose p{margin:0 0 1.15em}

.elementor-widget-theme-post-content a,.zs-prose a{
  color:var(--zs-green);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1.5px;text-decoration-color:rgba(46,107,62,.35);
  transition:color .18s ease,text-decoration-color .18s ease}
.elementor-widget-theme-post-content a:hover,.zs-prose a:hover{
  color:var(--zs-green-dark);text-decoration-color:var(--zs-green-dark)}
.elementor-widget-theme-post-content a:visited,.zs-prose a:visited{color:#6E5590}
.elementor-widget-theme-post-content a:active,.zs-prose a:active{color:#1C4526}
.elementor-widget-theme-post-content a:focus-visible,.zs-prose a:focus-visible{
  outline:2px solid var(--zs-green);outline-offset:2px;border-radius:2px}

.elementor-widget-theme-post-content h2,.zs-prose h2{
  font:600 32px/1.18 var(--zs-font-head);color:var(--zs-ink);letter-spacing:-.015em;
  margin:1.6em 0 .5em;scroll-margin-top:110px}
.elementor-widget-theme-post-content h3,.zs-prose h3{
  font:600 23px/1.25 var(--zs-font-head);color:var(--zs-ink-2);
  margin:1.4em 0 .45em;scroll-margin-top:110px}
.elementor-widget-theme-post-content h4,.zs-prose h4{
  font:600 20px/1.3 var(--zs-font-head);color:var(--zs-ink-2);margin:1.3em 0 .4em}

/* Obrazki w tresci: zaokraglenia + podpisy jak w projekcie */
.elementor-widget-theme-post-content img,.zs-prose img{border-radius:12px;max-width:100%;height:auto}
.elementor-widget-theme-post-content figure,.zs-prose figure{margin:30px 0}
.elementor-widget-theme-post-content figcaption,.zs-prose figcaption,
.elementor-widget-theme-post-content .wp-caption-text,.zs-prose .wp-caption-text{
  font:italic 400 12.5px/1.5 var(--zs-font-body);color:#98A08D;padding-top:10px;text-align:left}
/* Wyjatek: obrazki karty EasyRecipe maja wlasny styl */
.elementor-widget-theme-post-content .easyrecipe img{border-radius:12px}

.elementor-widget-theme-post-content strong,.zs-prose strong{color:var(--zs-ink-2);font-weight:600}
.elementor-widget-theme-post-content em,.zs-prose em{font-style:italic}
.elementor-widget-theme-post-content mark,.zs-prose mark{
  background:#CFE3C3;color:#1B2716;padding:.02em .22em;border-radius:3px}

/* Listy: punktor-listek + numer w zielonym kole */
.elementor-widget-theme-post-content ul,.zs-prose ul{list-style:none;margin:0 0 1.2em;padding:0}
.elementor-widget-theme-post-content ul>li,.zs-prose ul>li{
  position:relative;padding-left:30px;margin:0 0 .5em}
.elementor-widget-theme-post-content ul>li::before,.zs-prose ul>li::before{
  content:"";position:absolute;left:4px;top:.55em;width:11px;height:11px;
  background:var(--zs-lime);border-radius:50% 50% 50% 0;transform:rotate(45deg)}
.elementor-widget-theme-post-content ol,.zs-prose ol{
  list-style:none;counter-reset:zs;margin:0 0 1.2em;padding:0}
.elementor-widget-theme-post-content ol>li,.zs-prose ol>li{
  position:relative;padding-left:42px;margin:0 0 .6em;counter-increment:zs}
.elementor-widget-theme-post-content ol>li::before,.zs-prose ol>li::before{
  content:counter(zs);position:absolute;left:0;top:.05em;width:26px;height:26px;
  display:grid;place-items:center;border-radius:50%;background:var(--zs-green);
  color:var(--zs-cream);font:700 13px/1 var(--zs-font-body)}

/* Cytat */
.elementor-widget-theme-post-content blockquote,.zs-prose blockquote{
  margin:1.6em 0;padding:18px 22px;border-left:4px solid var(--zs-green);
  background:linear-gradient(120deg,#F3F7EE,#EEF4E6);border-radius:0 12px 12px 0;
  font:500 21px/1.55 var(--zs-font-head);font-style:italic;color:#2A3822}
.elementor-widget-theme-post-content blockquote p:last-child,.zs-prose blockquote p:last-child{margin:0}

/* Tabela: zielony thead, zebra, zaokrąglenie, scroll na wąskich ekranach */
.elementor-widget-theme-post-content table,.zs-prose table{
  width:100%;border-collapse:collapse;margin:1.4em 0;font:400 16px/1.5 var(--zs-font-body);
  border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--zs-border)}
.elementor-widget-theme-post-content thead th,.zs-prose thead th{
  background:var(--zs-green);color:var(--zs-cream);text-align:left;
  font:700 14px/1.3 var(--zs-font-body);padding:12px 16px}
.elementor-widget-theme-post-content td,.zs-prose td{padding:11px 16px;border-top:1px solid #EEE6D2}
.elementor-widget-theme-post-content tbody tr:nth-child(even),.zs-prose tbody tr:nth-child(even){background:#FBF7EC}

/* Podpis pod obrazem */
.elementor-widget-theme-post-content figcaption,.zs-prose figcaption{
  font:italic 400 12.5px/1.5 var(--zs-font-body);color:#98A08D;text-align:center;margin-top:.5em}

/* Kod */
.elementor-widget-theme-post-content code,.zs-prose code{
  font:400 .92em/1.5 var(--zs-font-mono);background:#F3EEE0;padding:.1em .35em;border-radius:5px}
.elementor-widget-theme-post-content pre,.zs-prose pre{
  font:400 14.5px/1.6 var(--zs-font-mono);background:var(--zs-green-night);color:#E6EED9;
  padding:18px 20px;border-radius:12px;overflow-x:auto;margin:1.4em 0}
.elementor-widget-theme-post-content pre code,.zs-prose pre code{background:none;padding:0}

/* Przycisk blokowy Gutenberga -> zielona pigułka */
.elementor-widget-theme-post-content .wp-block-button__link,.zs-prose .wp-block-button__link{
  background:var(--zs-green);color:var(--zs-cream);border-radius:var(--zs-radius-pill);
  padding:12px 26px;font:700 15px/1 var(--zs-font-body);text-decoration:none;
  display:inline-block;transition:background .18s ease,transform .18s ease}
.elementor-widget-theme-post-content .wp-block-button__link:hover,.zs-prose .wp-block-button__link:hover{
  background:var(--zs-green-dark);transform:translateY(-2px)}

::selection{background:#CFE3C3;color:#1B2716}

/* ==================================================================
 *  Naglowek (F2) - tylko efekty NIE wystawione w kontrolkach widgetow
 *  (pigulka hover nav, obrys social, kolo szukania, zwijanie sticky).
 *  Reszta stylu naglowka = natywne ustawienia widgetow.
 * ================================================================== */
.zs-header .e-con-inner{max-width:1400px}

/* Social - obrysowane kolka zamiast wypelnienia */
.zs-header-social .elementor-social-icons-wrapper .elementor-social-icon{background-color:transparent;border:1.5px solid rgba(35,48,31,.18);
  width:30px;height:30px;transition:background-color .18s ease,border-color .18s ease}
.zs-header-social .elementor-social-icons-wrapper .elementor-social-icon svg{fill:#4A5442;transition:fill .18s ease}
.zs-header-social .elementor-social-icon:hover{background-color:#EAE0CB !important;border-color:var(--zs-green) !important}
.zs-header-social .elementor-social-icon:hover svg{fill:#1F3D26 !important}
.zs-header-social .elementor-social-icon:hover i,.zs-header-social .elementor-social-icon:hover:before{color:#1F3D26 !important}

/* Zero odstepu miedzy paskiem social a belka (gap kontenera robil dziure po zwinieciu) */
.zs-header{gap:0 !important;row-gap:0 !important}
/* Pasek social: kompaktowy 42px, delikatny gradient + dolny border (jak w projekcie) */
.zs-header-social{background:linear-gradient(90deg,rgba(46,107,62,.05),rgba(214,154,60,.06)) !important;
  border-bottom:1px solid rgba(214,203,175,.55)}
.zs-header-social>.e-con-inner{min-height:42px}
/* Okragle ikony social (Elementor daje im 10% zaokraglenia) */
.zs-header-social .elementor-social-icon{border-radius:50% !important;
  border:1.5px solid rgba(35,48,31,.16);width:30px;height:30px}
/* Kompaktowo: zadnych dodatkowych marginesow w pasku social */
.zs-header-social>.e-con-inner{padding-top:0;padding-bottom:0}
.zs-header-social .elementor-widget-social-icons{margin:0}
.zs-header-social .elementor-social-icons-wrapper{margin:0;line-height:1}
/* Grupa akcji (szukaj + CTA) - przytul do tresci (nie full-width) */
.zs-header-actions{flex:0 0 auto;width:auto}
/* Nav - rozciagnij widget i wysrodkuj menu miedzy logo a akcjami
   (Elementor "optimized markup": widget bez .elementor-widget-container) */
.zs-header-main .zs-nav{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.zs-header-main .zs-nav .elementor-widget-container{display:flex;justify-content:center;width:100%}
/* CTA - poswiata z dolu jak w projekcie */
.zs-btn-cta .elementor-button{box-shadow:0 14px 26px -14px rgba(46,107,62,.95)}
.zs-btn-cta .elementor-button:hover{box-shadow:0 20px 32px -16px rgba(46,107,62,.95)}
/* Tekst przyciskow na hoverze: kolor hover linkow Kitu (ciemna zielen) robil
   "ciemne na ciemnym" - wymuszamy krem na wszystkich zielonych pigulkach */
.zs-btn-cta .elementor-button:hover,.zs-dg-btn .elementor-button:hover,
.zs-hm-cta .elementor-button:hover{color:#FAF6EC !important}
/* Nav - jedna linia (bez zawijania) + wysrodkowana lista na desktopie */
.zs-nav .elementor-nav-menu{flex-wrap:nowrap !important;justify-content:center}
.zs-header-main .zs-nav .elementor-nav-menu--main{width:100%;display:flex;justify-content:center}
/* Social - wymus przezroczyste tlo (Elementor ustawia kolor inline) */
.zs-header-social .elementor-social-icon,.zs-foot-social .elementor-social-icon{background-color:transparent !important}
/* Nav - pigulka pod pozycja na hover/active */
.zs-nav .elementor-item{border-radius:var(--zs-radius-pill);transition:background .18s ease,color .18s ease}
.zs-nav .elementor-item:hover,.zs-nav .elementor-item.elementor-item-active{background:rgba(46,107,62,.10)}
.zs-nav .elementor-sub-item{border-radius:8px}

/* Ikona szukania - kolo na hover */
.zs-search-toggle .elementor-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  transition:background .18s ease}
.zs-search-toggle .elementor-icon:hover{background:rgba(46,107,62,.10)}

/* CTA - lekki lift na hover */
.zs-btn-cta .elementor-button{transition:background-color .18s ease,transform .18s ease}
.zs-btn-cta .elementor-button:hover{transform:translateY(-2px)}

/* ==================================================================
 *  Header FIXED (wzorzec z projektu, sterowany przez zsc-header.js)
 *  Dwa headery: .zs-header (desktop) + .zs-header-m (tablet/mobile),
 *  widocznosc = natywna responsive visibility Elementora.
 *  JS dodaje body.zs-header-fixed (progressive enhancement - bez JS
 *  header zostaje statyczny w flow) i body.zs-scrolled po >36px.
 * ================================================================== */
body.zs-header-fixed .zs-header,body.zs-header-fixed .zs-header-m{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:box-shadow .45s ease,border-color .45s ease}
body.admin-bar.zs-header-fixed .zs-header,body.admin-bar.zs-header-fixed .zs-header-m{top:32px}
@media (max-width:782px){
  body.admin-bar.zs-header-fixed .zs-header,body.admin-bar.zs-header-fixed .zs-header-m{top:46px}}
body.zs-scrolled .zs-header,body.zs-scrolled .zs-header-m{
  box-shadow:0 16px 40px -26px rgba(35,48,31,.6);border-bottom:1px solid rgba(214,203,175,.7)}
/* Pasek social zwija sie do zera po przewinieciu (jak w projekcie) */
.zs-header .zs-header-social{max-height:60px;overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .45s ease}
body.zs-scrolled .zs-header .zs-header-social{max-height:0;opacity:0;
  padding-top:0 !important;padding-bottom:0 !important;border-bottom-color:transparent}
/* Belka glowna kurczy sie i dostaje glass */
.zs-header-main{transition:background-color .45s ease,padding .45s cubic-bezier(.4,0,.2,1)}
body.zs-scrolled .zs-header-main{
  background-color:rgba(250,246,236,.9) !important;
  -webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);
  padding-top:9px;padding-bottom:9px}
/* Logo lekko maleje po przewinieciu */
.zs-header-main .elementor-widget-theme-site-logo img,.zs-header-main .elementor-widget-image img{
  transition:max-width .45s cubic-bezier(.4,0,.2,1)}
body.zs-scrolled .zs-header-main .elementor-widget-theme-site-logo img,
body.zs-scrolled .zs-header-main .elementor-widget-image img{max-width:112px}
/* Kotwice nie chowaja sie pod fixed headerem */
[id]{scroll-margin-top:150px}

/* --- Header mobilny (tablet + mobile) --- */
.zs-header-m{background-color:#FAF6EC}
body.zs-scrolled .zs-header-m{
  background-color:rgba(250,246,236,.92) !important;
  -webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}
.zs-hm-logo{line-height:0}
.zs-hm-actions{flex:0 0 auto;width:auto}
/* Burger jako kolo 42px (jak w projekcie) */
.zs-hm-nav .elementor-menu-toggle{width:42px;height:42px;border-radius:50%;
  border:1.5px solid rgba(35,48,31,.16);background:transparent;color:#2E3A26;
  display:flex;align-items:center;justify-content:center;transition:all .25s ease}
.zs-hm-nav .elementor-menu-toggle:hover,.zs-hm-nav .elementor-menu-toggle.elementor-active{
  border-color:var(--zs-green);color:var(--zs-green);background:rgba(46,107,62,.08)}
.zs-hm-nav .elementor-menu-toggle svg{fill:currentColor;width:18px;height:18px}
/* Rozwijane menu mobilne: pelna szerokosc, bez martwej przerwy, pozycje 17px z separatorami */
.zs-hm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{
  margin-top:10px;background:#FFFDF8;border-top:1px solid #E7DFCD;border-radius:0 0 14px 14px;
  box-shadow:0 30px 60px -34px rgba(35,48,31,.5);padding:12px 12px 22px}
.zs-hm-nav .elementor-nav-menu--dropdown a{
  font:700 17px/1.3 var(--zs-font-body);color:#23301F;padding:13px 14px;
  border-bottom:1px solid #EDE4D0}
.zs-hm-nav .elementor-nav-menu--dropdown li:last-child>a{border-bottom:none}
.zs-hm-nav .elementor-nav-menu--dropdown a:hover,
.zs-hm-nav .elementor-nav-menu--dropdown a.elementor-item-active{
  color:var(--zs-green);background:rgba(46,107,62,.06)}
.zs-hm-nav .elementor-nav-menu--dropdown .sub-menu a{font-weight:600;font-size:15px;padding-left:26px}

/* ==================================================================
 *  Stopka (F2)
 * ================================================================== */
.zs-footer-cta .e-con-inner{border-bottom:1px solid rgba(255,255,255,.09)}
.zs-footer-legal .e-con-inner{border-top:1px solid rgba(255,255,255,.09)}
.zs-footer-grid > .e-con-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;align-items:start}

.zs-foot-blurb,.zs-foot-blurb p{color:#9FB094;font:400 14.5px/1.6 var(--zs-font-body);margin:0 0 .5em}
.zs-foot-blurb a{color:#C9D6C0;text-decoration:underline;text-underline-offset:2px}
.zs-foot-blurb a:hover{color:#FAF6EC}
.zs-foot-copy,.zs-foot-copy p{color:#8E9E80;font:400 13px/1.5 var(--zs-font-body);margin:0}
.zs-foot-legal-links,.zs-foot-legal-links p{font:600 13px/1.5 var(--zs-font-body);margin:0}
.zs-foot-legal-links a{color:#9FB094;text-decoration:none}
.zs-foot-legal-links a:hover{color:#B7D66A}

.zs-foot-nav .elementor-item{padding:5px 0;transition:color .18s ease,transform .18s ease}
.zs-foot-nav .elementor-item:hover{transform:translateX(4px)}

.zs-foot-social .elementor-social-icons-wrapper .elementor-social-icon{background-color:transparent;
  border:1.5px solid rgba(201,214,192,.35);width:34px;height:34px;
  transition:background-color .18s ease,border-color .18s ease}
.zs-foot-social .elementor-social-icons-wrapper .elementor-social-icon svg{fill:#C9D6C0;transition:fill .18s ease}
.zs-foot-social .elementor-social-icons-wrapper .elementor-social-icon:hover{background-color:#B7D66A;border-color:#B7D66A}
.zs-foot-social .elementor-social-icons-wrapper .elementor-social-icon:hover svg{fill:#16281B}

@media (max-width:1024px){.zs-footer-grid > .e-con-inner{grid-template-columns:1fr 1fr}}
@media (max-width:767px){
  .zs-footer-grid > .e-con-inner{grid-template-columns:1fr}
  .zs-footer-cta .e-con-inner{flex-direction:column;align-items:flex-start}
}

/* ==================================================================
 *  Karta wpisu (loop item) + siatki strony glownej
 * ================================================================== */
a.zs-card,.zs-card{background:var(--zs-card);border:1px solid var(--zs-border);border-radius:12px;
  overflow:hidden;box-shadow:0 18px 40px -30px rgba(35,48,31,.5);height:100%;text-decoration:none;
  display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.zs-card:hover{transform:translateY(-6px);box-shadow:0 32px 56px -30px rgba(35,48,31,.55);
  border-color:var(--zs-border-strong)}
.zs-card .zs-card-img{line-height:0;min-height:200px;background:linear-gradient(135deg,#E6EEDD,#CFDEC3)}
.zs-card .zs-card-img img{display:block;width:100%;height:206px;object-fit:cover;transition:transform .4s ease}
.zs-card:hover .zs-card-img img{transform:scale(1.04)}
.zs-card-body{gap:0;display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.zs-card-title .elementor-heading-title{font:500 22px/1.16 var(--zs-font-head) !important;
  color:var(--zs-ink-2);margin:0;transition:color .18s ease;letter-spacing:0}
.zs-card:hover .zs-card-title .elementor-heading-title{color:var(--zs-green)}
/* Meta przypieta do dolu karty (jak w projekcie) */
.zs-card-meta{font:400 12.5px/1.3 var(--zs-font-body);color:var(--zs-muted);margin-top:auto;padding-top:14px}
.zs-card-kicker{display:block;margin-bottom:9px}

/* Mapa kolorow kickera per kategoria - wartosci przyciemnione do WCAG AA (4.5:1 na karcie).
   Dziala i na kartach (.zs-card-kicker) i na mini-kartach (sam .zs-kicker z data-kat). */
.zs-kicker{display:block;font:700 10.5px/1.3 var(--zs-font-body);text-transform:uppercase;
  letter-spacing:.09em;color:#2F7A40}
.zs-kicker[data-kat=dania-glowne]{color:#B5502B}
.zs-kicker[data-kat=na-slodko]{color:#8E4570}
.zs-kicker[data-kat=na-slono]{color:#A5551F}
.zs-kicker[data-kat=zupy]{color:#A5551F}
.zs-kicker[data-kat=salatki]{color:#2F7A40}
.zs-kicker[data-kat=sniadania]{color:#8F6212}
.zs-kicker[data-kat=przekaski]{color:#4C7827}
.zs-kicker[data-kat=weganskie]{color:#4C7827}
.zs-kicker[data-kat=wegetarianskie]{color:#4C7827}
.zs-kicker[data-kat=bezglutenowe]{color:#91650F}
.zs-kicker[data-kat=porady]{color:#2E6960}
.zs-kicker[data-kat=zdrowie]{color:#2E6960}

/* Naglowek sekcji strony glownej: [eyebrow 100%] / [h2 ... link] / [podtytul 100%] */
.zs-sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;
  gap:12px 24px;margin-bottom:40px}
.zs-sec-head .elementor-widget-heading{margin-right:auto}
.zs-sec-head .elementor-heading-title{font:500 46px/1 var(--zs-font-head);letter-spacing:-.02em;
  color:#1E2A18;margin:0}
.zs-h2-38.elementor-widget-heading .elementor-heading-title{font-size:38px}
/* Eyebrow w naglowku sekcji - caly wiersz nad h2 */
.zs-sec-eyebrow{flex:0 0 100%;width:100%;margin-bottom:-6px}
/* Kursywny podtytul pod h2 */
.zs-sec-sub{flex:0 0 100%;width:100%}
.zs-sec-sub,.zs-sec-sub p{font:italic 400 18px/1.4 var(--zs-font-head);color:#667260;margin:0}
.zs-sec-link a{font:700 14px/1 var(--zs-font-body);color:var(--zs-green);text-decoration:none;
  transition:color .18s ease}
.zs-sec-link a:hover{color:var(--zs-green-dark)}
.zs-sec-link--plum a{color:#8E4570}.zs-sec-link--plum a:hover{color:#7A3B60}
.zs-sec-link--teal a{color:#2E6960}.zs-sec-link--teal a:hover{color:#24544D}
@media (max-width:1024px){.zs-sec-head .elementor-heading-title{font-size:36px}
  .zs-h2-38.elementor-widget-heading .elementor-heading-title{font-size:31px}}
@media (max-width:600px){.zs-sec-head .elementor-heading-title{font-size:31px}
  .zs-h2-38.elementor-widget-heading .elementor-heading-title{font-size:28px}}

/* Kafelki kategorii */
.zs-cat-tile{display:flex;align-items:center;justify-content:center;min-height:96px;border-radius:14px;
  background:var(--zs-mint);border:1px solid var(--zs-border);text-decoration:none;padding:14px;
  font:700 17px/1.2 var(--zs-font-head);color:var(--zs-ink-2);text-align:center;transition:all .2s ease}
.zs-cat-tile:hover{background:var(--zs-green);color:var(--zs-cream);transform:translateY(-3px);
  box-shadow:0 16px 30px -18px rgba(46,107,62,.6)}
.zs-cat-tile .elementor-heading-title{color:inherit;font-family:var(--zs-font-head);font-weight:700;
  font-size:17px;line-height:1.2;margin:0}
.zs-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1024px){.zs-cat-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== Hero: wyrozniony + mini-karty ===== */
/* Tlo hero: radialny gradient zieleni wygasajacy ku dolowi (jak w projekcie),
   zamiast plaskiego koloru - !important nadpisuje kolor tla z Elementora */
.zs-hero{background:radial-gradient(118% 88% at 50% 0%,rgba(46,107,62,.16) 0%,
  rgba(143,193,91,.07) 38%,rgba(250,246,236,0) 66%) !important}
.zs-hero-grid{display:grid;grid-template-columns:1.62fr 1fr;gap:30px;align-items:stretch}
.zs-hero-feat-grid,.zs-hero-mini-grid{width:100%;height:100%}
.zs-hero-feat-grid .elementor-loop-container,.zs-hero-mini-grid .elementor-loop-container{gap:12px;height:100%}
/* Duza karta wyrozniona (obraz w tle + biala karta nachodzaca) */
a.zs-hero-feat,.zs-hero-feat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:flex-start;border-radius:28px;overflow:hidden;background-size:cover;background-position:center;
  text-decoration:none;min-height:540px;height:100%;box-shadow:0 44px 84px -46px rgba(35,48,31,.62)}
.zs-hero-feat::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(18,26,15,.35) 0%,rgba(18,26,15,0) 46%)}
.zs-hero-feat-body{position:relative;z-index:2;background:#FFFDF8;border-radius:12px;border:1px solid #EFE7D3;
  padding:26px 30px 24px;margin:0 44px 26px 40px;max-width:560px;box-shadow:0 30px 60px -36px rgba(35,48,31,.5)}
/* Badge "Przepis tygodnia" - kremowy na zdjeciu, lewy gorny rog (jak w projekcie).
   Widget lezy bezposrednio w korzeniu karty (nie w bialej karcie), wiec absolute
   pozycjonuje sie wzgledem zdjecia. */
.zs-hero-feat .zs-feat-badge{position:absolute;top:22px;left:22px;z-index:3;width:auto}
.zs-feat-badge .elementor-heading-title{display:inline-block;background:#FAF6EC;color:#1E2A18;
  font:700 11px/1 var(--zs-font-body);text-transform:uppercase;letter-spacing:.13em;padding:8px 14px;
  border-radius:7px;box-shadow:0 10px 24px -12px rgba(0,0,0,.4)}
.zs-feat-title .elementor-heading-title{font:500 34px/1.08 var(--zs-font-head) !important;
  letter-spacing:-.01em;color:var(--zs-ink);margin:0 0 10px}
a.zs-hero-feat:hover .zs-feat-title .elementor-heading-title{color:var(--zs-green)}
.zs-feat-exc,.zs-feat-exc p{font:400 16px/1.6 var(--zs-font-body);color:#5B6657;margin:0 0 16px;max-width:560px}
.zs-feat-chips{margin-bottom:12px}
.zs-feat-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;flex-wrap:wrap}
.zs-feat-meta{color:#7C8574;font:600 13.5px/1 var(--zs-font-body)}
.zs-feat-cta .elementor-heading-title{color:var(--zs-green);font:700 14.5px/1 var(--zs-font-body) !important;margin:0}
a.zs-hero-feat:hover .zs-feat-cta .elementor-heading-title{color:var(--zs-green-dark)}
/* Mini karty (poziome) */
a.zs-mini,.zs-mini{background:var(--zs-card);border:1px solid var(--zs-border);border-radius:9px;
  text-decoration:none;box-shadow:0 14px 32px -28px rgba(35,48,31,.5);padding:11px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.zs-mini:hover{transform:translateY(-3px);border-color:var(--zs-border-strong);
  box-shadow:0 22px 40px -26px rgba(35,48,31,.55)}
.zs-mini-img img{width:92px;height:80px;object-fit:cover;border-radius:6px;display:block}
.zs-mini-title .elementor-heading-title{font:500 17px/1.15 var(--zs-font-head) !important;color:var(--zs-ink-2);margin:0}
.zs-mini:hover .zs-mini-title .elementor-heading-title{color:var(--zs-green)}
.zs-mini-meta{font:400 11.5px/1 var(--zs-font-body);color:var(--zs-muted);margin-top:5px}
.zs-mini-kicker .zs-kicker{font-size:10px;margin-bottom:4px}
@media (max-width:1024px){.zs-hero-grid{grid-template-columns:1fr}
  .zs-hero-feat-body{margin:0 18px 18px;padding:20px 22px}
  .zs-feat-title .elementor-heading-title{font-size:27px !important}}

/* ===== Dania glowne - OTWARTE naprzemienne wiersze (bez boksu!) z numerem-duchem =====
   W projekcie wiersz NIE ma tla/obrysu/cienia - tekst lezy wprost na tle sekcji,
   cien ma tylko zdjecie. Obraz = szersza kolumna (1.05fr), start od lewej. */
.zs-dg-grid .elementor-loop-container{counter-reset:dg;display:flex;flex-direction:column;gap:60px}
a.zs-dg-card,.zs-dg-card{position:relative;background:none;border:none;border-radius:0;overflow:visible;
  text-decoration:none;box-shadow:none;counter-increment:dg;display:flex;
  flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;gap:44px;padding:0}
/* Dzieci kontenera Elementora maja domyslnie width:100% (--width) i wpadaja kazde
   do osobnego wiersza - wymuszamy uklad 2 kolumn */
.zs-dg-card>.zs-dg-img{flex:105 1 0 !important;width:auto !important;max-width:none;min-width:0;line-height:0}
.zs-dg-img img{width:100%;height:440px;object-fit:cover;display:block;border-radius:14px;
  box-shadow:0 40px 76px -44px rgba(35,48,31,.6)}
.zs-dg-card>.zs-dg-text{flex:100 1 0 !important;--width:auto;width:auto !important;
  min-width:0;position:relative;padding:0}
.zs-dg-chips{display:block;margin-bottom:16px;position:relative;z-index:1}
.zs-dg-title .elementor-heading-title{font:500 34px/1.1 var(--zs-font-head) !important;
  letter-spacing:-.01em;color:var(--zs-ink);margin:0 0 14px;position:relative;z-index:1}
.zs-dg-card:hover .zs-dg-title .elementor-heading-title{color:var(--zs-green)}
.zs-dg-exc,.zs-dg-exc p{font:400 16px/1.62 var(--zs-font-body);color:#5B6657;margin:0 0 22px;max-width:440px}
.zs-dg-foot{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.zs-dg-btn .elementor-button{background-color:var(--zs-green);color:#FAF6EC;border-radius:999px;
  padding:12px 22px;font:700 14.5px/1 var(--zs-font-body);box-shadow:0 14px 26px -16px rgba(46,107,62,.9);
  transition:all .25s ease}
.zs-dg-btn .elementor-button:hover{background-color:var(--zs-green-dark);transform:translateY(-2px)}
.zs-dg-meta{font:600 13.5px/1 var(--zs-font-body);color:var(--zs-muted)}
/* Numer-duch: 150px italic, kolor akcentu per wiersz (01 zielony, 02 terrakota, 03 zloty).
   Elementor wstawia <style> jako 1. dziecko loop-containera -> wpisy to dzieci 2,3,4. */
.zs-dg-text::after{content:counter(dg,decimal-leading-zero);position:absolute;top:-64px;right:-6px;z-index:0;
  font:italic 500 150px/1 var(--zs-font-head);color:rgba(46,107,62,.09);pointer-events:none}
.zs-dg-grid .elementor-loop-container>:nth-child(3) .zs-dg-card{flex-direction:row-reverse !important}
.zs-dg-grid .elementor-loop-container>:nth-child(3) .zs-dg-text::after{left:-6px;right:auto;
  color:rgba(197,106,62,.1)}
.zs-dg-grid .elementor-loop-container>:nth-child(4) .zs-dg-text::after{color:rgba(214,154,60,.12)}
@media (max-width:1024px){
  .zs-dg-grid .elementor-loop-container{gap:44px}
  a.zs-dg-card,.zs-dg-card{gap:28px}
  .zs-dg-img img{height:320px}
  .zs-dg-title .elementor-heading-title{font-size:27px !important}
  .zs-dg-text::after{font-size:100px;top:-44px}
}
@media (max-width:767px){
  .zs-dg-grid .elementor-loop-container>:nth-child(3) .zs-dg-card,.zs-dg-card{flex-direction:column !important;
    align-items:stretch;gap:18px}
  .zs-dg-img img{height:230px}
  .zs-dg-text::after{font-size:72px;top:-14px;right:0}
  .zs-dg-grid .elementor-loop-container>:nth-child(3) .zs-dg-text::after{left:auto;right:0}
}

/* ===== Na slodko - masonry przez CSS columns (jak w projekcie).
   Masonry JS Elementora liczyl pozycje przed doladowaniem zdjec -> karty
   sklejaly sie bez odstepu pionowego. Kolumny CSS sa stabilne. ===== */
.zs-masonry .elementor-loop-container{display:block !important;column-count:3;column-gap:22px}
.zs-masonry .elementor-loop-container>*{break-inside:avoid;-webkit-column-break-inside:avoid;
  margin:0 0 22px;transform:none !important}
.zs-masonry .zs-card{height:auto}
.zs-masonry .zs-card .zs-card-img,.zs-masonry .zs-card .zs-card-img img{min-height:0;height:auto}
.zs-masonry .zs-card .zs-card-img{background:none}
@media (max-width:1024px){.zs-masonry .elementor-loop-container{column-count:2}}
@media (max-width:600px){.zs-masonry .elementor-loop-container{column-count:1}}

/* ===== Zdrowie - duza karta + panel listy (bez zdjec, jak w projekcie) ===== */
.zs-zd-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:34px;align-items:stretch}
.zs-zd-feat .zs-card-img img{height:290px}
.zs-zd-feat .zs-card-body{padding:26px 28px 28px}
.zs-zd-feat .zs-card-title .elementor-heading-title{font-size:29px !important;line-height:1.14 !important}
/* Panel listy: blade zielone tlo, pozycje bez kart i bez zdjec, separator miedzy */
.zs-zd-list{background:#F5F8F2;border:1px solid #DFE8D6;border-radius:12px;padding:10px 24px;
  display:flex;flex-direction:column;justify-content:center}
.zs-zd-mini .elementor-loop-container{gap:0 !important;height:100%}
.zs-zd-mini .zs-mini{background:none;border:none;box-shadow:none;border-radius:0;padding:22px 4px;
  border-bottom:1px solid #E1E8D8;transition:transform .2s ease}
.zs-zd-mini .elementor-loop-container>:last-child .zs-mini{border-bottom:none}
.zs-zd-mini .zs-mini:hover{transform:translateX(6px);box-shadow:none}
.zs-zd-mini .zs-mini-img{display:none}
.zs-zd-mini .zs-mini-title .elementor-heading-title{font-size:22px !important;line-height:1.18 !important}
.zs-zd-mini .zs-mini-kicker .zs-kicker{color:#2E6960;margin-bottom:7px}
.zs-zd-mini .zs-mini-meta{margin-top:7px;font-size:12.5px}
@media (max-width:1024px){.zs-zd-grid{grid-template-columns:1fr}}

/* ===== Sniadania - lewa: naglowek+intro+duze zdjecie; prawa: zakladki z lista ===== */
.zs-sn-grid{display:grid;grid-template-columns:.92fr 1.2fr;gap:48px;align-items:start}
.zs-sn-h2.elementor-widget-heading .elementor-heading-title{font:500 52px/1 var(--zs-font-head);
  letter-spacing:-.02em;color:#1E2A18;margin:0 0 14px}
.zs-sn-intro,.zs-sn-intro p{font:400 16px/1.62 var(--zs-font-body);color:#5B6657;margin:0 0 22px;max-width:380px}
/* Duze zdjecie w lewej kolumnie */
.zs-sn-feat .zs-card{height:auto}
.zs-sn-feat .zs-card-img img{height:404px}
.zs-sn-feat .zs-card-title .elementor-heading-title{font-size:23px !important}
/* Zakladki (nested-tabs) - pigulki jak w projekcie */
.zs-sn-tabs .e-n-tabs-heading{gap:10px;margin-bottom:20px;justify-content:flex-start}
.zs-sn-tabs .e-n-tab-title{background-color:transparent !important;border:1.5px solid #D8CBAD;
  border-radius:999px;padding:9px 19px;cursor:pointer;transition:all .22s ease}
.zs-sn-tabs .e-n-tab-title-text{font:700 13.5px/1 var(--zs-font-body);color:#5B6657}
.zs-sn-tabs .e-n-tab-title[aria-selected=true],.zs-sn-tabs .e-n-tab-title.e-active{
  background-color:var(--zs-green) !important;border-color:var(--zs-green) !important}
.zs-sn-tabs .e-n-tab-title[aria-selected=true] .e-n-tab-title-text,
.zs-sn-tabs .e-n-tab-title.e-active .e-n-tab-title-text{color:#FAF6EC !important}
.zs-sn-tabs .e-n-tab-title:hover:not([aria-selected=true]){border-color:var(--zs-green);color:var(--zs-green)}
/* Panel listy: bialy box */
.zs-sn-panel{background:#FFFDF8;border:1px solid #EAE0CB;border-radius:14px;padding:10px 22px;
  box-shadow:0 30px 64px -40px rgba(35,48,31,.4)}
/* Numerowana lista w zakladkach */
.zs-sn-list .elementor-loop-container{counter-reset:sn;gap:0 !important}
.zs-sn-list .zs-mini{background:none;border:none;box-shadow:none;border-radius:0;padding:20px 4px;
  border-bottom:1px solid #EFE7D3;transition:transform .2s ease,background .2s ease;
  display:flex;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;gap:18px}
/* Dzieci kontenera Elementora (width:100%) nie moga wypychac wiersza */
.zs-sn-list .zs-mini>.e-con{flex:1 1 0 !important;width:auto !important;min-width:0}
.zs-sn-list .zs-mini>.zs-mini-img{flex:0 0 auto !important;width:auto !important}
/* W liscie: bez kickera (jak w projekcie - tylko tytul + meta) + strzalka na koncu */
.zs-sn-list .zs-mini-kicker{display:none}
.zs-sn-list .zs-mini::after{content:"\2192";flex:0 0 auto;margin-left:auto;color:#B8AE95;
  font:400 20px/1 var(--zs-font-body)}
.zs-sn-list .elementor-loop-container>:last-child .zs-mini{border-bottom:none}
.zs-sn-list .zs-mini:hover{background:#FBF6EA;transform:translateX(6px)}
.zs-sn-list .zs-mini::before{content:counter(sn,decimal-leading-zero) !important;counter-increment:sn;
  position:static !important;inset:auto !important;width:auto !important;height:auto !important;
  font:italic 500 36px/1 var(--zs-font-head);color:#D0A64B;flex:0 0 56px;align-self:center;
  text-align:left}
.zs-sn-slona .zs-mini::before{color:#5C8E33}
.zs-sn-list .zs-mini-img{display:block}
.zs-sn-list .zs-mini-img img{width:68px;height:68px;border-radius:8px}
.zs-sn-list .zs-mini-title .elementor-heading-title{font-size:21px !important;line-height:1.16 !important}
.zs-sn-list .zs-mini-meta{margin-top:5px;font-size:12.5px}
@media (max-width:1024px){.zs-sn-grid{grid-template-columns:1fr;gap:30px}
  .zs-sn-h2.elementor-widget-heading .elementor-heading-title{font-size:40px}
  .zs-sn-feat .zs-card-img img{height:280px}}
@media (max-width:600px){
  .zs-sn-h2.elementor-widget-heading .elementor-heading-title{font-size:32px}
  .zs-sn-list .zs-mini::before{flex-basis:34px;font-size:28px}
  .zs-sn-list .zs-mini-img img{width:56px;height:56px}}

/* Hero + leady */
.zs-hero-lead,.zs-hero-lead p{font:400 19px/1.6 var(--zs-font-body);color:var(--zs-text-2);
  max-width:660px;margin:0 auto}

/* ==================================================================
 *  Newsletter - zielony box z kropkami + biala karta formularza (1:1 z makieta)
 * ================================================================== */
.zs-news-box{position:relative;background:linear-gradient(135deg,#2F6E40 0%,#1F5230 100%);
  border-radius:9px;overflow:hidden;box-shadow:0 44px 90px -46px rgba(31,82,48,.75)}
.zs-news-box::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1.5px,transparent 1.6px);background-size:22px 22px}
.zs-news-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:46px;
  padding:54px 56px;align-items:center;width:100%}
.zs-news-left{min-width:0}
.zs-news-eyebrow{margin-bottom:18px}
.zs-news-h2.elementor-widget-heading .elementor-heading-title{font:500 40px/1.06 var(--zs-font-head);
  letter-spacing:-.015em;color:#FAF6EC;margin:0 0 16px;max-width:420px}
.zs-news-lead,.zs-news-lead p{color:#CADCC0;font:400 16px/1.6 var(--zs-font-body);text-align:left;
  max-width:420px;margin:0}
/* Biala karta formularza */
.zs-news-card{background:#FAF6EC;border-radius:12px;padding:28px 30px;
  box-shadow:0 26px 50px -26px rgba(0,0,0,.4)}
.zs-news-form{width:100%;margin:0}
.zs-news-form label{display:block;color:#8A9380;font:700 12.5px/1.3 var(--zs-font-body);
  letter-spacing:.04em;text-transform:uppercase;margin:2px 0 10px}
.zs-news-form p{margin:0 0 12px}
.zs-news-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.zs-news-form select{
  width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid #DDD2B8;background:#fff;
  font:400 15.5px var(--zs-font-body);color:#23301F;outline:none;transition:border-color .2s ease}
.zs-news-form input:focus,.zs-news-form select:focus{border-color:var(--zs-green)}
.zs-news-form input[type=submit],.zs-news-form button[type=submit],.zs-news-form button,.zs-news-form .button{
  width:100% !important;background:var(--zs-green) !important;color:#FAF6EC !important;border:none !important;
  padding:15px !important;border-radius:14px !important;font:700 16px var(--zs-font-body) !important;
  cursor:pointer;transition:all .25s ease;margin-top:4px;text-transform:none !important;
  box-shadow:0 16px 30px -16px rgba(46,107,62,.9)}
.zs-news-form input[type=submit]:hover,.zs-news-form button[type=submit]:hover,.zs-news-form button:hover{
  background:var(--zs-green-dark) !important;transform:translateY(-2px)}
.zs-news-form .mc4wp-response{font:400 14px/1.5 var(--zs-font-body);color:#23301F;margin-top:10px}
.zs-news-form .mc4wp-alert.mc4wp-error{color:#8E2F1E}
.zs-news-disclaimer,.zs-news-disclaimer p{font:400 11.5px/1.5 var(--zs-font-body);color:#667260;
  margin:14px 0 0;text-align:center}
.zs-news-disclaimer a{color:var(--zs-green);text-decoration:underline}
@media (max-width:1024px){
  .zs-news-grid{grid-template-columns:1fr;gap:28px;padding:34px 28px}
  .zs-news-h2.elementor-widget-heading .elementor-heading-title{font-size:31px}}
@media (max-width:600px){.zs-news-grid{padding:26px 18px}.zs-news-card{padding:22px 18px}}

/* Newsletter (wtyczka): elementy formularza [zs_newsletter] */
.zs-news-hp,.zs-hp-komentarz{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.zs-news-zgoda{margin:2px 0 12px}
.zs-news-zgoda label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;
  color:#5B6654;font:400 12.5px/1.5 var(--zs-font-body);margin:0;cursor:pointer}
.zs-news-zgoda input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--zs-green);cursor:pointer}
.zs-news-odpowiedz{font:600 14px/1.5 var(--zs-font-body);margin:12px 0 0}
.zs-news-odpowiedz:empty{margin:0}
.zs-news-odpowiedz.ok{color:var(--zs-green-dark)}
.zs-news-odpowiedz.blad{color:#8E2F1E}
.zs-newsletter button[disabled]{opacity:.65;cursor:progress}
/* standalone (np. /zapisz-sie/) - wartosci zgodne z .zs-news-form, wiec bez wplywu na karte glownej */
.zs-newsletter{width:100%;max-width:460px;margin:0}
.zs-newsletter p{margin:0 0 12px}
.zs-newsletter > p > label{display:block;color:#8A9380;font:700 12.5px/1.3 var(--zs-font-body);
  letter-spacing:.04em;text-transform:uppercase;margin:2px 0 10px}
.zs-newsletter input:not([type=checkbox]):not([type=hidden]),.zs-newsletter select{
  width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid #DDD2B8;background:#fff;
  font:400 15.5px var(--zs-font-body);color:#23301F;outline:none;transition:border-color .2s ease}
.zs-newsletter input:focus,.zs-newsletter select:focus{border-color:var(--zs-green)}
.zs-newsletter button[type=submit]{width:100%;background:var(--zs-green);color:#FAF6EC;border:none;
  padding:15px;border-radius:14px;font:700 16px var(--zs-font-body);cursor:pointer;transition:all .25s ease;
  margin-top:4px;box-shadow:0 16px 30px -16px rgba(46,107,62,.9)}
.zs-newsletter button[type=submit]:hover{background:var(--zs-green-dark);transform:translateY(-2px)}

/* ==================================================================
 *  Plynne hovery - jednolite przejscia na elementach interaktywnych
 *  (zgloszenie: "hovery wszedzie strasznie skacza")
 * ================================================================== */
/* Ogolny transition dla WSZYSTKICH interaktywnych elementow - zeby nic nie "skakalo" na hover.
   Reguly szczegolowe nizej moga to nadpisac wlasnym timingiem. */
a, a *, button, [role="button"], input[type="submit"], input[type="button"], input[type="email"], select, label.zs-news-zgoda,
.elementor-button, .elementor-button-wrapper .elementor-button, .elementor-icon, .elementor-social-icon,
.elementor-icon-list-item, .elementor-tab-title, .elementor-accordion-title, .elementor-cta,
[class^="elementor-widget-"] a, [class*=" elementor-widget-"] a,
.zs-card, .zs-card *, .zs-mini, .zs-mini *, .zs-lift, .wp-block-button__link,
.page-numbers, .comment-reply-link, .zs-udostepnij a, .zs-newsletter button, .zs-btn-cta .elementor-button{
  transition-property: color, background-color, border-color, fill, stroke, box-shadow, transform, opacity;
  transition-duration: .22s;
  transition-timing-function: ease;
}
.elementor-kit-99842 a{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.zs-header-social .elementor-social-icon,.zs-foot-social .elementor-social-icon{
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease}
.zs-header-social .elementor-social-icon:hover{transform:translateY(-2px)}
.zs-header-social .elementor-social-icon svg,.zs-foot-social .elementor-social-icon svg{
  transition:fill .25s ease}
a.zs-dieta,.zs-dieta,.zs-kat-chip,.zs-about-tag,.zs-sec-link a,.zs-mega-cat,.zs-mega-pill,
.zs-mega-all,.zs-feat-cta .elementor-heading-title,.zs-dg-cta .elementor-heading-title,
.zs-nav .elementor-item,.zs-nav .elementor-sub-item{transition:all .22s ease}
.zs-card .elementor-heading-title,.zs-mini .elementor-heading-title,
.zs-dg-title .elementor-heading-title{transition:color .22s ease}

/* ==================================================================
 *  Mega menu "Przepisy" (desktop) - panel pod belka glowna
 * ================================================================== */
.zs-mega{position:fixed;left:50%;z-index:990;width:min(960px,94vw);
  background:#FFFDF8;border:1px solid #ECE3CF;border-radius:24px;padding:26px;
  box-shadow:0 44px 90px -40px rgba(35,48,31,.6);
  transform:translateX(-50%) translateY(12px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,transform .32s cubic-bezier(.2,.8,.2,1)}
.zs-mega--open{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible;pointer-events:auto}
@media (max-width:1024px){.zs-mega{display:none}}
.zs-mega-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding:0 4px}
.zs-mega-title{font:500 24px/1 var(--zs-font-head);color:#23301F}
.zs-mega-sub{font:400 13.5px/1 var(--zs-font-body);color:var(--zs-muted)}
.zs-mega-all{margin-left:auto;font:700 13.5px/1 var(--zs-font-body);color:var(--zs-green);text-decoration:none}
.zs-mega-all:hover{color:var(--zs-green-dark)}
.zs-mega-grid{display:grid;grid-template-columns:1.7fr .9fr;gap:22px}
.zs-mega-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-content:start}
.zs-mega-cat{display:block;padding:11px 13px;border-radius:13px;text-decoration:none;
  transition:background .2s ease}
.zs-mega-cat:hover{background:#F2EEE0}
.zs-mega-cat--feat{grid-row:span 2;background:rgba(214,154,60,.07)}
.zs-mega-cat--feat:hover{background:rgba(214,154,60,.15)}
.zs-mega-cat-name{display:flex;align-items:center;gap:9px;font:700 15.5px/1.3 var(--zs-font-body);color:#26301F}
.zs-mega-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.zs-mega-cat-sub{display:block;font:400 12.5px/1.4 var(--zs-font-body);color:var(--zs-muted);
  margin:3px 0 0 17px}
.zs-mega-pills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0 17px}
.zs-mega-pill{font:600 11.5px/1 var(--zs-font-body);color:#8F6212;background:rgba(214,154,60,.18);
  padding:4px 9px;border-radius:999px}
.zs-mega-promo{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:238px;border-radius:10px;overflow:hidden;text-decoration:none;
  background-color:#DCE5D0;background-size:cover;background-position:center;
  box-shadow:0 20px 40px -26px rgba(35,48,31,.5);padding:16px}
.zs-mega-promo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(18,26,15,.78),rgba(18,26,15,.05) 58%)}
.zs-mega-promo-badge{position:relative;z-index:1;align-self:flex-start;
  font:700 10.5px/1 var(--zs-font-body);letter-spacing:.1em;text-transform:uppercase;color:#FBE9CF;
  background:rgba(197,106,62,.9);padding:4px 10px;border-radius:999px;margin-bottom:8px}
.zs-mega-promo-title{position:relative;z-index:1;font:500 20px/1.25 var(--zs-font-head);color:#fff}
/* Na desktopie natywny dropdown "Przepisy" ustepuje mega panelowi */
@media (min-width:1025px){.zs-nav .elementor-nav-menu--main .sub-menu{display:none !important}}

/* Loop Grid - odstepy kart */
.elementor-widget-loop-grid .elementor-loop-container{gap:24px}
@media (max-width:1024px){.zs-sec-head{margin-bottom:24px}}

/* ==================================================================
 *  Tla sekcji strony glownej (gradienty z makiety)
 * ================================================================== */
.zs-sec-sniadania{background:linear-gradient(180deg,#F3ECDB,#EDE4D0)}
.zs-sec-slodko{background:linear-gradient(180deg,#F2E7DB,#EBDDCC)}
.zs-sec-pop{background:linear-gradient(180deg,#EAEEE0,#E1E8D3)}

/* ==================================================================
 *  Najczesciej gotowane - badge rankingu 1-6 na zdjeciu (jak w makiecie)
 *  <style> jest 1. dzieckiem loop-containera -> karty to dzieci 2-7.
 * ================================================================== */
.zs-pop-grid .elementor-loop-container{counter-reset:pop}
.zs-pop-grid .zs-card{counter-increment:pop;position:relative}
.zs-pop-grid .zs-card::before{content:counter(pop);position:absolute;top:14px;left:14px;z-index:2;
  width:50px;height:50px;border-radius:50%;background:rgba(250,246,236,.96);
  border:2px solid var(--zs-green);color:var(--zs-green);display:flex;align-items:center;justify-content:center;
  font:700 23px/1 var(--zs-font-head);box-shadow:0 8px 18px -8px rgba(0,0,0,.4)}
.zs-pop-grid .elementor-loop-container>:nth-child(n+5) .zs-card::before{
  border-color:var(--zs-muted);color:#5B6657}
/* W Popularnych: tylko kicker + tytul (bez meta), jak w makiecie */
.zs-pop-grid .zs-card-meta{display:none}
.zs-pop-grid .zs-card .zs-card-img{min-height:196px}
.zs-pop-grid .zs-card .zs-card-img img{height:196px}

/* ==================================================================
 *  Nadtytul sekcji (eyebrow) - listek-kropka + etykieta + kreska + podtytul
 * ================================================================== */
.zs-eyebrow{display:inline-flex;align-items:center;gap:13px}
.zs-eyebrow-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50% 50% 50% 0;transform:rotate(45deg);
  background:#4A9E5C}
.zs-eyebrow-label{font:700 12.5px/1 var(--zs-font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--zs-green)}
.zs-eyebrow-line{flex:0 0 auto;width:54px;height:1px;background:#CDBF9E}
.zs-eyebrow-sub{font:italic 400 17px/1.25 var(--zs-font-head);color:#667260}
/* Warianty kolorystyczne (etykiety przyciemnione do AA na kremie i miętowym tle) */
.zs-eyebrow--terra .zs-eyebrow-dot,.zs-eyebrow--orange .zs-eyebrow-dot,.zs-eyebrow--red .zs-eyebrow-dot{background:#C56A3E}
.zs-eyebrow--terra .zs-eyebrow-label,.zs-eyebrow--orange .zs-eyebrow-label,.zs-eyebrow--red .zs-eyebrow-label{color:#B5502B}
.zs-eyebrow--gold .zs-eyebrow-dot{background:#D69A3C}
.zs-eyebrow--gold .zs-eyebrow-label{color:#8F6212}
.zs-eyebrow--plum .zs-eyebrow-dot{background:#A0507A}
.zs-eyebrow--plum .zs-eyebrow-label{color:#8E4570}
.zs-eyebrow--teal .zs-eyebrow-dot{background:#2E6960}
.zs-eyebrow--teal .zs-eyebrow-label{color:#2E6960}
/* Na ciemnej zieleni (newsletter) */
.zs-eyebrow--lime .zs-eyebrow-dot{background:#B7D66A}
.zs-eyebrow--lime .zs-eyebrow-label{color:#B7D66A}

/* ==================================================================
 *  Sekcja "O stronie" (autorka) - foto z ramka i wizytowka + tresc
 * ================================================================== */
.zs-about{background:#ECF1E4;overflow:hidden}
.zs-about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;width:100%}
/* Lewa: foto */
.zs-about-photo{position:relative}
.zs-about-photo::before{content:"";position:absolute;top:-18px;left:-18px;right:26px;bottom:34px;
  border:1.5px solid #C6D8B4;border-radius:10px;pointer-events:none;z-index:0}
.zs-about-img{position:relative;z-index:1;margin:0}
.zs-about-img img{display:block;width:100%;height:500px;object-fit:cover;border-radius:12px;
  box-shadow:0 44px 84px -46px rgba(35,48,31,.6)}
.zs-about-card{position:absolute;left:-14px;bottom:-16px;z-index:2;width:max-content !important;
  max-width:min(80%,320px);align-items:flex-start;background:#FFFDF8;border:1px solid #E3D8BE;
  border-radius:10px;padding:15px 24px;box-shadow:0 22px 44px -26px rgba(35,48,31,.5);transform:rotate(-3deg)}
.zs-about-card>*{width:auto}
.zs-about-card-name,.zs-about-card-name *{font:italic 600 38px/.9 var(--zs-font-head);color:var(--zs-green);margin:0}
.zs-about-card-role,.zs-about-card-role *{font:700 11px/1.2 var(--zs-font-body);letter-spacing:.1em;
  text-transform:uppercase;color:#8A9380;margin:4px 0 0}
/* Prawa: tresc */
.zs-about-body{min-width:0}
.zs-about-eyebrow{margin-bottom:18px}
.zs-about-h2,.zs-about-h2 p{font:500 44px/1.04 var(--zs-font-head);letter-spacing:-.02em;color:#1E2A18;margin:0 0 20px}
.zs-about-h2 em,.zs-about-h2 i{font-style:italic;color:var(--zs-green)}
.zs-about-p,.zs-about-p p{font:400 16.5px/1.68 var(--zs-font-body);color:#4C5647;max-width:560px;margin:0 0 16px}
.zs-about-p strong{color:var(--zs-green);font-weight:700}
.zs-about-p:last-of-type,.zs-about-p:last-of-type p{margin-bottom:26px}
.zs-about-tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 30px}
.zs-about-tag{font:600 13px/1 var(--zs-font-body);color:var(--zs-green);background:rgba(46,107,62,.1);
  padding:7px 14px;border-radius:999px}
.zs-about-info{display:grid;grid-template-columns:repeat(var(--zs-info-cols,3),1fr);gap:1px;
  background:#DCE5D0;border:1px solid #DCE5D0;border-radius:10px;overflow:hidden;margin-top:2px}
.zs-about-info-cell{display:block;background:#F5F8F0;padding:16px 18px}
.zs-about-info-label{display:block;font:700 10.5px/1.2 var(--zs-font-body);letter-spacing:.09em;text-transform:uppercase;
  color:#8A9380;margin-bottom:6px}
.zs-about-info-val{display:block;font:600 14px/1.35 var(--zs-font-body);color:#2E3A26}
@media (max-width:1024px){
  .zs-about-grid{grid-template-columns:1fr;gap:44px}
  .zs-about-img img{height:420px}
  .zs-about-h2,.zs-about-h2 p{font-size:34px}
  .zs-about-photo{max-width:520px}
}
@media (max-width:600px){
  .zs-about-img img{height:340px}
  .zs-about-h2,.zs-about-h2 p{font-size:29px}
  .zs-about-info{grid-template-columns:1fr}
  .zs-about-card{left:0;padding:12px 18px}
  .zs-about-card-name,.zs-about-card-name *{font-size:32px}
}

/* ==================================================================
 *  SZABLON WPISU (F4) - karta artykulu + sidebar
 * ================================================================== */
/* Okruszki */
.zs-okruszki{display:flex;flex-wrap:wrap;gap:9px;align-items:center;
  font:600 13px/1.4 var(--zs-font-body);color:var(--zs-muted);padding:6px 0 14px}
.zs-okruszki a{color:var(--zs-muted);text-decoration:none}
.zs-okruszki a:hover{color:var(--zs-green)}
.zs-okruszki-sep{opacity:.6}
.zs-okruszki-biezacy{color:#4C5647}

/* Uklad: artykul + sidebar 356px */
.zs-wpis-grid{display:grid;grid-template-columns:minmax(0,1fr) 356px;gap:44px;align-items:start;width:100%}
@media (max-width:1140px){.zs-wpis-grid{grid-template-columns:1fr}}

/* Karta artykulu */
.zs-artykul{background:var(--zs-card);border:1px solid var(--zs-border);border-radius:16px;
  overflow:hidden;box-shadow:0 30px 70px -46px rgba(35,48,31,.42)}
.zs-artykul-head{padding:38px 52px 4px}
.zs-wpis-chips{display:block;margin-bottom:18px}
.zs-wpis-h1 .elementor-heading-title{
  font:600 47px/1.08 var(--zs-font-head) !important;letter-spacing:-.02em;color:#1A2415;margin:0 0 20px}
/* Wiersz meta */
.zs-wpis-metarow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:26px;border-bottom:1px solid #EDE4D0}
.zs-wpis-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.zs-meta-autor{display:inline-flex;align-items:center;gap:11px}
img.zs-meta-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.zs-meta-autor-txt{display:inline-flex;flex-direction:column;line-height:1.25}
.zs-meta-nazwa{font:700 14.5px/1.25 var(--zs-font-body);color:#2E3A26}
.zs-meta-data{font:400 12.5px/1.3 var(--zs-font-body);color:var(--zs-muted)}
.zs-meta-update{font:600 12px/1.3 var(--zs-font-body);color:#4C7827;margin-top:2px}
.zs-meta-sep{width:5px;height:5px;border-radius:50%;background:#D3C7AB;flex:0 0 auto}
.zs-meta-poz{font:600 13.5px/1.3 var(--zs-font-body);color:#7C8574;text-decoration:none}
a.zs-meta-poz:hover{color:var(--zs-green)}
/* Udostepnianie */
.zs-share{display:inline-flex;align-items:center;gap:7px;margin-left:auto}
.zs-share-label{font:600 12.5px/1 var(--zs-font-body);color:var(--zs-muted)}
.zs-share-btn{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;color:#fff !important;transition:transform .22s ease}
.zs-share-btn:hover{transform:translateY(-2px)}
.zs-share-pin{background:#E8443B}.zs-share-fb{background:#3B5998}
/* Zdjecie wyrozniajace full-bleed w karcie */
.zs-wpis-img{line-height:0;margin-top:22px}
.zs-wpis-img img{width:100%;height:360px;object-fit:cover;display:block;border-radius:0}
/* Tresc w gutterze karty */
.zs-artykul-body{padding:8px 52px 44px}
@media (max-width:767px){
  .zs-artykul-head{padding:24px 20px 4px}
  .zs-artykul-body{padding:6px 20px 30px}
  .zs-wpis-h1 .elementor-heading-title{font-size:31px !important}
  .zs-wpis-img img{height:230px}
  .zs-share{margin-left:0}
}

/* ===== TOC+ (Table of Contents Plus) - skorka pod projekt ===== */
#toc_container.zs-toc{width:100% !important;margin:26px 0 8px;
  background:linear-gradient(180deg,#FFFDF8,#FBF6EA) !important;
  border:1px solid #E7DFCD !important;border-radius:12px;padding:16px 22px 18px !important;
  box-shadow:0 16px 36px -28px rgba(35,48,31,.4);font-size:100% !important;display:block}
#toc_container.zs-toc .toc_title{display:flex;align-items:center;gap:9px;margin:0 0 12px;
  font:700 12.5px/1 var(--zs-font-body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--zs-green);text-align:left}
#toc_container.zs-toc .toc_title::before{content:"";width:14px;height:14px;flex:0 0 auto;
  background:var(--zs-green);border-radius:50% 50% 50% 0;transform:rotate(45deg) scale(.75)}
#toc_container.zs-toc .toc_toggle{margin-left:auto;font:600 12.5px/1 var(--zs-font-body);
  letter-spacing:0;text-transform:none;color:var(--zs-muted)}
#toc_container.zs-toc .toc_toggle a{color:var(--zs-green);font-weight:700;text-decoration:none}
#toc_container.zs-toc ul{display:grid;gap:2px;margin:0 !important;padding:0;list-style:none}
#toc_container.zs-toc ul li{margin:0;padding:0}
#toc_container.zs-toc ul li::before{display:none}
#toc_container.zs-toc ul li a{display:flex;align-items:baseline;gap:11px;padding:7px 9px;
  border-radius:8px;font:600 15px/1.35 var(--zs-font-body);color:#3A4632;text-decoration:none;
  transition:background .18s ease,color .18s ease}
#toc_container.zs-toc ul li a:hover{background:rgba(46,107,62,.09);color:var(--zs-green)}
#toc_container.zs-toc .toc_number{font:italic 600 16px/1 var(--zs-font-head);color:#C08A3E;
  flex:0 0 auto;min-width:15px}
#toc_container.zs-toc ul ul{margin-left:22px !important}

/* ===== Pasek "przejdz do przepisu" ===== */
.zs-skok{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0 8px;
  padding:16px 20px;background:linear-gradient(120deg,#F3F7EE,#EEF4E6);
  border:1px solid #DDE8D2;border-radius:12px}
.zs-skok-txt{flex:1;min-width:180px;font:italic 400 19px/1.4 var(--zs-font-head);color:var(--zs-green)}
.zs-skok-btn{display:inline-flex;align-items:center;gap:7px;font:700 14px/1 var(--zs-font-body);
  color:#FAF6EC !important;background:var(--zs-green);padding:11px 20px;border-radius:999px;
  text-decoration:none;box-shadow:0 12px 24px -14px rgba(46,107,62,.9);transition:all .25s ease}
.zs-skok-btn:hover{background:var(--zs-green-dark);transform:translateY(-2px)}

/* ===== EasyRecipe - skorka (tylko prezentacja). Front formatuje karte klasami
   ERS* (ERSName/ERSIngredients/...), z wlasnymi arkuszami -> !important. ===== */
.easyrecipe{border:2px solid var(--zs-green) !important;border-radius:16px !important;
  overflow:hidden;box-shadow:0 30px 64px -40px rgba(46,107,62,.5);
  background:var(--zs-card) !important;padding:0 !important;margin:40px 0 10px !important;
  scroll-margin-top:130px;position:relative}
.easyrecipe .ERSName{background:linear-gradient(120deg,#2F6E40,#245A34);color:#FAF6EC !important;
  padding:24px 30px 20px !important;font:600 29px/1.15 var(--zs-font-head) !important;margin:0 !important}
.easyrecipe .ERSName::before{content:"Przepis";display:block;font:700 11px/1 var(--zs-font-body);
  letter-spacing:.16em;text-transform:uppercase;color:#B7D66A;margin-bottom:8px}
/* Ocena (aggregateRating) - plywa w prawym gornym rogu zielonego naglowka ERSName.
   Domyslnie EasyRecipe daje szary #666 (niewidoczny na zieleni) -> jasny tekst dla kontrastu.
   Gwiazdki to sprite (bg-image) na .ERSRatingOuter/.Inner - kolor tekstu ich nie dotyka. */
.easyrecipe .ERSRatings{float:right;margin:20px 26px 0 14px}
.easyrecipe .ERSRatings .review,.easyrecipe .ERSRatings .rating,
.easyrecipe .ERSRatings .average,.easyrecipe .ERSRatings .count{color:#EAF1E5 !important;font-weight:600 !important;font-size:12.5px !important;letter-spacing:.01em}
.easyrecipe .ERSRatings .review{margin-top:3px}
/* Zdjecie + Drukuj (blok plywajacy po prawej) */
.easyrecipe .ERSTopRight{float:right;margin:18px 24px 10px 18px;text-align:center}
.easyrecipe .ERSTopRight img{border-radius:12px;border:1px solid var(--zs-border);display:block;
  height:auto;box-shadow:0 14px 30px -20px rgba(35,48,31,.5)}
.easyrecipe .ERSPrintBtn{display:inline-flex !important;align-items:center;gap:7px;margin-top:10px;
  background:var(--zs-green) !important;color:#FAF6EC !important;border:none !important;
  border-radius:999px !important;padding:8px 16px !important;
  font:700 12.5px/1 var(--zs-font-body) !important;text-decoration:none !important;
  box-shadow:0 10px 20px -12px rgba(46,107,62,.9);transition:all .25s ease}
.easyrecipe .ERSPrintBtn:hover{background:var(--zs-green-dark) !important;color:#FAF6EC !important}
.easyrecipe .ERSPrintBtn .ui-icon{filter:invert(1)}
.easyrecipe .ERSSummary{background:#F0F5EA;padding:12px 30px !important;
  font:600 13.5px/1.5 var(--zs-font-body) !important;color:#4C5647 !important;margin:0 !important}
.easyrecipe .divERSHeadItems{background:#FCF8EE;font:600 12px/1.6 var(--zs-font-body);color:#5B6657}
.easyrecipe .divERSHeadItems:empty{display:none}
.easyrecipe .ERSIngredients,.easyrecipe .ERSInstructions{padding:20px 30px 6px}
.easyrecipe .ERSHeading,.easyrecipe .ERSIngredientsHeader,.easyrecipe .ERSInstructionsHeader,
.easyrecipe .ERSNotesHeader,.easyrecipe .ERSNutritionHeader{
  display:flex;align-items:center;gap:9px;font:600 21px/1.25 var(--zs-font-head) !important;
  color:#1E2A18 !important;margin:0 0 14px !important;background:none !important}
.easyrecipe .ERSHeading::before,.easyrecipe .ERSNotesHeader::before,
.easyrecipe .ERSNutritionHeader::before{content:"";width:12px;height:12px;flex:0 0 auto;
  border-radius:50% 50% 50% 0;transform:rotate(45deg);background:var(--zs-lime)}
.easyrecipe .ERSInstructionsHeader::before{background:var(--zs-terracotta) !important}
.easyrecipe .ERSNotesHeader::before{background:#EBC66E}
.easyrecipe .ERSNutritionHeader::before{background:var(--zs-teal)}
/* Skladniki - klikalne odhaczanie (JS dodaje role checkbox) */
.easyrecipe .ERSIngredients ul{list-style:none !important;margin:0 0 10px !important;padding:0 !important}
.easyrecipe li.ingredient{position:relative;list-style:none !important;
  padding:7px 8px 7px 34px !important;margin:0 0 4px !important;
  font:400 15.5px/1.45 var(--zs-font-body) !important;color:#3A4632;border-radius:8px;cursor:pointer;
  background-image:none !important;transition:background-color .15s ease,color .15s ease}
.easyrecipe li.ingredient:hover{background-color:rgba(46,107,62,.06)}
.easyrecipe li.ingredient::before{display:none !important}
.easyrecipe li.ingredient::after{content:"";position:absolute;left:4px;top:9px;
  width:19px;height:19px;border:2px solid #C6BCA2;border-radius:6px;background:#fff;
  transition:all .15s ease}
.easyrecipe li.ingredient.zs-odhaczony{color:#9AA391 !important;text-decoration:line-through}
.easyrecipe li.ingredient.zs-odhaczony::after{background:var(--zs-green);
  border-color:var(--zs-green);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat}
/* Kroki - wylaczyc natywna numeracje, badge z licznika */
.easyrecipe .ERSInstructions ol{list-style:none !important;counter-reset:erk;
  margin:0 0 10px !important;padding:0 !important}
.easyrecipe li.instruction{position:relative;list-style:none !important;counter-increment:erk;
  padding:0 0 0 44px !important;margin:0 0 16px !important;
  font:400 17px/1.55 var(--zs-font-head) !important;color:#33402C}
.easyrecipe li.instruction::before{content:counter(erk);position:absolute;left:0;top:0;
  width:30px;height:30px;border-radius:50%;background:#F0E4CE;color:#B5502B;
  font:700 14px/30px var(--zs-font-body);text-align:center;display:block !important}
/* Uwagi + wartosci odzywcze */
.easyrecipe .ERSNotesDiv{background:#FBF4E3;border-top:1px solid #ECE1C8;padding:16px 30px 18px}
.easyrecipe .ERSNotesDiv .ERSNotesHeader{margin-bottom:8px !important}
.easyrecipe .ERSNotes{font:400 16.5px/1.6 var(--zs-font-head) !important;color:#4A3F26 !important;
  margin:0 !important;padding:0 !important;background:none !important}
.easyrecipe .ERSNutrition{background:var(--zs-card) !important;padding:16px 30px 20px !important;
  border-top:1px solid #ECE1C8;margin:0 !important}
.easyrecipe .ERSNutrionDetails{font:600 12.5px/2.1 var(--zs-font-body);color:#5B6657}
.easyrecipe .ERSNutrionDetails span{color:var(--zs-green);font:600 15px/1 var(--zs-font-head);
  margin-right:10px}
.easyrecipe .ERSClear{clear:both}
.easyrecipe .endeasyrecipe{display:none}
@media (max-width:600px){
  .easyrecipe .ERSName{padding:18px 20px 16px !important;font-size:24px !important}
  .easyrecipe .ERSTopRight{float:none;margin:14px 20px 0}
  .easyrecipe .ERSTopRight img{margin:0 auto}
  .easyrecipe .ERSSummary,.easyrecipe .ERSIngredients,.easyrecipe .ERSInstructions{
    padding-left:20px !important;padding-right:20px !important}
  .easyrecipe .ERSNotesDiv,.easyrecipe .ERSNutrition{padding-left:20px !important;padding-right:20px !important}
}

/* ===== Tagi ===== */
.zs-tagi{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:34px 0 6px}
.zs-tagi-label{font:700 13px/1 var(--zs-font-body);color:var(--zs-muted)}
.zs-tag-pill{font:600 13px/1 var(--zs-font-body);color:#4C5647 !important;background:#F3EEE0;
  padding:6px 13px;border-radius:999px;text-decoration:none;transition:all .2s ease}
.zs-tag-pill:hover{background:rgba(46,107,62,.12);color:var(--zs-green) !important}

/* ===== Box autorki pod artykulem ===== */
.zs-bio{background:linear-gradient(135deg,#ECF1E4,#E4EBD8);border:1px solid #D7E3C9;
  border-radius:16px;padding:30px 34px;margin-top:24px}
.zs-bio>.zs-bio-foto{flex:0 0 auto !important;width:auto !important}
.zs-bio-foto img{width:104px !important;height:104px !important;max-width:none;aspect-ratio:1/1;
  border-radius:50%;object-fit:cover;
  border:3px solid #fff;box-shadow:0 12px 26px -14px rgba(35,48,31,.5);display:block}
.zs-bio-kicker .elementor-heading-title{font:700 11px/1 var(--zs-font-body);letter-spacing:.12em;
  text-transform:uppercase;color:#6F8455;margin:0 0 5px}
.zs-bio-imie .elementor-heading-title{font:600 27px/1.15 var(--zs-font-head);color:#1E2A18;margin:0 0 8px}
.zs-bio-tekst,.zs-bio-tekst p{font:400 15px/1.65 var(--zs-font-body);color:#4C5647;margin:0 0 14px}
.zs-bio-btn .elementor-button{background-color:var(--zs-green);color:#FAF6EC;border-radius:999px;
  font:700 13.5px/1 var(--zs-font-body);padding:10px 18px}
.zs-bio-btn .elementor-button:hover{background-color:var(--zs-green-dark);color:#FAF6EC !important}

/* ===== Podobne wpisy ===== */
.zs-podobne-head{display:flex;align-items:center;gap:12px;margin:44px 0 24px}
.zs-podobne-head .elementor-heading-title{font:600 32px/1.1 var(--zs-font-head);
  letter-spacing:-.015em;color:#1E2A18;margin:0}
.zs-podobne .zs-card .zs-card-img{min-height:172px}
.zs-podobne .zs-card .zs-card-img img{height:172px}

/* ===== Komentarze (widget post-comments / markup WP) ===== */
.zs-komentarze{background:var(--zs-card);border:1px solid var(--zs-border);border-radius:16px;
  padding:36px 40px 40px;margin-top:48px;box-shadow:0 30px 70px -46px rgba(35,48,31,.42)}
@media (max-width:600px){.zs-komentarze{padding:22px 18px 26px}}
/* Naglowek „Komentarze (N)" z listkiem + podtytul */
.zs-komentarze .title-comments,.zs-komentarze .comments-title{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  font:600 30px/1.2 var(--zs-font-head);color:#1E2A18;margin:0 0 26px}
.zs-komentarze .title-comments::before,.zs-komentarze .comments-title::before{
  content:"";width:10px;height:10px;flex:0 0 auto;border-radius:50% 50% 50% 0;
  transform:rotate(45deg);background:#C56A3E}
.zs-komentarze .title-comments::after,.zs-komentarze .comments-title::after{
  content:"Ugotowałeś ten przepis? Podziel się wrażeniami, chętnie przeczytam.";
  flex:0 0 100%;font:400 14px/1.5 var(--zs-font-body);color:var(--zs-muted);margin-top:2px}
.zs-komentarze ol.comment-list,.zs-komentarze ol.commentlist{list-style:none;margin:0;padding:0}
/* Awatar z lewej POZA dymkiem */
.zs-komentarze .comment-list>li{position:relative;margin:0 0 18px;padding-left:62px;list-style:none}
.zs-komentarze .comment-list li .avatar,.zs-komentarze #comments .comment .avatar{
  position:absolute;left:-62px;top:0;width:48px;height:48px;
  border-radius:50%;object-fit:cover}
.zs-komentarze .comment-body{background:var(--zs-comment);border:1px solid #EEE6D2;
  border-radius:14px;padding:14px 20px 12px;position:relative}
/* Wiersz: imie + czas zaraz obok (nie na prawo) + Edytuj subtelnie */
.zs-komentarze .comment-meta,.zs-komentarze footer.comment-meta,
.zs-komentarze #comments .comment-meta{display:flex;align-items:baseline;
  justify-content:flex-start !important;gap:10px;flex-wrap:wrap;margin:0 0 4px}
.zs-komentarze #comments .comment-metadata{margin-left:0 !important;position:static !important}
/* Strzalka "przekierowania" przy odpowiedziach z motywu Hello - nie ma jej w projekcie */
.zs-komentarze #comments ol.comment-list .children::before{content:"" !important;display:none !important}
.zs-komentarze .comment-author{display:inline-flex;align-items:baseline;gap:6px}
.zs-komentarze .comment-author .fn{font:700 14.5px/1.3 var(--zs-font-body);color:#2E3A26;
  font-style:normal}
.zs-komentarze .comment-author .says{display:none}
.zs-komentarze .comment-metadata a,.zs-komentarze .comment-metadata time{
  font:400 12px/1.3 var(--zs-font-body);color:#A0A794;text-decoration:none}
.zs-komentarze .comment-edit-link{font:400 11px/1 var(--zs-font-body);color:#C6BCA2 !important}
.zs-komentarze .comment-content{font:400 16.5px/1.6 var(--zs-font-head);color:#33402C}
.zs-komentarze .comment-content p{margin:6px 0 0}
.zs-komentarze .reply{margin-top:8px}
.zs-komentarze .reply a{font:700 12.5px/1 var(--zs-font-body);color:var(--zs-green);text-decoration:none}
/* Odpowiedzi zagniezdzone */
.zs-komentarze .children{list-style:none;margin:16px 0 0 0;padding-left:20px;
  border-left:2px solid #E4EDD9}
.zs-komentarze .children>li{position:relative;margin:0 0 14px;padding-left:56px}
.zs-komentarze .children li .avatar,.zs-komentarze #comments .children .comment .avatar{
  width:42px;height:42px;left:-54px}
/* Komentarz autorki wpisu: zielony dymek + badge AUTORKA (bypostauthor LUB nasz zs-komentarz-autor) */
.zs-komentarze li.bypostauthor>.comment-body,
.zs-komentarze li.zs-komentarz-autor>.comment-body{
  background:linear-gradient(135deg,#ECF4E4,#E1EDD5) !important;border:1.5px solid #BCD7A8 !important}
.zs-komentarze li.bypostauthor>.comment-body .fn::after,
.zs-komentarze li.zs-komentarz-autor>.comment-body .fn::after{content:"✓ AUTORKA";display:inline-block;
  margin-left:8px;padding:3px 9px;border-radius:999px;background:var(--zs-green);color:#FAF6EC;
  font:700 10px/1 var(--zs-font-body);letter-spacing:.08em;vertical-align:1px}
.zs-komentarze li.bypostauthor>.avatar,
.zs-komentarze li.zs-komentarz-autor>.avatar{border:2px solid var(--zs-green)}
/* Poprawki pod projekt: bez separatora border-bottom, wiekszy odstep zagniezdzonych, bez podwojnego paddingu */
.zs-komentarze .comment,.zs-komentarze li.comment,.zs-komentarze .comment-list>li,.zs-komentarze .children>li{border-bottom:0 !important}
.zs-komentarze .children{margin-top:24px !important}
.zs-oa-kom .elementor-widget-shortcode>.elementor-widget-container,.zs-oa-kom .elementor-shortcode{padding:0 !important}
/* Formularz komentarza */
.zs-komentarze #respond .comment-reply-title{font:600 24px/1.2 var(--zs-font-head);color:#1E2A18}
.zs-komentarze #respond textarea,.zs-komentarze #respond input[type=text],
.zs-komentarze #respond input[type=email]{width:100%;border:1.5px solid #DDD2B8;background:#fff;
  border-radius:12px;padding:13px 16px;font:400 15px/1.5 var(--zs-font-body);color:#23301F;
  outline:none;transition:border-color .2s ease}
.zs-komentarze #respond textarea{font:400 16px/1.6 var(--zs-font-head)}
.zs-komentarze #respond textarea:focus,.zs-komentarze #respond input:focus{border-color:var(--zs-green)}
.zs-komentarze #respond input[type=submit]{width:auto;background:var(--zs-green);color:#FAF6EC;
  border:none;cursor:pointer;font:700 15px/1 var(--zs-font-body);padding:14px 28px;border-radius:999px;
  box-shadow:0 16px 30px -16px rgba(46,107,62,.9);transition:all .25s ease}
.zs-komentarze #respond input[type=submit]:hover{background:var(--zs-green-dark);transform:translateY(-2px)}
.zs-komentarze #respond .comment-form-cookies-consent input{width:auto;accent-color:var(--zs-green)}
.zs-komentarze #respond label{font:600 13px/1.6 var(--zs-font-body);color:#5B6657}

/* ===== Sidebar wpisu ===== */
.zs-sidebar{display:flex;flex-direction:column;gap:22px}
.zs-side-box{background:var(--zs-card);border:1px solid var(--zs-border);border-radius:14px;
  box-shadow:0 22px 50px -38px rgba(35,48,31,.4);padding:22px 24px;gap:0 !important}
.zs-side-box .elementor-widget-loop-grid{margin-top:0}
.zs-side-head{display:flex;flex-direction:row !important;align-items:center;gap:9px;margin-bottom:14px}
.zs-side-head .elementor-widget-heading{width:auto}
.zs-side-head .elementor-heading-title{font:700 12.5px/1 var(--zs-font-body);letter-spacing:.14em;
  text-transform:uppercase;color:var(--zs-green);margin:0}
.zs-side-head::before{content:"" !important;position:static !important;inset:auto !important;
  width:9px !important;height:9px !important;flex:0 0 auto;border-radius:50% 50% 50% 0;
  transform:rotate(45deg);background:#4A9E5C}
.zs-side--gold .zs-side-head::before{background:#D69A3C}
.zs-side--gold .zs-side-head .elementor-heading-title{color:#8F6212}
.zs-side--terra .zs-side-head::before{background:#C56A3E}
.zs-side--terra .zs-side-head .elementor-heading-title{color:#B5502B}
/* Autorka w sidebarze */
.zs-side-autorka{text-align:center}
.zs-side-autorka .zs-autorka-foto{width:88px !important;height:88px !important;max-width:none;
  aspect-ratio:1/1;border-radius:50%;object-fit:cover;
  border:3px solid #E5EDDC;display:inline-block}
.zs-side-imie .elementor-heading-title{font:600 24px/1.15 var(--zs-font-head);color:#1E2A18;margin:10px 0 2px}
.zs-side-rola .elementor-heading-title{font:700 12.5px/1.4 var(--zs-font-body);letter-spacing:.08em;
  text-transform:uppercase;color:#6F8455;margin:0 0 8px}
.zs-side-bio,.zs-side-bio p{font:400 14px/1.6 var(--zs-font-body);color:var(--zs-text-2);margin:0 0 14px}
.zs-side-btn .elementor-button{width:100%;background:transparent;color:var(--zs-green);
  border:1.5px solid #CFE0C2;border-radius:999px;font:700 13.5px/1 var(--zs-font-body);padding:11px}
.zs-side-btn .elementor-button:hover{background:rgba(46,107,62,.08);color:var(--zs-green) !important}
/* Listy w sidebarze (mini karty) */
.zs-side-lista .zs-mini{background:none;border:none;box-shadow:none;border-radius:0;
  padding:10px 0;border-bottom:1px solid #F0E8D6;display:flex;flex-direction:row !important;
  flex-wrap:nowrap !important;align-items:center;gap:12px}
.zs-side-lista .elementor-loop-container{gap:0 !important}
.zs-side-lista .elementor-loop-container>:last-child .zs-mini{border-bottom:none}
.zs-side-lista .zs-mini:hover{transform:translateX(4px);box-shadow:none}
.zs-side-lista .zs-mini>.e-con{flex:1 1 0 !important;width:auto !important;min-width:0}
.zs-side-lista .zs-mini>.zs-mini-img{flex:0 0 auto !important;width:auto !important}
.zs-side-lista .zs-mini-img img{width:62px;height:62px;border-radius:9px}
.zs-side-lista .zs-mini-title .elementor-heading-title{font-size:16px !important;line-height:1.25 !important}
.zs-side-lista .zs-mini-kicker{display:none}
.zs-side-lista .zs-mini-meta{font-size:11.5px;margin-top:3px}
/* Popularne - numerowane, bez zdjec */
.zs-side-rank .elementor-loop-container{counter-reset:rk;gap:0 !important}
.zs-side-rank .zs-mini{counter-increment:rk}
.zs-side-rank .zs-mini::before{content:counter(rk) !important;position:static !important;
  inset:auto !important;width:auto !important;height:auto !important;
  font:600 28px/1 var(--zs-font-head);color:#E0D3B4;flex:0 0 26px;align-self:center}
.zs-side-rank .zs-mini-img{display:none !important}
.zs-side-rank .zs-mini-meta{display:none}
/* Kategorie pills */
.zs-kat-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.zs-kat-pills-label{font:600 13px/1 var(--zs-font-body);color:var(--zs-muted)}

/* ==================================================================
 *  F5: ARCHIWUM KATEGORII / SZUKAJ / 404
 * ================================================================== */
/* Naglowek archiwum */
.zs-arch-head{margin:6px 0 34px}
.zs-arch-eyebrow{margin-bottom:14px}
.zs-arch-h1{font:600 56px/1 var(--zs-font-head);letter-spacing:-.02em;color:#1A2415;margin:0 0 16px}
.zs-arch-opis,.zs-arch-opis p{font:400 17.5px/1.62 var(--zs-font-body);color:#5B6657;margin:0;max-width:820px}
@media (max-width:1024px){.zs-arch-h1{font-size:42px}}
@media (max-width:600px){.zs-arch-h1{font-size:34px}}
/* Toolbar nad siatka */
.zs-arch-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #EAE0CB}
.zs-arch-toolbar .zs-wyniki-zakres,.zs-arch-toolbar{font:600 13.5px/1.4 var(--zs-font-body);color:var(--zs-muted)}
/* Siatka archiwum: 2 kolumny, karty jak w projekcie (wyzszy obrazek, radius 14) */
.zs-arch-grid .elementor-loop-container{grid-template-columns:repeat(2,1fr) !important;gap:24px}
.zs-arch-grid .zs-card{border-radius:14px}
.zs-arch-grid .zs-card .zs-card-img img{height:220px}
@media (max-width:600px){.zs-arch-grid .elementor-loop-container{grid-template-columns:1fr !important}}
/* Paginacja Loop Grid pod projekt */
.zs-arch-grid .elementor-pagination,.zs-arch-grid .e-loop-nav{display:flex;justify-content:center;
  align-items:center;gap:8px;flex-wrap:wrap;margin-top:38px}
.zs-arch-grid .elementor-pagination .page-numbers{min-width:44px;height:44px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 8px;border-radius:11px;
  border:1.5px solid var(--zs-border-strong);background:var(--zs-card);color:#4C5647;
  font:700 15px/1 var(--zs-font-body);text-decoration:none;transition:all .2s ease;margin:0}
.zs-arch-grid .elementor-pagination .page-numbers:hover{background:rgba(46,107,62,.09);
  border-color:var(--zs-green);color:var(--zs-green)}
.zs-arch-grid .elementor-pagination .page-numbers.current{background:var(--zs-green);
  border-color:var(--zs-green);color:#FAF6EC;box-shadow:0 12px 22px -14px rgba(46,107,62,.9)}
.zs-arch-grid .elementor-pagination .page-numbers.prev,
.zs-arch-grid .elementor-pagination .page-numbers.next{font-size:20px}
/* Formularz szukania - pigulka (widget Pro search-form) */
.zs-szukaj-form{max-width:620px}
.zs-szukaj-form .elementor-search-form__container{background:var(--zs-card);
  border:1.5px solid var(--zs-border-strong) !important;border-radius:999px !important;
  padding:7px 7px 7px 22px;box-shadow:0 22px 50px -34px rgba(35,48,31,.4);min-height:0}
.zs-szukaj-form .elementor-search-form__container:focus-within{border-color:var(--zs-green) !important}
.zs-szukaj-form input.elementor-search-form__input{font:400 16px var(--zs-font-body);color:#23301F;
  background:transparent;padding:8px 0}
.zs-szukaj-form .elementor-search-form__submit{background:var(--zs-green) !important;color:#FAF6EC !important;
  border-radius:999px !important;font:700 15px var(--zs-font-body);padding:12px 24px;min-width:0;
  flex-basis:auto !important;transition:background .25s ease}
.zs-szukaj-form .elementor-search-form__submit:hover{background:var(--zs-green-dark) !important}
/* Licznik wynikow szukania */
.zs-szukaj-licznik{margin-top:24px}
.zs-szukaj-licznik .zs-wyniki-liczba{font:400 15.5px/1.6 var(--zs-font-body);color:#5B6657}
.zs-szukaj-licznik strong{color:#1A2415}
.zs-szukaj-licznik strong:last-of-type{color:var(--zs-green)}
/* Brak wynikow (komunikat Loop Grid) */
.zs-arch-grid .e-loop-nothing-found-message,.zs-arch-grid .elementor-posts-nothing-found{
  font:400 17px/1.6 var(--zs-font-body);color:#5B6657;padding:26px 0}

/* ===== Box „O kategorii" (dlugi opis SEO na dole archiwum) ===== */
.zs-okat{display:block;background:var(--zs-card);border:1px solid var(--zs-border);
  border-radius:16px;padding:40px 46px;margin-top:14px;
  box-shadow:0 30px 70px -46px rgba(35,48,31,.42)}
.zs-okat-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;
  font:700 12.5px/1 var(--zs-font-body);letter-spacing:.16em;text-transform:uppercase;
  color:var(--zs-green)}
.zs-okat-eyebrow .zs-eyebrow-dot{width:10px;height:10px}
.zs-okat-h2{font:600 30px/1.25 var(--zs-font-head);letter-spacing:-.015em;color:#1A2415;
  margin:0 0 18px}
.zs-okat-tresc p{font:400 18px/1.72 var(--zs-font-head);color:#33402C;margin:0 0 18px}
.zs-okat-tresc p:last-child{margin-bottom:0}
.zs-okat-tresc strong{font-weight:600;color:#26301F}
@media (max-width:600px){.zs-okat{padding:24px 20px}.zs-okat-h2{font-size:24px}}

/* ===== 404 ===== */
.zs-404{position:relative;min-height:64vh;text-align:center;overflow:hidden}
.zs-404::before{content:"";position:absolute;top:8%;left:14%;width:150px;height:150px;
  background:radial-gradient(circle at 40% 40%,rgba(143,193,91,.4),transparent 70%);
  border-radius:58% 42% 55% 45%/48% 51% 49% 52%;filter:blur(6px);pointer-events:none}
.zs-404::after{content:"";position:absolute;bottom:12%;right:12%;width:190px;height:190px;
  background:radial-gradient(circle at 50% 50%,rgba(214,154,60,.28),transparent 70%);
  border-radius:42% 58% 48% 52%/55% 44% 56% 45%;filter:blur(8px);pointer-events:none}
.zs-404-digits{margin-bottom:6px}
.zs-404-cyfra .elementor-heading-title{font:600 190px/1 var(--zs-font-head) !important;
  letter-spacing:-.04em;color:var(--zs-green)}
.zs-404-zero{width:150px;height:150px;margin:0 -6px;position:relative;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#8CBB4B,var(--zs-green));
  border-radius:58% 42% 52% 48%/50% 55% 45% 50%;box-shadow:0 30px 60px -26px rgba(46,107,62,.6)}
.zs-404-zero .elementor-icon{font-size:64px;color:#FAF6EC}
.zs-404-zero .elementor-icon svg{width:64px;height:64px;fill:#FAF6EC}
.zs-404-kicker .elementor-heading-title{font:700 12.5px/1 var(--zs-font-body);letter-spacing:.2em;
  text-transform:uppercase;color:#8E4570;margin:0 0 16px}
.zs-404-h1 .elementor-heading-title{font:600 46px/1.05 var(--zs-font-head) !important;
  letter-spacing:-.02em;color:#1A2415;margin:0 0 14px;max-width:640px}
.zs-404-sub,.zs-404-sub p{font:400 17px/1.6 var(--zs-font-body);color:#5B6657;margin:0 0 4px;max-width:520px}
.zs-404 .zs-szukaj-form{width:100%;max-width:520px}
.zs-404 .zs-kat-pills{justify-content:center;margin-top:12px}
.zs-404-home a{display:inline-flex;align-items:center;gap:8px;font:700 15px/1 var(--zs-font-body);
  color:#1A2415;text-decoration:none;transition:gap .2s ease}
.zs-404-home a:hover{gap:12px;color:var(--zs-green)}
@media (max-width:600px){
  .zs-404-cyfra .elementor-heading-title{font-size:110px !important}
  .zs-404-zero{width:92px;height:92px}
  .zs-404-zero .elementor-icon svg{width:40px;height:40px}
  .zs-404-h1 .elementor-heading-title{font-size:31px !important}}

/* ==================================================================
 *  Strona „O autorce" (F6) - /o-stronie/ #3957
 * ================================================================== */
.zs-oa-hero{padding:34px 0 18px}
.zs-oa-hero>.e-con-inner{display:flex !important;flex-direction:row !important;gap:56px;align-items:center;flex-wrap:wrap}
.zs-oa-hl{flex:1 1 52% !important;width:auto !important;min-width:0}
.zs-oa-hr{flex:1 1 40% !important;width:auto !important;min-width:0}
.zs-oa-h1 .elementor-heading-title{font:600 58px/1.02 var(--zs-font-head);letter-spacing:-.02em;color:#1A2415;margin:12px 0 20px}
.zs-oa-intro,.zs-oa-intro p{font:400 18px/1.65 var(--zs-font-body) !important;color:#4C5647;margin:0 0 16px;max-width:540px}
.zs-oa-cta{display:flex !important;flex-direction:row !important;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.zs-oa-cta>*{width:auto !important;flex:0 0 auto !important}
.zs-oa-btn .elementor-button{background:var(--zs-green) !important;color:#FAF6EC !important;border-radius:999px !important;padding:13px 24px !important;font:700 15px var(--zs-font-body) !important;box-shadow:0 14px 26px -14px rgba(46,107,62,.9);transition:all .25s ease}
.zs-oa-btn .elementor-button:hover{background:var(--zs-green-dark) !important;transform:translateY(-2px)}
.zs-oa-hr{display:flex !important;justify-content:center;align-items:center}
.zs-oa-hr .elementor-widget-shortcode,.zs-oa-hr .elementor-shortcode{width:100%}
.zs-oa-hr img{width:100%;max-width:440px;aspect-ratio:4/5;object-fit:cover;border-radius:20px;box-shadow:0 40px 80px -46px rgba(35,48,31,.6);display:block;margin:0 auto}
/* Ikony social autorki (inline SVG) - okragle przyciski jak w designie */
.zs-autorka-social{display:inline-flex;gap:9px;align-items:center}
.zs-social-link{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(35,48,31,.16);display:inline-flex;align-items:center;justify-content:center;color:#4A5442;transition:all .22s ease}
.zs-social-link:hover{border-color:var(--zs-green);color:var(--zs-green);background:rgba(46,107,62,.08);transform:translateY(-2px)}
.zs-oa-info{max-width:1140px;margin:30px auto 6px}
.zs-oa-prose{max-width:820px;margin:44px auto}
.zs-oa-h2 .elementor-heading-title{font:600 33px/1.14 var(--zs-font-head);letter-spacing:-.015em;color:#1A2415;margin:0 0 16px}
.zs-oa-prose .elementor-widget-text-editor,.zs-oa-prose p{font:400 19px/1.75 var(--zs-font-head) !important;color:#33402C}
.zs-oa-wierze{max-width:1140px;margin:46px auto}
.zs-oa-cards{display:flex !important;flex-direction:row !important;gap:22px;flex-wrap:wrap;margin-top:22px}
.zs-oa-cards>.e-con{flex:1 1 260px !important;width:auto !important;min-width:0;background:#FFFDF8;border:1px solid #EFE7D3;border-radius:14px;padding:26px 24px;box-shadow:0 18px 44px -34px rgba(35,48,31,.4)}
.zs-oa-ch .elementor-heading-title{font:600 20px/1.2 var(--zs-font-head);color:#1E2A18;margin:0 0 8px}
.zs-oa-card p,.zs-oa-card .elementor-widget-text-editor{font:400 15.5px/1.62 var(--zs-font-body) !important;color:#4C5647;margin:0}
.zs-oa-kom{max-width:860px;margin:44px auto 0}
@media(max-width:900px){.zs-oa-hero{gap:28px;padding-top:22px}.zs-oa-hl,.zs-oa-hr{flex:1 1 100% !important}.zs-oa-h1 .elementor-heading-title{font-size:42px}.zs-oa-prose .elementor-widget-text-editor,.zs-oa-prose p{font-size:17px}}

/* ==================================================================
 *  Strona „Kontakt" (F6) - /kontakt/ #2063
 * ================================================================== */
.zs-kn-hero{text-align:center;max-width:660px;margin:0 auto;padding:34px 0 8px}
.zs-kn-hero .zs-eyebrow,.zs-kn-hero .zs-eyebrow-wrap{justify-content:center}
.zs-kn-h1 .elementor-heading-title{font:600 52px/1.02 var(--zs-font-head);letter-spacing:-.02em;color:#1A2415;margin:14px 0 14px}
.zs-kn-intro,.zs-kn-intro p{font:400 18px/1.6 var(--zs-font-body) !important;color:#5B6657;margin:0}
.zs-kn-grid{margin:34px auto 40px}
.zs-kn-grid>.e-con-inner{display:flex !important;flex-direction:row !important;gap:36px;align-items:flex-start;flex-wrap:wrap !important}
.zs-kn-card{background:#FFFDF8;border:1px solid #EFE7D3;border-radius:18px;padding:32px 34px !important;box-shadow:0 30px 70px -46px rgba(35,48,31,.42)}
.zs-kn-form{flex:1 1 58% !important;width:auto !important;min-width:0}
.zs-kn-dane{flex:1 1 32% !important;width:auto !important;min-width:0;background:#ECF1E4 !important;border-color:#D7E3C9 !important}
.zs-kn-ch .elementor-heading-title{font:600 23px/1.2 var(--zs-font-head);color:#1A2415;margin:0 0 18px}
.zs-kn-danetxt,.zs-kn-danetxt p{font:400 15.5px/1.6 var(--zs-font-body) !important;color:#4C5647;margin:0 0 14px}
.zs-kn-danetxt strong{color:#2E3A26}
.zs-kn-danetxt a{color:var(--zs-green);text-decoration:underline}
.zs-kn-faq{max-width:860px;margin:8px auto 40px}
.zs-kn-h2 .elementor-heading-title{font:600 32px/1.1 var(--zs-font-head);letter-spacing:-.015em;color:#1A2415;margin:0 0 10px}
.zs-kn-qa{border-bottom:1px solid #EDE4D0;padding:20px 0 !important}
.zs-kn-qh .elementor-heading-title{font:600 20px/1.3 var(--zs-font-head);color:#1E2A18;margin:0 0 6px}
.zs-kn-qa .elementor-widget-text-editor,.zs-kn-qa p{font:400 15px/1.6 var(--zs-font-body) !important;color:#5B6657;margin:0}
@media(max-width:800px){.zs-kn-form,.zs-kn-dane{flex:1 0 100% !important}.zs-kn-h1 .elementor-heading-title{font-size:38px}}
/* Formularze FluentForm w kartach (Kontakt / Wspolpraca) - etykiety na gorze + inputy pelnej szerokosci.
   FluentForm domyslnie renderuje etykiete po lewej (ff-el-form-left, stala kolumna ~180px), co w waskiej
   karcie sciskalo input do ~100px. Wymuszamy uklad kolumnowy niezaleznie od szerokosci kontenera. */
.zs-kn-form .ff-el-form-left .ff-el-input--label,.zs-wsp-form .ff-el-form-left .ff-el-input--label,
.zs-kn-form .ff-el-form-left .ff-el-input--content,.zs-wsp-form .ff-el-form-left .ff-el-input--content{width:100% !important;max-width:100% !important;float:none !important;padding-left:0 !important;margin-left:0 !important;margin-right:0 !important}
.zs-kn-form .ff-el-input--label,.zs-wsp-form .ff-el-input--label{margin:0 0 6px !important;text-align:left !important}
.zs-kn-form .ff-el-input--label label,.zs-wsp-form .ff-el-input--label label{font:600 14.5px/1.4 var(--zs-font-body) !important;color:#2E3A26 !important}
.zs-kn-form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),.zs-wsp-form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
.zs-kn-form textarea,.zs-wsp-form textarea,.zs-kn-form select,.zs-wsp-form select{width:100% !important;box-sizing:border-box !important;border:1px solid #D9E0CE !important;border-radius:10px !important;padding:12px 14px !important;background:#fff !important;font:400 15.5px/1.5 var(--zs-font-body) !important;color:#2E3A26 !important}
.zs-kn-form input:focus,.zs-wsp-form input:focus,.zs-kn-form textarea:focus,.zs-wsp-form textarea:focus{border-color:var(--zs-green) !important;outline:2px solid rgba(58,107,63,.16) !important;outline-offset:1px}
.zs-kn-form textarea,.zs-wsp-form textarea{min-height:130px !important;resize:vertical}

/* ==================================================================
 *  Strona „Współpraca" (F6) - /wspolpraca/ #8651
 * ================================================================== */
.zs-wsp-hero{max-width:1140px;margin:8px auto 44px;background:linear-gradient(135deg,#2F6E40,#1F5230);border-radius:24px;color:#FAF6EC;padding:56px 56px 52px !important;position:relative;overflow:hidden}
.zs-wsp-hero>.e-con-inner{max-width:760px}
.zs-wsp-eyebrow .elementor-heading-title{font:700 12.5px/1 var(--zs-font-body);letter-spacing:.18em;text-transform:uppercase;color:#B7D66A !important;margin:0 0 16px}
.zs-wsp-h1 .elementor-heading-title{font:600 52px/1.03 var(--zs-font-head);letter-spacing:-.02em;color:#FAF6EC !important;margin:0 0 16px}
.zs-wsp-intro,.zs-wsp-intro p{font:400 18px/1.6 var(--zs-font-body) !important;color:#E0E8D4 !important;margin:0 0 26px;max-width:660px}
.zs-wsp-cta .elementor-button{background:#B7D66A !important;color:#16281B !important;border-radius:999px !important;padding:14px 26px !important;font:700 15px var(--zs-font-body) !important;box-shadow:0 16px 30px -16px rgba(0,0,0,.35)}
.zs-wsp-cta .elementor-button:hover{background:#C8E37E !important;transform:translateY(-2px)}
.zs-wsp-formy{max-width:1140px;margin:0 auto 50px}
.zs-wsp-h2 .elementor-heading-title{font:600 34px/1.1 var(--zs-font-head);letter-spacing:-.015em;color:#1A2415;margin:0 0 8px}
.zs-wsp-lead,.zs-wsp-lead p{font:400 16px/1.6 var(--zs-font-body) !important;color:#5B6657;margin:0 0 24px;max-width:640px}
.zs-wsp-lead a{color:var(--zs-green);text-decoration:underline}
.zs-wsp-cards,.zs-wsp-kroki{display:flex !important;flex-direction:row !important;gap:22px;flex-wrap:wrap}
.zs-wsp-cards>.e-con,.zs-wsp-kroki>.e-con{width:auto !important;min-width:0}
.zs-wsp-card{flex:1 1 260px !important;background:#FFFDF8;border:1px solid #EFE7D3;border-radius:14px;padding:26px 24px !important;box-shadow:0 18px 44px -34px rgba(35,48,31,.4);transition:transform .28s ease,box-shadow .28s ease}
.zs-wsp-card:hover{transform:translateY(-5px);box-shadow:0 30px 54px -30px rgba(35,48,31,.5)}
.zs-wsp-cardh .elementor-heading-title{font:600 21px/1.2 var(--zs-font-head);color:#1E2A18;margin:0 0 7px}
.zs-wsp-card p,.zs-wsp-card .elementor-widget-text-editor{font:400 14.5px/1.6 var(--zs-font-body) !important;color:#5B6657;margin:0}
.zs-wsp-proces{max-width:1140px;margin:0 auto 50px;background:#F1EAD9;border-radius:20px;padding:44px 46px !important}
.zs-wsp-kroki{counter-reset:krok;margin-top:26px}
.zs-wsp-krok{flex:1 1 200px !important;position:relative;padding-left:60px !important}
.zs-wsp-krok::before{counter-increment:krok;content:counter(krok) !important;position:absolute !important;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--zs-green);color:#FAF6EC;font-family:var(--zs-font-head);font-style:italic;font-weight:600;font-size:20px;line-height:44px;text-align:center;display:block !important;inset:auto auto auto 0}
.zs-wsp-krokh .elementor-heading-title{font:600 20px/1.3 var(--zs-font-head);color:#1E2A18;margin:6px 0 5px}
.zs-wsp-krok p,.zs-wsp-krok .elementor-widget-text-editor{font:400 14.5px/1.6 var(--zs-font-body) !important;color:#5B6657;margin:0}
.zs-wsp-form{max-width:1140px;margin:0 auto 30px;background:#FFFDF8;border:1px solid #EFE7D3;border-radius:20px;padding:44px 46px !important;box-shadow:0 30px 70px -46px rgba(35,48,31,.42);scroll-margin-top:110px}
@media(max-width:900px){.zs-wsp-hero{padding:40px 26px !important}.zs-wsp-h1 .elementor-heading-title{font-size:38px}.zs-wsp-card,.zs-wsp-krok{flex:1 1 100% !important}}
