/* Działy poradnikowe obozy-dla-dzieci.pl. Kolory i fonty motywu: granat #0a3a75, pomarańcz #ff8500, McLaren + Montserrat. */
.ozd-dz {
	--ozd-granat: #0a3a75;
	--ozd-pomarancz: #ff8500;
	--ozd-pomarancz-ciemny: #b35900;
	--ozd-niebieski: #2ea3f2;
	--ozd-tlo: #f5f8fc;
	--ozd-ramka: #dde5ef;
	--ozd-tekst: #2b2f36;
	--ozd-szary: #5b6470;
	background: #fff;
	color: var(--ozd-tekst);
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
}
.ozd-dz__wrap { max-width: 880px; margin: 0 auto; padding: 32px 20px 64px; }
.ozd-dz h1, .ozd-dz h2, .ozd-dz h3 { font-family: 'McLaren', 'Montserrat', sans-serif; color: var(--ozd-granat); font-weight: 700; line-height: 1.25; padding: 0; }
.ozd-dz h1 { font-size: 40px; margin: 8px 0 8px; }
.ozd-dz h2 { font-size: 28px; margin: 44px 0 14px; }
.ozd-dz h3 { font-size: 20px; margin: 0 0 8px; }
.ozd-dz p { margin: 0 0 14px; padding: 0; }
.ozd-dz a { color: var(--ozd-granat); text-decoration: underline; text-decoration-color: var(--ozd-pomarancz); text-underline-offset: 3px; }
.ozd-dz a:hover { color: var(--ozd-pomarancz-ciemny); }
.ozd-dz__ikona { flex: 0 0 auto; width: 24px; height: 24px; }

.ozd-dz__okruszki ol { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; font-size: 15px; color: var(--ozd-szary); }
.ozd-dz__okruszki li { padding: 0; }
.ozd-dz__okruszki li + li::before { content: "›"; margin: 0 6px 0 2px; color: var(--ozd-szary); }
.ozd-dz__okruszki a { color: var(--ozd-szary); text-decoration: none; }
.ozd-dz__okruszki a:hover { color: var(--ozd-granat); text-decoration: underline; }
.ozd-dz__meta { color: var(--ozd-szary); font-size: 15px; }

.ozd-dz__ramka { display: flex; gap: 14px; background: #fff7ee; border: 2px solid var(--ozd-pomarancz); border-radius: 14px; padding: 18px 20px; margin: 18px 0 24px; }
.ozd-dz__ramka .ozd-dz__ikona { color: var(--ozd-pomarancz); margin-top: 3px; }
.ozd-dz__ramka p { margin: 0; }
.ozd-dz__ramka .ozd-dz__ramka-tytul { font-weight: 700; color: var(--ozd-granat); margin-bottom: 4px; }

.ozd-dz #toc_container { display: block; width: auto; background: var(--ozd-tlo); border: 0; border-radius: 14px; padding: 18px 22px; margin: 24px 0; font-size: 17px; }
.ozd-dz #toc_container .toc_title { text-align: left; font-weight: 700; color: var(--ozd-granat); margin: 0 0 6px; padding: 0; font-size: 17px; }
.ozd-dz #toc_container .toc_list { counter-reset: ozdtoc; list-style: none; margin: 0; padding: 0; }
.ozd-dz #toc_container .toc_list li { counter-increment: ozdtoc; position: relative; background: none; margin: 0; padding: 3px 0 3px 28px; list-style: none; }
.ozd-dz #toc_container .toc_list li::before { content: counter(ozdtoc) "."; position: absolute; left: 0; top: 3px; color: var(--ozd-granat); }
.ozd-dz #toc_container .toc_list a { color: var(--ozd-granat); text-decoration: underline; text-decoration-color: var(--ozd-pomarancz); text-underline-offset: 3px; }
.ozd-dz #toc_container .toc_list a:hover { color: var(--ozd-pomarancz-ciemny); }
.ozd-dz h2 span[id] { scroll-margin-top: 100px; }

.ozd-dz__sekcja { scroll-margin-top: 90px; }
/* Kafle: numer, opis, a na dole ramka z cechami (etykieta | wartość). */
.ozd-dz__kafle { counter-reset: ozdkafel; display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; margin: 20px 0; align-items: start; }
.ozd-dz__kafel { counter-increment: ozdkafel; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ozd-ramka); border-radius: 16px; padding: 20px 22px 18px; box-shadow: 0 4px 16px rgba(10, 58, 117, 0.06); }
.ozd-dz .ozd-dz__kafel h3 { display: flex; align-items: flex-start; gap: 12px; font-size: 20px; margin: 0 0 10px; }
.ozd-dz__kafel h3::before { content: counter(ozdkafel); flex: 0 0 32px; height: 32px; margin-top: -3px; border-radius: 50%; background: var(--ozd-pomarancz); color: #1d1300; font: 700 16px/32px 'Montserrat', sans-serif; text-align: center; }
.ozd-dz__kafel p { margin: 0 0 14px; font-size: 16px; }
.ozd-dz__cechy { margin: 0; background: var(--ozd-tlo); border-radius: 10px; padding: 2px 14px; }
.ozd-dz__cechy div { display: grid; grid-template-columns: minmax(96px, 38%) 1fr; gap: 10px; padding: 8px 0; border-top: 1px solid var(--ozd-ramka); font-size: 15px; line-height: 1.45; }
.ozd-dz__cechy div:first-child { border-top: 0; }
.ozd-dz__cechy dt { color: var(--ozd-szary); font-weight: 600; }
.ozd-dz__cechy dd { margin: 0; color: var(--ozd-tekst); }

.ozd-dz__tabela-wrap { overflow-x: auto; margin: 18px 0; }
.ozd-dz__tabela { width: 100%; border-collapse: collapse; font-size: 16px; border: 0; }
.ozd-dz__tabela caption { text-align: left; font-weight: 600; color: var(--ozd-szary); padding-bottom: 8px; }
.ozd-dz__tabela th, .ozd-dz__tabela td { border: 1px solid var(--ozd-ramka); padding: 10px 12px; text-align: left; vertical-align: top; }
.ozd-dz__tabela thead th { background: var(--ozd-granat); color: #fff; }
.ozd-dz__tabela tbody th { background: var(--ozd-tlo); color: var(--ozd-granat); }

.ozd-dz__kroki { counter-reset: krok; list-style: none; padding: 0; margin: 18px 0; }
.ozd-dz__kroki li { counter-increment: krok; position: relative; padding: 0 0 12px 54px; margin: 0 0 12px; scroll-margin-top: 90px; }
.ozd-dz__kroki li::before { content: counter(krok); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--ozd-pomarancz); color: #1d1300; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.ozd-dz__kroki p { margin: 0; }
.ozd-dz__krok-nazwa { font-weight: 700; color: var(--ozd-granat); }

.ozd-dz__porady { list-style: none; padding: 0; margin: 18px 0; }
.ozd-dz__porady li { display: flex; gap: 10px; background: var(--ozd-tlo); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.ozd-dz__porady .ozd-dz__ikona { color: var(--ozd-pomarancz); }

/* Baner CTA (na górze strony, opcjonalnie powtórzony na dole). */
.ozd-dz__cta { display: grid; grid-template-columns: 56px 1fr; gap: 14px 18px; align-items: center; background: linear-gradient(135deg, #0a3a75 0%, #11539f 100%); color: #fff; border-radius: 16px; padding: 22px 24px; margin: 20px 0 26px; box-shadow: 0 8px 24px rgba(10, 58, 117, 0.18); }
.ozd-dz__cta--dol { margin-top: 40px; }
.ozd-dz__cta-ikona { width: 56px; height: 56px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); display: flex; align-items: center; justify-content: center; color: var(--ozd-pomarancz); }
.ozd-dz__cta-ikona .ozd-dz__ikona { width: 30px; height: 30px; }
.ozd-dz .ozd-dz__cta p { margin: 0; color: #e8f0fb; }
.ozd-dz .ozd-dz__cta .ozd-dz__cta-tytul { font-family: 'McLaren', 'Montserrat', sans-serif; font-size: 22px; line-height: 1.3; color: #fff; margin: 0 0 4px; }
.ozd-dz__cta-przyciski { grid-column: 2; display: flex; flex-wrap: wrap; gap: 10px; }
.ozd-dz .ozd-dz__przycisk { display: inline-flex; align-items: center; gap: 8px; background: var(--ozd-pomarancz); color: #1d1300; font-weight: 700; text-decoration: none; border: 2px solid var(--ozd-pomarancz); border-radius: 999px; padding: 10px 20px; line-height: 1.3; }
.ozd-dz .ozd-dz__przycisk:hover { background: #ffa033; border-color: #ffa033; color: #1d1300; }
.ozd-dz .ozd-dz__przycisk--drugi { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.65); }
.ozd-dz .ozd-dz__przycisk--drugi:hover { background: rgba(255, 255, 255, 0.12); border-color: #fff; color: #fff; }

.ozd-dz__faq-el { border-bottom: 1px solid var(--ozd-ramka); padding: 14px 0; scroll-margin-top: 90px; }
.ozd-dz__faq-el h3 { font-size: 18px; }
.ozd-dz__faq-el p { margin: 0; }

.ozd-dz__inne-lista, .ozd-dz__sprawdz ul { list-style: none; padding: 0; margin: 12px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.ozd-dz__inne-lista a, .ozd-dz__sprawdz a { display: block; height: 100%; box-sizing: border-box; background: var(--ozd-tlo); border-radius: 10px; padding: 12px 14px; text-decoration: none; font-weight: 600; }
.ozd-dz__inne-lista a:hover, .ozd-dz__sprawdz a:hover { background: #e8eef7; }
.ozd-dz__sprawdz-dzial { font-weight: 700; color: var(--ozd-szary); margin: 16px 0 0 !important; }

/* Spis */
.ozd-dz__szukajka { display: flex; align-items: center; gap: 10px; border: 2px solid var(--ozd-granat); border-radius: 999px; padding: 6px 18px; margin: 20px 0 8px; background: #fff; }
.ozd-dz__szukajka .ozd-dz__ikona { color: var(--ozd-granat); }
.ozd-dz__szukajka input { border: 0; outline: 0; flex: 1; font-size: 18px; padding: 8px 0; background: transparent; color: var(--ozd-tekst); font-family: inherit; }
.ozd-dz__brak { color: var(--ozd-szary); }
.ozd-dz__spis { list-style: none; padding: 0; margin: 12px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.ozd-dz__spis a { display: flex; flex-direction: column; gap: 2px; height: 100%; box-sizing: border-box; border: 1px solid var(--ozd-ramka); border-left: 4px solid var(--ozd-pomarancz); border-radius: 10px; padding: 12px 14px; text-decoration: none; background: #fff; }
.ozd-dz__spis a:hover { border-color: var(--ozd-granat); border-left-color: var(--ozd-pomarancz); }
.ozd-dz__spis-nazwa { font-weight: 700; color: var(--ozd-granat); }
.ozd-dz__spis-werdykt { font-size: 15px; color: var(--ozd-szary); }
.ozd-dz .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 767px) {
	.ozd-dz { font-size: 16px; }
	.ozd-dz__wrap { padding: 20px 16px 48px; }
	.ozd-dz h1 { font-size: 28px; }
	.ozd-dz h2 { font-size: 23px; }
	.ozd-dz h3 { font-size: 18px; }
	/* Na telefonie nic poniżej 16 px. */
	.ozd-dz__okruszki ol, .ozd-dz__meta, .ozd-dz__cechy div, .ozd-dz__spis-werdykt, .ozd-dz__tabela, .ozd-dz__kafel p { font-size: 16px; }
	.ozd-dz__kafle { grid-template-columns: 1fr; }
	.ozd-dz__cechy div { grid-template-columns: 1fr; gap: 0; }
	.ozd-dz__kroki li { padding-left: 48px; }
	.ozd-dz__cta { grid-template-columns: 1fr; padding: 20px 18px; }
	.ozd-dz__cta-ikona { display: none; }
	.ozd-dz__cta-przyciski { grid-column: 1; }
	.ozd-dz .ozd-dz__przycisk { flex: 1 1 100%; justify-content: center; }
	/* Tabele jako karty: wiersz = blok, komórka z etykietą kolumny. */
	.ozd-dz__tabela, .ozd-dz__tabela tbody, .ozd-dz__tabela tr, .ozd-dz__tabela th, .ozd-dz__tabela td { display: block; width: auto; }
	.ozd-dz__tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ozd-dz__tabela tr { border: 1px solid var(--ozd-ramka); border-radius: 10px; margin-bottom: 12px; overflow: hidden; }
	.ozd-dz__tabela th, .ozd-dz__tabela td { border: 0; }
	.ozd-dz__tabela td { border-top: 1px solid var(--ozd-ramka); }
	.ozd-dz__tabela td[data-etykieta]:not([data-etykieta=""])::before { content: attr(data-etykieta); display: block; font-weight: 600; color: var(--ozd-szary); }
}

/* Odstęp pod stałym menu Divi (JS motywu nadpisuje go dokładną wysokością na desktopie). */
.ozd-dz-strona #page-container { padding-top: 80px; }
/* CSS motywu ustawia section{display:block}, co przebija atrybut hidden. */
.ozd-dz [hidden] { display: none !important; }

/* Strona zbiorcza działów */
.ozd-dz__zbiorcza { list-style: none; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ozd-dz__zbiorcza a { display: flex; flex-direction: column; gap: 8px; height: 100%; box-sizing: border-box; border: 1px solid var(--ozd-ramka); border-top: 5px solid var(--ozd-pomarancz); border-radius: 14px; padding: 18px 20px; text-decoration: none; background: #fff; color: var(--ozd-tekst); }
.ozd-dz__zbiorcza a:hover { border-color: var(--ozd-granat); border-top-color: var(--ozd-pomarancz); }
.ozd-dz__zbiorcza-tytul { font-family: 'McLaren', 'Montserrat', sans-serif; font-size: 21px; color: var(--ozd-granat); font-weight: 700; }
.ozd-dz__zbiorcza-ile { margin-top: auto; font-weight: 600; color: var(--ozd-pomarancz-ciemny); }

/* Na stronach budowanych w Divi (np. lista kierunków dopięta do /wycieczki-szkolne/) motyw nadaje listom kropki i wcięcia. */
.ozd-dz ul.ozd-dz__spis, .ozd-dz ul.ozd-dz__inne-lista, .ozd-dz ul.ozd-dz__porady, .ozd-dz ol.ozd-dz__kroki, .ozd-dz ul.ozd-dz__zbiorcza { list-style: none !important; padding-left: 0 !important; padding-bottom: 0; }
.ozd-dz ul.ozd-dz__spis > li, .ozd-dz ul.ozd-dz__zbiorcza > li { list-style: none !important; }
.ozd-dz--rodzic { padding-top: 8px; }
