/*
 * BlogOgrodniczy V4.4 — warstwa uzupełniająca Divi 5.
 * Wygląd (kolory, kroje, rozmiary, odstępy, karty, siatki, wysokości zdjęć) jest w modułach Divi, Design Variables i Presets.
 * Tu wyłącznie to, czego moduły nie oferują:
 *  1. fonty lokalne (OFL) i dostępność,
 *  2. zachowanie: przyklejony nagłówek, menu mobilne na całą szerokość, klikalna cała karta, przewijane pigułki na telefonie,
 *  3. treść artykułów zapisana w bazie (HTML starych wpisów: listy, cytaty, galerie, podpisy, wyrównania zdjęć),
 *  4. elementy generowane przez PHP: numery stron (wp_pagenavi), komunikat pustego wyszukiwania, liczniki numerów pozycji,
 *  5. stany: aktywna pigułka kategorii, pola formularzy (pułapka na boty, etykiety dla czytników ekranu).
 */
@font-face { font-family: "Source Serif 4"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(../fonts/source-serif-4-latin-ext-opsz-normal-v42.woff2) format("woff2-variations"); unicode-range: U+0100-017F,U+2020,U+20AC; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(../fonts/source-serif-4-latin-opsz-normal-v42.woff2) format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-display: swap; font-weight: 400 700; src: url(../fonts/source-serif-4-latin-ext-opsz-italic-v42.woff2) format("woff2-variations"); unicode-range: U+0100-017F,U+2020,U+20AC; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-display: swap; font-weight: 400 700; src: url(../fonts/source-serif-4-latin-opsz-italic-v42.woff2) format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(../fonts/plus-jakarta-sans-latin-ext-wght-normal-v42.woff2) format("woff2-variations"); unicode-range: U+0100-017F,U+2020,U+20AC; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(../fonts/plus-jakarta-sans-latin-wght-normal-v42.woff2) format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: italic; font-display: swap; font-weight: 400 700; src: url(../fonts/plus-jakarta-sans-latin-ext-wght-italic-v42.woff2) format("woff2-variations"); unicode-range: U+0100-017F,U+2020,U+20AC; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: italic; font-display: swap; font-weight: 400 700; src: url(../fonts/plus-jakarta-sans-latin-wght-italic-v42.woff2) format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Fonty: wersje „-v42” — oś grubości 400–700 (używane grubości), latin-ext tylko Latin Extended-A (polskie i środkowoeuropejskie znaki);
   proste 272 → 145 KB, kursywy podobnie. */

/* 1. dostępność */
.bo-skip { position: absolute; left: -9999px; top: 8px; z-index: 100000; padding: 12px 18px; background: #1B3A29; color: #fff; font: 700 14px/1.2 "Plus Jakarta Sans", sans-serif; border-radius: 4px; }
.bo-skip:focus { left: 8px; }
.bo-site a:focus-visible, .bo-site button:focus-visible, .bo-site input:focus-visible, .bo-site textarea:focus-visible, .bo-site select:focus-visible { outline: 3px solid #1B3A29; outline-offset: 2px; border-radius: 2px; }
.bo-footer a:focus-visible, .bo4-hero a:focus-visible, .bo3-hero a:focus-visible, .bo4-newsletter a:focus-visible, .bo4-topbar a:focus-visible { outline-color: #F8F6F0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .bo-site * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* 2. nagłówek: przyklejony pod paskiem administratora; menu mobilne Divi na całą szerokość paska */
.admin-bar .bo-header.et_pb_sticky--top { top: 32px !important; }
@media (max-width: 782px) { .admin-bar .bo-header.et_pb_sticky--top { top: 46px !important; } }
@media (max-width: 600px) { .admin-bar .bo-header.et_pb_sticky--top { top: 0 !important; } }
@media (max-width: 980px) {
	.bo-header .et_pb_menu, .bo-header .et_pb_menu__wrap, .bo-header .et_pb_menu_inner_container, .bo-header .et_pb_column, .bo-header .et_pb_row { position: static !important; }
	.bo-header .et_mobile_nav_menu .et_mobile_menu { left: 0; right: 0; width: 100%; top: 100%; border-top: 3px solid #5F7349; box-shadow: 0 18px 30px rgba(30, 42, 33, .12); }
	.bo-header .et_mobile_menu li a { padding: 14px 6%; }
}
.bo-mainmenu .et-menu > li > a { border-bottom: 2px solid transparent; }
.bo-mainmenu .et-menu > li.current-menu-item > a, .bo-mainmenu .et-menu > li.current-menu-ancestor > a, .bo-mainmenu .et-menu > li > a:hover { border-bottom-color: #5F7349; opacity: 1; }
/* 981–1240 px: menu w jednej linii — wyszukiwarka nagłówka ustępuje miejsca (lupa w menu mobilnym, strona /?s=) */
@media (min-width: 981px) and (max-width: 1240px) {
	.bo4-header .et_pb_column:has(.bo3-search-pill) { display: none; }
	.bo4-header .et_pb_column:has(.bo4-menu) { flex: 1 1 auto; max-width: none; }
}
/* Wyszukiwarka nagłówka (makieta 02: linia z lupą) — przycisk z ikoną zamiast napisu */
.bo3-search-pill .et_pb_searchsubmit { width: 40px; background: url(../icons/szukaj.svg) center / 16px no-repeat; border: 0; }
.bo4-search-hero .et_pb_searchsubmit { width: 60px; background: #1B3A29 url(../icons/szukaj-bialy.svg) center / 20px no-repeat; border: 0; }

/* Karta: cała klikalna (jeden link w drzewie — tytuł), stan najechania */
.bo3-card { position: relative; }
.bo3-card .bo3-title, .bo3-card .bo3-title .et_pb_blurb_content, .bo3-card .bo3-title .et_pb_blurb_container { position: static; }
.bo3-card .bo3-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bo3-card .bo3-title a { text-decoration: none; }
.bo3-card:hover .bo3-title a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bo4-pcard, .bo4-rcard { transition: box-shadow .2s ease, transform .2s ease; }
.bo4-pcard:hover, .bo4-rcard:hover { box-shadow: 0 14px 30px rgba(30, 42, 33, .11); transform: translateY(-2px); }
.bo3-ttl .et_pb_blurb_content { max-width: none; }

/* Pigułki kategorii: aktywna = bieżąca kategoria; telefon — jeden przewijany wiersz (makiety 05, 06) */
/* tytuł Blurba (napis pigułki) ma w motywie Divi padding-bottom 10 px dla nagłówków, a moduł nie ma ustawienia odstępu tytułu —
   bez tej reguły napis stoi 5 px wyżej niż ikona */
.bo4-chip .et_pb_module_header { padding-bottom: 0; }
.bo4-chip.is-active { background-color: #1F4A2F !important; border-color: #1F4A2F !important; }
.bo4-chip.is-active .et_pb_module_header, .bo4-chip.is-active .et_pb_module_header a { color: #fff !important; }
.bo4-chip.is-active .bo41-chip-ico img { filter: brightness(0) invert(1); }
@media (max-width: 767px) {
	.bo4-chips, .bo4-mcats { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; scrollbar-width: none; }
	.bo4-chips::-webkit-scrollbar, .bo4-mcats::-webkit-scrollbar { display: none; }
	.bo4-chips > *, .bo4-mcats > * { flex: 0 0 auto; }
	/* 06: dwie karty „Powiązanych” obok siebie; pętla Divi ma jedną liczbę elementów dla wszystkich urządzeń (3 na komputerze) */
	.bo4-related > :nth-child(n+3) { display: none; }
}

/* Baner w archiwum (makieta 02): zdjęcie przechodzi w tło baneru */
.bo4-banner-img { position: relative; }
.bo4-banner-img::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 45%; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #EFECE4, rgba(239, 236, 228, 0)); }

/* Ozdoby: nie przechwytują kliknięć, pod treścią */
.bo4-deco { pointer-events: none; }
.bo4-hero .et_pb_row, .bo4-newsletter .et_pb_row, .bo4-footer .et_pb_row, .bo4-info-sec .et_pb_row { position: relative; z-index: 1; }

/* Zdjęcia w kółku (awatary) */
.bo3-avatar img { aspect-ratio: 1; object-fit: cover; } /* zaokrąglenie w module; zdjęcia profilowe bywają prostokątne */

/* Panel boczny wpisu i spis treści przyklejone przy przewijaniu */
@media (min-width: 981px) { .bo4-sidebar { position: sticky !important; top: 110px; align-self: flex-start; } }

/* 3. treść artykułów z bazy (stare wpisy) */
.bo-prose { overflow-wrap: anywhere; }
.bo-prose h2, .bo-prose h3, .bo-prose h4 { scroll-margin-top: 130px; margin: 1.5em 0 .6em; }
.bo-prose h2 a, .bo-prose h3 a { color: inherit; text-decoration: none; }
.bo-prose [style*="color"] { color: inherit !important; }
.bo-prose p { margin-bottom: 1.1em; }
.bo-prose a { color: #1B3A29; text-decoration: underline; text-underline-offset: 3px; }
.bo-prose img { height: auto; max-width: 100%; border-radius: 6px; }
.bo-prose .wp-caption { max-width: 100% !important; width: auto !important; margin-bottom: 1.4em; }
.bo-prose .wp-caption-text, .bo-prose figcaption { font-size: 12.5px; line-height: 1.45; color: #6A7067; margin-top: 6px; }
.bo-prose .alignright, .bo-prose .alignleft { max-width: 42%; }
.bo-prose .alignright { float: right; margin: 6px 0 16px 26px; }
.bo-prose .alignleft { float: left; margin: 6px 26px 16px 0; }
.bo-prose .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.bo-prose::after { content: ""; display: table; clear: both; }
.bo-prose iframe { max-width: 100%; aspect-ratio: 16 / 9; height: auto; width: 100%; border: 0; }
.bo-prose ul { list-style: none; padding-left: 0; }
.bo-prose ul li { position: relative; padding-left: 24px; margin-bottom: .45em; }
.bo-prose ul li::before { content: ""; position: absolute; left: 4px; top: .65em; width: 7px; height: 7px; border-radius: 50%; background: #5F7349; }
.bo-prose ol { padding-left: 1.4em; }
.bo-prose ol li::marker { color: #4F7A4C; font-weight: 700; }
.bo-prose blockquote { border: 0; border-radius: 8px; background: #EEF1E4; padding: 18px 22px 18px 64px; font-style: normal; position: relative; }
.bo-prose blockquote::before { content: ""; position: absolute; left: 20px; top: 18px; width: 30px; height: 30px; border-radius: 50%; background: #DCE3CA url(../icons/lisc.svg) center / 16px no-repeat; }
.bo-prose .bo-strong-p { font-weight: 600; color: #1E2A21; }
.bo-prose .wp-block-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 1.6em; }
.bo-prose .wp-block-gallery figure { margin: 0; }
.bo-prose .wp-block-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* numerowane śródtytuły (makieta 03): klasa bo-step dodawana w PHP do prawdziwych śródtytułów */
.bo4-prose { counter-reset: bostep; }
.bo4-prose .bo-step { counter-increment: bostep; position: relative; padding-left: 46px; clear: both; }
.bo4-prose .bo-step::before { content: counter(bostep); position: absolute; left: 0; top: .05em; width: 32px; height: 32px; border-radius: 50%; background: #4F7A4C; color: #fff; font: 600 15px/32px "Source Serif 4", serif; text-align: center; }
@media (max-width: 767px) {
	/* V4.4: na telefonie zdjęcia ze starych wpisów nad/pod tekstem (zamiast opływania) — bez wąskich, poszarpanych kolumn tekstu */
	.bo-prose .alignright, .bo-prose .alignleft { float: none; width: 100%; max-width: 100%; margin: 4px 0 18px; }
	.bo-prose .wp-caption img { width: 100%; }
	.bo-prose .wp-block-gallery { grid-template-columns: repeat(2, 1fr); }
	.bo4-prose .bo-step { padding-left: 0; }
	.bo4-prose .bo-step::before { display: none; } /* makieta 06: śródtytuły bez numerów */
}

/* Spis treści (natywny moduł): numery w kółkach jak w makiecie 03; telefon — dwie kolumny (06) */
.bo-toc ol, .bo-toc ul { list-style: none; counter-reset: botoc; padding: 0 !important; margin: 14px 0 0 !important; }
.bo-toc ol ol { margin: 8px 0 0 30px !important; }
.bo-toc li { counter-increment: botoc; position: relative; padding-left: 32px; margin-bottom: 10px; line-height: 1.4; }
.bo-toc ol ol li { padding-left: 0; }
.bo-toc li::before { content: counter(botoc); position: absolute; left: 0; top: -1px; width: 22px; height: 22px; border-radius: 50%; background: #4F7A4C; color: #fff; font: 600 11px/22px "Plus Jakarta Sans", sans-serif; text-align: center; }
.bo-toc ol ol li::before { display: none; }
.bo-toc a { text-decoration: none; }
.bo-toc a:hover { text-decoration: underline; }
.bo4-toc--m ol { columns: 2; column-gap: 18px; }
.bo4-toc--m li { break-inside: avoid; }

/* 4. numery stron (wp_pagenavi w module Post Navigation) — makieta 02 */
.bo-pager .wp-pagenavi, .bo4-pager-wrap .wp-pagenavi { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.bo4-pager-wrap .wp-pagenavi a, .bo4-pager-wrap .wp-pagenavi span { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #E2DED2; border-radius: 4px; background: #FBFAF6; color: #1E2A21; text-decoration: none; font: 600 14px/1 "Plus Jakarta Sans", sans-serif; }
.bo4-pager-wrap .wp-pagenavi .current { background: #1F4A2F; border-color: #1F4A2F; color: #fff; }
/* moduł Post Navigation (Divi 5.13) nadaje kolor linków z !important także bieżącemu numerowi (span.current) i nie ma osobnego
   ustawienia dla aktywnej strony — bez tej reguły numer jest ciemny na ciemnym tle */
.bo4-pager-wrap .bo-pager .wp-pagenavi span.current { color: #fff !important; }
.bo4-pager-wrap .wp-pagenavi a:hover { border-color: #1F4A2F; }
.bo4-pager-wrap .wp-pagenavi .dots { border: 0; background: transparent; min-width: 0; }
@media (max-width: 767px) { /* 05: numery 1–5 i strzałka w jednym wierszu na telefonie */
	.bo-pager .wp-pagenavi, .bo4-pager-wrap .wp-pagenavi { gap: 5px; flex-wrap: nowrap; }
	.bo4-pager-wrap .wp-pagenavi a, .bo4-pager-wrap .wp-pagenavi span { min-width: 34px; height: 34px; padding: 0 6px; font-size: 13px; }
}
@media (max-width: 380px) { /* 320 px: „← 1 2 3 4 5 … 8 →” (9 pozycji) mieści się w wierszu */
	.bo-pager .wp-pagenavi, .bo4-pager-wrap .wp-pagenavi { gap: 3px; }
	.bo4-pager-wrap .wp-pagenavi a, .bo4-pager-wrap .wp-pagenavi span { min-width: 28px; height: 32px; padding: 0 4px; }
}

/* Numery pozycji: „Najczęściej czytane” 01–05 i poradniki 1–4 (pętla Divi nie podaje numeru elementu) */
.bo3-pop { counter-reset: bo3pop; }
.bo3-popitem { counter-increment: bo3pop; }
.bo3-popitem:last-child { border-bottom: 0 !important; }
.bo3-popitem .bo3-num::before { content: counter(bo3pop, decimal-leading-zero); }
.bo3-guides { counter-reset: bo3guide; }
.bo3-guide, .bo3-grow { counter-increment: bo3guide; }
.bo3-guide .bo3-media::before { content: counter(bo3guide); position: absolute; z-index: 2; top: 10px; left: 10px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #DCE3CA; color: #1E2A21; font: 500 15px/1 "Source Serif 4", serif; }
.bo3-grow .bo3-num::before { content: counter(bo3guide); }
.bo3-numcircle p { width: 36px; height: 36px; border-radius: 50%; margin: 0; display: flex; align-items: center; justify-content: center; background: #5F7349; color: #fff; font: 500 15px/1 "Source Serif 4", serif; }
.bo3-lrow:last-child, .bo3-grow:last-child, .bo4-srow:last-child { border-bottom: 0 !important; }
@media (min-width: 981px) {
	.bo3-latest--home > .bo3-acard:not(:last-child)::after { content: ""; position: absolute; top: 0; bottom: 0; right: -15px; border-right: 1px solid #E5E2D5; pointer-events: none; }
}

/* Pusty wynik wyszukiwania (pole bo_search_empty) */
.bo4-empty:empty, .bo4-empty .et_pb_text_inner > div:empty { display: none; }
.bo-empty { background: #FBFAF6; border: 1px solid #ECE8DE; border-radius: 6px; padding: 28px; text-align: center; }
.bo-empty__over { font: 700 11px/1.4 "Plus Jakarta Sans", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #5E6B52; }
.bo-empty h2 { font: 500 30px/1.2 "Source Serif 4", serif; color: #1E2A21; margin: 6px 0 10px; }
.bo-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.bo-pill { padding: 8px 16px; border-radius: 40px; background: #F1EEE6; text-decoration: none; color: #1E2A21; font: 500 13.5px/1.2 "Plus Jakarta Sans", sans-serif; }

/* 5. formularze: pułapka na boty, etykiety tylko dla czytników, newsletter (pole i przycisk w jednym wierszu) */
.bo-site [data-id="bo_www"] { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.bo3-nlform .et_pb_contact_field_options_title, .bo4-cform .et_pb_contact_field_options_title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bo3-nlform .et_pb_contact_form { display: grid !important; grid-template-columns: 1fr auto; align-items: start; }
.bo3-nlform .et_pb_contact_form > [data-id="email"] { grid-column: 1; grid-row: 1; margin: 0 !important; }
.bo3-nlform .et_pb_contact_form > [data-id="zgoda_newsletter"] { grid-column: 1 / -1; grid-row: 2; margin: 12px 0 0 !important; }
.bo3-nlform .et_contact_bottom_container { grid-column: 2; grid-row: 1; margin: 0 !important; float: none !important; }
.bo3-nlform .et_pb_contact_submit { margin: 0 !important; height: 100%; }
.bo3-nlform .et-pb-contact-message { grid-column: 1 / -1; }
.bo3-nlform--light .et_pb_contact_field_checkbox label, .bo3-nlform--light .et_pb_contact_field_checkbox a { color: #E3E9DB !important; }
/* kolumna newslettera w stopce: pole i przycisk w jednym wierszu (makieta 02) */
.bo4-cform .et_pb_contact_form { display: grid; grid-template-columns: 1fr; }
.bo4-cform .et_contact_bottom_container { float: none !important; margin: 4px 0 0 !important; }
.bo4-cform .et_pb_contact_submit { width: 100%; margin: 0 !important; }
@media (max-width: 767px) { .bo3-nlform .et_pb_contact_form > [data-id="zgoda_newsletter"] { margin-top: 8px !important; } .bo3-nlform .et_pb_contact_submit { padding-left: 14px !important; padding-right: 14px !important; } } /* makieta 04: pole i przycisk w jednym wierszu także na telefonie */


/* Edytor Divi: miejsca reklamowe i sekcje ukryte na danej stronie widoczne do edycji */
body.et-fb [hidden] { display: block !important; opacity: .5; }

/* 404 (makieta 10): wieniec za liczbą */
.bo4-404 { min-height: 200px; justify-content: center; }
.bo4-404num { position: relative; z-index: 1; }
.bo4-wreath { left: 50% !important; transform: translateX(-50%); }
