/*! ZZ Wygląd — POJEDYNCZY WPIS (blog zielonyzagonek.pl). Agent E, 23.10.2026.
   Źródło: NOWY-WYGLAD-2026-10-23/wdrozenie/propozycje-css-E.css  (makieta: wpisy/makieta-wpisu.html)

   GDZIE DZIAŁA
   - Tylko na pojedynczym wpisie z włączonym nowym wyglądem: body.single-post.zw
     (klasę zw dodaje zz-wyglad.php: ID w opcji zw_strony, ?zw_podglad=1 albo filtr zw_wlacz z zz-wpis.php).
   - Elementy z PHP (okruszki, meta, autorka, powiązane, nota, TL;DR, spis treści) dodaje mu-plugin zz-wpis.php
     i klasa body.zw-wpis. Bez zz-wpis.php sam CSS i tak porządkuje treść wszystkich 524 wpisów.
   - Buduje na Astrze po przełączeniu 23.10 (Lora 20/19 px, Cormorant 600, paleta) i na zmiennych --zw-* z zz-wyglad.css.
   - ROZMIARY: Astra ustawia html{font-size:125%} (1rem = 20 px), a zz-wyglad.css liczy rem od 16 px.
     Dlatego tu jedna kotwica --zw-baza = max(1rem, 20px) (telefon 19 px), a wszystko inne w em od niej.
     Działa przy obu korzeniach i przy powiększeniu tekstu w przeglądarce.

   JAK WGRAĆ (decyzja głównej sesji)
   a) dokleić na koniec zz-wyglad.css (jeden plik, jedno źródło), albo
   b) wgrać jako /wp-content/uploads/zz-wyglad/zz-wpis.css — zz-wpis.php załaduje go sam, jeśli plik istnieje.

   !important tylko tam, gdzie treść wpisów ma style wpisane na sztywno (style="…" w 431 wpisach,
   pływające paski i ramki z Woody/Astra Hooks z własnym !important). Każde takie miejsce opisane.

   Klasy, na których stoi (policzone na 524 wpisach, 23.10):
   - klasyczny edytor 489 wpisów: <p>, h1–h6 (h2 w 278, h1 w treści w 159!), img.aligncenter/alignright/alignleft,
     .wp-caption (30), blockquote (16), table (14), iframe YouTube (22), ul/ol, inline style text-align (h2 233 wpisy)
   - Gutenberg 35 wpisów: wp-block-paragraph/heading/list/image/table/separator/buttons/group,
     uagb/image (Spectra, 13), yoast-seo/table-of-contents (8), yoast-seo/related-links (13 → karty .zz-yr-*),
     yoast-seo/estimated-reading-time (3)
   - Astra: .ast-article-single, .entry-header, .entry-title, .post-thumb, .entry-content, .post-navigation, #comments
*/

/* ------------------------------------------------------------------ 0. zmienne i rama strony */
body.single-post.zw{
  --zw-baza:max(1rem,20px);    /* tekst wpisu 20 px */
  --zw-kolumna:calc(var(--zw-baza) * 31.2);   /* 624 px: Lora 20 px ≈ 66–68 znaków w linii (zmierzone) */
  --zw-szeroka:calc(var(--zw-baza) * 48);     /* 960 px: obraz wyróżniający, powiązane wpisy */
  --zw-odstep:max(16px,env(safe-area-inset-left,0px));
  --zw-link:var(--zw-terakota-ciemna);   /* #6B4529 na papierze: kontrast 7,2:1 */
  background-color:var(--zw-papier);
}
@media (max-width:600px){body.single-post.zw{--zw-baza:max(.95rem,19px)}}

/* Astra: kontener 1240 px, biała „kartka” wpisu z ramką i paddingiem 3–6 em. Zdejmujemy — wpis leży na papierze. */
body.single-post.zw #content>.ast-container{max-width:none;padding-left:0;padding-right:0;display:block}
body.single-post.zw #primary{float:none;width:auto;max-width:none;margin:0;padding:0 var(--zw-odstep) clamp(32px,6vw,72px);border:0}
/* przezroczysty nagłówek Astry (ast-theme-transparent-header) leży na treści; na papierze nie ma pod nim zdjęcia,
   więc we wpisie wraca do normalnego układu. Lepiej: w Astrze „Przezroczysty nagłówek → wyłącz na wpisach”. */
body.single-post.zw.ast-theme-transparent-header #masthead{position:relative}
body.single-post.zw .ast-article-single,
body.single-post.zw .ast-article-single:not(.ast-related-post){background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 auto;max-width:var(--zw-szeroka)}
body.single-post.zw .ast-article-single .single-layout-1{padding:0;margin:0}
body.single-post.zw #secondary{display:none}   /* sidebar wyłączony świadomie — patrz wpisy/DO-WGRANIA.md */

/* ------------------------------------------------------------------ 1. nagłówek wpisu */
body.single-post.zw .entry-header{max-width:var(--zw-kolumna);margin:0 auto;padding:clamp(18px,3vw,40px) 0 0;text-align:center;border:0;font-size:var(--zw-baza)}
body.single-post.zw .entry-header .zw-okruszki{justify-content:center;font-size:.85em;padding:0 0 18px;gap:6px 10px;color:var(--zw-tekst-2)}
body.single-post.zw .zw-okruszki a{color:var(--zw-tekst-2);text-decoration:underline;text-decoration-color:var(--zw-linia);text-underline-offset:.2em}
body.single-post.zw .zw-okruszki a:hover{color:var(--zw-tekst)}
body.single-post.zw .zw-okruszki [aria-current]{font-weight:600;color:var(--zw-tekst);max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.single-post.zw .zw-okruszki .zw-sep-okr{color:var(--zw-szalwia)}
body.single-post.zw .zw-wpis-kat{margin:0 0 12px;font-size:.8em;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}
body.single-post.zw .zw-wpis-kat a{color:inherit;text-decoration:none}
body.single-post.zw .zw-wpis-kat a:hover{text-decoration:underline}
body.single-post.zw .entry-header .entry-title{font-family:var(--zw-f-display);font-weight:600;font-size:clamp(1.9em,1.3em + 2.2vw,2.9em);line-height:1.08;letter-spacing:-.005em;color:var(--zw-grafit);text-wrap:balance;margin:0 auto;max-width:22em}
body.single-post.zw .zw-wpis-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;margin:18px 0 0;font-size:.85em;line-height:1.5;color:var(--zw-tekst-2)}
body.single-post.zw .zw-wpis-meta>*+*::before{content:"·";color:var(--zw-szalwia-ciemna);margin:0 .6em}
body.single-post.zw .zw-wpis-meta a{color:inherit}
/* telefon: autorka jest w ramce na dole, w linijce zostaje data i czas czytania (mieści się w jednym wierszu) */
@media (max-width:600px){
  body.single-post.zw .zw-wpis-meta>:first-child{display:none}
  body.single-post.zw .zw-wpis-meta>:nth-child(2)::before{content:none}
}
/* ozdobna linia z rombem pod nagłówkiem (motyw ze stron testowych) */
body.single-post.zw .entry-header::after{content:"";display:block;width:min(240px,60%);height:12px;margin:26px auto 0;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 1.5 10.5 6 6 10.5 1.5 6z' fill='none' stroke='%239A987B' stroke-width='1.2'/%3E%3C/svg%3E") 50% 50%/12px 12px no-repeat,
  linear-gradient(var(--zw-linia),var(--zw-linia)) left 50%/calc(50% - 12px) 1px no-repeat,
  linear-gradient(var(--zw-linia),var(--zw-linia)) right 50%/calc(50% - 12px) 1px no-repeat}

/* obraz wyróżniający — wersja z zz-wpis.php (figure.zw-wpis-obraz, poza nagłówkiem, ładowany od razu) */
body.single-post.zw .zw-wpis-obraz{max-width:var(--zw-szeroka);margin:clamp(22px,4vw,40px) auto clamp(28px,4vw,48px)}
body.single-post.zw .zw-wpis-obraz img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover;border-radius:0;box-shadow:none}
body.single-post.zw .zw-wpis-obraz.zw-obraz--pionowy,
body.single-post.zw .zw-wpis-obraz.zw-obraz--kwadrat{max-width:min(calc(var(--zw-baza) * 24),100%)}
body.single-post.zw .zw-wpis-obraz.zw-obraz--pionowy img{max-height:none}
/* obraz wyróżniający Astry (gdy zz-wpis.php nie działa): pod tytułem, nie nad nim */
body.single-post.zw .entry-header{display:flex;flex-direction:column}
body.single-post.zw .entry-header .post-thumb{order:9;margin:28px auto 8px;max-width:var(--zw-szeroka);width:100%}
body.single-post.zw .entry-header .post-thumb img{width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:0;box-shadow:none}

/* ------------------------------------------------------------------ 2. kolumna tekstu */
body.single-post.zw .entry-content{max-width:var(--zw-kolumna);margin:0 auto;font-family:var(--zw-f-tekst);font-size:var(--zw-baza);line-height:1.7;color:var(--zw-tekst);overflow-wrap:break-word;text-align:left}
@media (max-width:600px){body.single-post.zw .entry-content{line-height:1.65}}
/* Astra „blocks layout” ogranicza dzieci do własnej szerokości i wyciąga alignfull na całą stronę — w kolumnie nie */
body.single-post.zw .entry-content[data-ast-blocks-layout]>*,
body.single-post.zw .entry-content>*{max-width:100%;margin-left:0;margin-right:0}
body.single-post.zw .entry-content :is(.alignfull,.alignwide){width:auto;max-width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
body.single-post.zw .entry-content>:first-child{margin-top:0}

body.single-post.zw .entry-content p{margin:0 0 1em;font-size:inherit;line-height:inherit}
body.single-post.zw .entry-content p:empty{display:none}
/* wyjustowane akapity (stare wpisy, inline style) robią „rzeki” — w wąskiej kolumnie zawsze do lewej */
body.single-post.zw .entry-content [style*="justify"]{text-align:left!important}
body.single-post.zw .entry-content strong,
body.single-post.zw .entry-content b{font-weight:600}
body.single-post.zw .entry-content a{color:var(--zw-link);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:currentColor;text-underline-offset:.2em}
body.single-post.zw .entry-content a:hover{color:var(--zw-grafit);text-decoration-thickness:2px}
body.single-post.zw :focus-visible{outline:3px solid var(--zw-terakota);outline-offset:3px}

/* nagłówki: Cormorant 600 (h1–h4 wymusza zz-wyglad.css), zawsze do lewej — inline text-align:center w 233 wpisach */
body.single-post.zw .entry-content :is(h1,h2,h3,h4,h5,h6){color:var(--zw-grafit);text-wrap:balance;text-align:left!important;clear:both;text-transform:none;letter-spacing:normal}
body.single-post.zw .entry-content :is(h1,h2){font-weight:600;font-size:clamp(1.5em,1.2em + 1vw,1.9em);line-height:1.15;margin:1.7em 0 .55em}
body.single-post.zw .entry-content h3{font-weight:600;font-size:clamp(1.25em,1.1em + .6vw,1.45em);line-height:1.2;margin:1.5em 0 .45em}
body.single-post.zw .entry-content h4{font-weight:600;font-size:1.2em;line-height:1.25;margin:1.4em 0 .4em}
body.single-post.zw .entry-content :is(h5,h6){font-family:var(--zw-f-tekst);font-weight:600;font-size:.9em;line-height:1.4;margin:1.3em 0 .4em}
body.single-post.zw .entry-content :is(h2,h3,h4) strong{font-weight:inherit}
/* h1 w treści (159 wpisów powtarza tytuł strony) — wygląda jak podtytuł; zz-wpis.php zamienia go na h2.zw-podtytul */
body.single-post.zw .entry-content .zw-podtytul,
body.single-post.zw .entry-content>h1:first-child{font-style:italic;font-weight:600;font-size:clamp(1.3em,1.1em + .8vw,1.6em);color:var(--zw-tekst-2);margin:0 0 1em}

/* listy */
body.single-post.zw .entry-content :is(ul,ol){margin:0 0 1.1em;padding-left:1.4em}
body.single-post.zw .entry-content li{margin:.4em 0;padding-left:.2em}
body.single-post.zw .entry-content li>:is(ul,ol){margin:.3em 0 .2em}
body.single-post.zw .entry-content ul>li::marker{color:var(--zw-szalwia-ciemna);font-size:1.1em}
body.single-post.zw .entry-content ol>li::marker{font-family:var(--zw-f-display);font-weight:600;color:var(--zw-terakota-ciemna)}

/* separator: cienka szałwiowa linia z rombem */
body.single-post.zw .entry-content hr{position:relative;overflow:visible;border:0;height:1px;width:min(260px,60%);margin:2.4em auto;background:var(--zw-linia);opacity:1}
body.single-post.zw .entry-content hr::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--zw-szalwia);background:var(--zw-papier);transform:translate(-50%,-50%) rotate(45deg)}

/* ------------------------------------------------------------------ 3. obrazy, podpisy, filmy */
body.single-post.zw .entry-content img{max-width:100%;height:auto;border-radius:0;box-shadow:none}
body.single-post.zw .entry-content :is(figure,.wp-block-image,.wp-block-uagb-image,.wp-caption){margin:1.6em 0;max-width:100%}
body.single-post.zw .entry-content .wp-caption{width:auto!important}   /* [caption] wpisuje width="610px" w style */
body.single-post.zw .entry-content :is(figcaption,.wp-caption-text,.wp-element-caption){margin:.6em 0 0;font-size:.85em;line-height:1.5;font-style:italic;color:var(--zw-tekst-2);text-align:center}
body.single-post.zw .entry-content img.aligncenter,
body.single-post.zw .entry-content .aligncenter{display:block;margin-left:auto;margin-right:auto}
body.single-post.zw .entry-content img.emoji{display:inline;width:1em;height:1em;margin:0 .07em;vertical-align:-.1em}
/* obrazy oblewane tekstem: na komputerze najwyżej 45% kolumny, na telefonie bez oblewania */
body.single-post.zw .entry-content :is(.alignleft,.alignright){max-width:45%;height:auto}
body.single-post.zw .entry-content .alignleft{float:left;margin:.3em 1.4em 1em 0}
body.single-post.zw .entry-content .alignright{float:right;margin:.3em 0 1em 1.4em}
@media (max-width:700px){
  body.single-post.zw .entry-content :is(.alignleft,.alignright){float:none;display:block;max-width:100%;margin:1.4em auto}
}
body.single-post.zw .entry-content :is(h2,h3,hr,.zw-tldr,.zw-wazne,.zw-cta){clear:both}
/* YouTube i osadzenia */
body.single-post.zw .entry-content :is(iframe[src*="youtu"],iframe[data-src*="youtu"],.wp-block-embed__wrapper iframe){display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:1.6em 0}
body.single-post.zw .entry-content iframe{max-width:100%}
/* blok „Obrazek wyróżniający” wstawiony w treść (11 wpisów) dublowałby obraz pod tytułem z zz-wpis.php */
body.single-post.zw.zw-wpis .entry-content .wp-block-post-featured-image{display:none}
/* galeria Spectry (karuzela) — tylko porządek wizualny */
body.single-post.zw .entry-content .spectra-image-gallery img{border-radius:0}

/* ------------------------------------------------------------------ 4. cytaty */
body.single-post.zw .entry-content :is(blockquote,.wp-block-quote){position:relative;margin:1.8em 0;padding:1.1em 1.4em 1.1em 1.6em;border:0;border-left:3px solid var(--zw-szalwia);border-radius:0;background:var(--zw-papier-jasny);font-style:italic;font-size:1.15em;line-height:1.6;color:var(--zw-tekst)}
body.single-post.zw .entry-content blockquote p:last-child{margin-bottom:0}
body.single-post.zw .entry-content blockquote :is(cite,footer){display:block;margin-top:.6em;font-style:normal;font-size:.75em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}
body.single-post.zw .entry-content .wp-block-pullquote{margin:2em 0;padding:1.4em 0;border-top:1px solid var(--zw-linia);border-bottom:1px solid var(--zw-linia);text-align:center}
body.single-post.zw .entry-content .wp-block-pullquote blockquote{background:transparent;border:0;padding:0;font-family:var(--zw-f-display);font-weight:600;font-size:1.4em;line-height:1.3}

/* ------------------------------------------------------------------ 5. tabele — czytelne na telefonie */
body.single-post.zw .entry-content .wp-block-table{margin:1.6em 0;overflow-x:auto}
body.single-post.zw .entry-content table{width:100%;border-collapse:collapse;border:0;margin:1.6em 0;font-size:.9em;line-height:1.5;background:var(--zw-papier-jasny)}
body.single-post.zw .entry-content .wp-block-table table{margin:0}
body.single-post.zw .entry-content :is(th,td){padding:.75em .9em;border:0;border-bottom:1px solid var(--zw-linia-cicha);text-align:left;vertical-align:top}
body.single-post.zw .entry-content thead th,
body.single-post.zw .entry-content tr:first-child>th{background:var(--zw-papier-2);font-weight:600;color:var(--zw-grafit);border-bottom:2px solid var(--zw-szalwia)}
body.single-post.zw .entry-content :is(th,td) strong{font-weight:600}
/* telefon: tabela bez nagłówków (stare wpisy) przewija się w bok we własnym pudełku, strona nie */
@media (max-width:600px){
  body.single-post.zw .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* tabela z nagłówkami: zz-wpis.php dopisuje data-label do komórek → każdy wiersz to karta */
  body.single-post.zw .entry-content table.zw-tabela-karty{display:table;background:transparent}
  body.single-post.zw .entry-content table.zw-tabela-karty thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body.single-post.zw .entry-content table.zw-tabela-karty :is(tbody,tr,td){display:block;width:100%}
  body.single-post.zw .entry-content table.zw-tabela-karty tr{margin:0 0 14px;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia-cicha);border-left:3px solid var(--zw-szalwia)}
  body.single-post.zw .entry-content table.zw-tabela-karty td{border-bottom:1px solid var(--zw-linia-cicha);padding:.65em .9em}
  body.single-post.zw .entry-content table.zw-tabela-karty td:last-child{border-bottom:0}
  body.single-post.zw .entry-content table.zw-tabela-karty td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.2em;font-size:.9em;font-weight:600;letter-spacing:.04em;color:var(--zw-szalwia-ciemna)}
}

/* ------------------------------------------------------------------ 6. ramki: TL;DR, Ważne, CTA, nota */
/* TL;DR — akapit „W skrócie: …” (zz-wpis.php dodaje klasę zw-tldr; w nowych wpisach można ją wpisać ręcznie) */
body.single-post.zw .entry-content .zw-tldr{position:relative;margin:0 0 1.8em;padding:1.4em 1.5em 1.3em;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia);border-top:3px solid var(--zw-szalwia);font-size:1em;line-height:1.65}
body.single-post.zw .entry-content .zw-tldr strong{font-weight:500}
@media (max-width:600px){body.single-post.zw .entry-content .zw-tldr{padding:1.1em 1em 1em}}
body.single-post.zw .zw-tldr-etykieta{display:block;margin:0 0 .45em;font-family:var(--zw-f-tekst);font-size:.8em;font-weight:700;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}

/* Ważne / nota bezpieczeństwa w treści: .zw-wazne (nowe wpisy, blok Grupa z klasą) i .zw-nota-tresc (rozpoznane akapity) */
body.single-post.zw .entry-content :is(.zw-wazne,.zw-nota-tresc){margin:1.8em 0;padding:1.2em 1.4em 1.2em 1.4em;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia);border-left:4px solid var(--zw-szalwia-ciemna);font-size:.95em;line-height:1.6}
body.single-post.zw .entry-content :is(.zw-wazne,.zw-nota-tresc)::before{content:"Ważne";display:block;margin:0 0 .35em;font-size:.85em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}
body.single-post.zw .entry-content .zw-wazne>:last-child{margin-bottom:0}
body.single-post.zw .entry-content .zw-wazne ul{margin-bottom:0}

/* CTA ze słowem kluczowym ManyChat / e-bookiem: .zw-cta (blok Grupa z klasą; treść pisze Ewa) */
body.single-post.zw .zw-cta{display:grid;gap:.7em;justify-items:start;margin:2em 0;padding:1.5em 1.5em 1.6em;background:#FFFDF8;border:1px solid var(--zw-terakota);box-shadow:0 14px 30px -26px rgba(29,34,14,.5);font-size:1em;line-height:1.6}
body.single-post.zw .zw-cta>*{margin:0}
body.single-post.zw .zw-cta-etykieta{font-size:.8em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--zw-terakota-ciemna)}
body.single-post.zw .zw-slowo{display:inline-block;font-family:var(--zw-f-display);font-weight:700;font-size:1.6em;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--zw-grafit);background:var(--zw-papier);border:1.5px solid var(--zw-terakota);padding:.35em .6em .3em}
body.single-post.zw .zw-cta :is(.zw-btn,.wp-block-button__link){margin-top:.2em}

/* nota na końcu każdego wpisu (zz-wpis.php) */
body.single-post.zw .zw-wpis-nota{max-width:var(--zw-kolumna);margin:2.4em auto 0;padding:1em 0 0;border-top:1px solid var(--zw-linia);font-size:calc(var(--zw-baza) * .85);line-height:1.55;font-style:italic;color:var(--zw-tekst-2);text-align:center}

/* ------------------------------------------------------------------ 7. przyciski w treści */
body.single-post.zw .entry-content .wp-block-buttons{gap:12px;margin:1.6em 0}
/* kolory przycisków wpisane w treść (style="background…", has-*-background-color) — jeden wygląd: rdzawy */
body.single-post.zw .entry-content :is(.wp-block-button__link,.wp-element-button,a.button,.ast-button,.uagb-buttons-repeater){display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.9em 1.5em;border:0!important;border-radius:0!important;background:var(--zw-terakota)!important;color:#FFFDF8!important;box-shadow:none!important;font-family:var(--zw-f-tekst);font-size:.85em;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;line-height:1.3;text-align:center}
body.single-post.zw .entry-content :is(.wp-block-button__link,.wp-element-button,a.button,.ast-button,.uagb-buttons-repeater):hover{background:var(--zw-terakota-ciemna)!important}
body.single-post.zw .entry-content .is-style-outline .wp-block-button__link{background:transparent!important;color:var(--zw-terakota-ciemna)!important;border:1.5px solid var(--zw-terakota)!important}
/* grupy z kolorowym tłem (np. „Popularne produkty”) — papier zamiast pasów koloru */
body.single-post.zw .entry-content .wp-block-group.has-background{padding:1.4em 1.4em 1.2em;border:1px solid var(--zw-linia-cicha)}

/* ------------------------------------------------------------------ 8. spis treści (Yoast i zz-wpis.php) */
body.single-post.zw .entry-content :is(.yoast-table-of-contents,.zw-spis){margin:0 0 1.8em;padding:1.1em 1.4em;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia);font-size:.9em;line-height:1.5}
body.single-post.zw .entry-content .yoast-table-of-contents>h2,
body.single-post.zw .zw-spis>summary{margin:0;font-family:var(--zw-f-tekst);font-size:.85em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}
body.single-post.zw .zw-spis>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none}
body.single-post.zw .zw-spis>summary::-webkit-details-marker{display:none}
body.single-post.zw .zw-spis>summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s;flex:none}
body.single-post.zw .zw-spis[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
body.single-post.zw .entry-content :is(.yoast-table-of-contents,.zw-spis) :is(ul,ol){margin:.6em 0 0;padding-left:1.3em}
body.single-post.zw .entry-content .zw-spis>ul{padding-left:1.1em}
body.single-post.zw .entry-content :is(.yoast-table-of-contents,.zw-spis) li{margin:.35em 0}
body.single-post.zw .entry-content :is(.yoast-table-of-contents,.zw-spis) a{text-decoration:none;color:var(--zw-tekst)}
body.single-post.zw .entry-content :is(.yoast-table-of-contents,.zw-spis) a:hover{text-decoration:underline;color:var(--zw-link)}
body.single-post.zw .entry-content [id]{scroll-margin-top:90px}
/* czas czytania Yoasta w treści — przy zz-wpis.php jest już w linijce pod tytułem */
body.single-post.zw .entry-content .yoast-reading-time__wrapper{font-size:.85em;color:var(--zw-tekst-2)}
body.single-post.zw.zw-wpis .entry-content .yoast-reading-time__wrapper{display:none}

/* ------------------------------------------------------------------ 9. „Polecane” Yoasta w treści (.zz-yr-*, snippet Woody 57411) */
body.single-post.zw .entry-content .zz-yr-section{margin:2em 0}
body.single-post.zw .entry-content .zz-yr-grid{display:grid;grid-template-columns:1fr;gap:10px}
body.single-post.zw .entry-content .zz-yr-card{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:16px;padding:10px;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia-cicha);border-radius:0;box-shadow:none;text-decoration:none;color:var(--zw-tekst);transform:none}
body.single-post.zw .entry-content .zz-yr-card:hover{border-color:var(--zw-szalwia);transform:none;box-shadow:none}
body.single-post.zw .entry-content .zz-yr-card-img{width:112px;height:76px;overflow:hidden;background:var(--zw-papier-2)}
body.single-post.zw .entry-content .zz-yr-card-img img{width:100%;height:100%;object-fit:cover;transform:none}
body.single-post.zw .entry-content .zz-yr-noimg{font-size:1.4em}
body.single-post.zw .entry-content .zz-yr-card-body{padding:0;gap:.2em}
body.single-post.zw .entry-content .zz-yr-card-title{font-family:var(--zw-f-tekst);font-size:.9em;font-weight:600;line-height:1.35;color:var(--zw-grafit);-webkit-line-clamp:3}
body.single-post.zw .entry-content .zz-yr-card-link{font-size:.8em;font-weight:600;color:var(--zw-link)}  /* było: złoty na kremie, niewidoczny */
body.single-post.zw.zw-wpis.zw-bez-yr .entry-content .zz-yr-section{display:none}

/* ------------------------------------------------------------------ 10. autorka, powiązane wpisy (zz-wpis.php) */
body.single-post.zw .zw-autorka{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;max-width:var(--zw-kolumna);margin:2.4em auto 0;padding:26px 28px;background:var(--zw-papier-jasny);border:1px solid var(--zw-linia-cicha);font-size:var(--zw-baza)}
body.single-post.zw .zw-autorka-foto{margin:0;padding:8px}
body.single-post.zw .zw-autorka-foto img{display:block;width:100%;height:auto;outline:1px solid var(--zw-linia);outline-offset:8px}  /* całe zdjęcie, bez maski */
body.single-post.zw .zw-autorka-tekst{display:grid;gap:8px;min-width:0}
body.single-post.zw .zw-autorka .zw-etykieta{font-size:.8em}
body.single-post.zw .zw-autorka-imie{margin:0;font-family:var(--zw-f-display);font-weight:600;font-size:1.6em;line-height:1.1;color:var(--zw-grafit)}
body.single-post.zw .zw-autorka-opis{margin:0;font-size:1em;line-height:1.55;color:var(--zw-tekst)}
body.single-post.zw .zw-autorka .zw-link{justify-self:start;margin-top:4px;font-size:.8em;min-height:44px}
@media (max-width:600px){
  body.single-post.zw .zw-autorka{grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 18px}
  body.single-post.zw .zw-autorka-foto{width:150px}
  body.single-post.zw .zw-autorka .zw-link{justify-self:center}
}

body.single-post.zw .zw-powiazane{max-width:var(--zw-szeroka);margin:3em auto 0;padding-top:2em;border-top:1px solid var(--zw-linia-cicha);font-size:var(--zw-baza)}
body.single-post.zw .zw-powiazane>h2{margin:0 0 .9em;font-family:var(--zw-f-display);font-weight:600;font-size:clamp(1.5em,1.2em + 1vw,1.9em);line-height:1.15;color:var(--zw-grafit);text-align:center}
body.single-post.zw .zw-powiazane-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0}
body.single-post.zw .zw-powiazany{margin:0}
body.single-post.zw .zw-powiazany a{display:grid;gap:10px;text-decoration:none;color:var(--zw-tekst)}
body.single-post.zw .zw-powiazany img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:0;box-shadow:none;background:var(--zw-papier-2)}
body.single-post.zw .zw-powiazany-kat{font-size:.8em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--zw-szalwia-ciemna)}
body.single-post.zw .zw-powiazany h3{margin:0;font-family:var(--zw-f-display);font-weight:600;font-size:1.2em;line-height:1.2;color:var(--zw-grafit);text-wrap:balance}
body.single-post.zw .zw-powiazany a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
@media (max-width:860px){
  body.single-post.zw .zw-powiazane-lista{grid-template-columns:1fr;gap:14px}
  body.single-post.zw .zw-powiazany a{grid-template-columns:120px 1fr;align-items:center;gap:16px}
  body.single-post.zw .zw-powiazany img{grid-row:span 2;aspect-ratio:1/1}
  body.single-post.zw .zw-powiazany h3{font-size:1.1em}
}

/* ------------------------------------------------------------------ 11. nawigacja i komentarze */
body.single-post.zw .post-navigation{max-width:var(--zw-kolumna);margin:2.4em auto 0;padding:1em 0 0;border-top:1px solid var(--zw-linia-cicha);font-size:calc(var(--zw-baza) * .85)}
body.single-post.zw .post-navigation a{color:var(--zw-tekst-2)}

/* komentarze: archiwum (ostatni 2021, 29 310 sztuk) zwinięte w <details> przez zz-wpis.php */
body.single-post.zw .comments-area{max-width:var(--zw-kolumna);margin:2.4em auto 0;padding:0;background:transparent;border:0;font-size:var(--zw-baza)}
body.single-post.zw .zw-komentarze{max-width:var(--zw-kolumna);margin:2.4em auto 0;font-size:var(--zw-baza)}
body.single-post.zw .zw-komentarze{border-top:1px solid var(--zw-linia);border-bottom:1px solid var(--zw-linia)}
body.single-post.zw .zw-komentarze>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px 4px;cursor:pointer;list-style:none;font-family:var(--zw-f-tekst);font-size:1em;font-weight:600;color:var(--zw-grafit)}
body.single-post.zw .zw-komentarze>summary::-webkit-details-marker{display:none}
body.single-post.zw .zw-komentarze>summary::after{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s;flex:none}
body.single-post.zw .zw-komentarze[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
body.single-post.zw .zw-komentarze-nota{margin:0 0 1em;font-size:.85em;font-style:italic;color:var(--zw-tekst-2)}
body.single-post.zw .comments-area .comments-title{font-family:var(--zw-f-display);font-weight:600;font-size:1.3em;margin:.6em 0}
body.single-post.zw .zw-komentarze .comments-area{margin-top:0}
body.single-post.zw .ast-comment-list{margin:0;padding:0;list-style:none}
body.single-post.zw .ast-comment-list li{margin:0;padding:0}
body.single-post.zw .ast-comment{padding:16px 0;border-bottom:1px solid var(--zw-linia-cicha);background:transparent}
body.single-post.zw .ast-comment-avatar-wrap{display:none}   /* gravatary: obce zapytania i szum; patrz DO-WGRANIA */
body.single-post.zw .ast-comment-info{padding:0}
body.single-post.zw .ast-comment-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 6px;font-size:.85em;text-transform:none}
body.single-post.zw .ast-comment-meta cite,
body.single-post.zw .ast-comment-meta b{font-style:normal;font-weight:600;color:var(--zw-grafit)}
body.single-post.zw .ast-comment-meta a{color:var(--zw-tekst-2)}
body.single-post.zw .ast-comment-content{font-size:.95em;line-height:1.6;padding:0;margin:0}
body.single-post.zw .ast-comment-content p{margin:0 0 .6em}
body.single-post.zw .ast-comment-list .children{margin:0 0 0 1.2em;padding:0 0 0 1em;border-left:2px solid var(--zw-linia-cicha);list-style:none}
body.single-post.zw .ast-comment-edit-reply-wrap{font-size:.85em}

/* ------------------------------------------------------------------ 12. elementy z innych miejsc */
/* stara ramka autorki (Astra Hook 57405: „Dyplomowana…”, „EKOnomiczne Dziecko”) — zastępuje ją .zw-autorka */
body.single-post.zw.zw-wpis .zz-author-section{display:none}
/* ramka książki w ekosprzątaniu (Astra Hook 57424, style w HTML) — kolory z palety; !important bo style są inline */
body.single-post.zw #zp-book-box{max-width:var(--zw-kolumna)!important;border:1px solid var(--zw-linia)!important;border-radius:0!important;background:var(--zw-papier-jasny)!important}
body.single-post.zw #zp-book-box>div:first-child{background:var(--zw-zielen-btn)!important}
body.single-post.zw #zp-book-box img{border-radius:0!important}
body.single-post.zw #zp-book-box p{font-family:var(--zw-f-tekst)!important}
body.single-post.zw #zp-book-box>div:last-child p{font-size:calc(var(--zw-baza) * .9)!important;color:var(--zw-tekst)!important}
body.single-post.zw #zp-book-box a{min-height:48px;border-radius:0!important;background:var(--zw-terakota)!important;color:#FFFDF8!important;text-transform:uppercase;letter-spacing:.07em;font-size:calc(var(--zw-baza) * .85)!important}
/* pływające paski (snippety Woody 57474 i 57486; własne !important) — paleta, większy tekst, złoty przycisk miał kontrast 2,6:1 */
body.single-post.zw :is(#zp-floating-bar-za,#zp-floating-bar-ncd){background:var(--zw-papier-jasny)!important;border-top:3px solid var(--zw-szalwia)!important;box-shadow:0 -8px 18px -14px rgba(29,34,14,.4)!important}
body.single-post.zw :is(.zp-za-text,.zp-ncd-text){color:var(--zw-tekst)!important;font-size:calc(var(--zw-baza) * .9)!important}
body.single-post.zw :is(.zp-za-text,.zp-ncd-text) strong{color:var(--zw-grafit)!important}
body.single-post.zw :is(.zp-za-btn,.zp-ncd-btn){display:inline-flex!important;align-items:center;min-height:48px;background:var(--zw-terakota)!important;color:#FFFDF8!important;border-radius:0!important;box-shadow:none!important;font-size:calc(var(--zw-baza) * .85)!important}
/* Decyzja Ewy (DO-WGRANIA.md, pkt D3): na telefonie pasek zasłania ~15% ekranu, przy powiększeniu 200% połowę.
   Jeśli Ewa się zgodzi — odkomentować:
@media (max-width:700px){body.single-post.zw :is(#zp-floating-bar-za,#zp-floating-bar-ncd){display:none!important}}
*/
/* stary formularz MyMail nr 29 (43 wpisy, adres /mymail/subscribe zwraca 404) — sprawa Agenta B; do czasu decyzji bez zmian.
body.single-post.zw .entry-content :is(.bg-piekna,.mymail-form){display:none}
*/

/* druk: bez pasków i powiązanych */
@media print{
  body.single-post.zw :is(#zp-floating-bar-za,#zp-floating-bar-ncd,.zw-powiazane,.zw-komentarze,.post-navigation,.zw-okruszki){display:none!important}
  body.single-post.zw .entry-content{max-width:none;font-size:12pt}
}
