/* E-wędrówki – style całego serwisu (prefiks ew-) */
:root {
	--ew-forest: #1E3D2F;
	--ew-forest-dk: #132A20;
	--ew-lake: #2B6CA3;
	--ew-lake-soft: #E4EEF6;
	--ew-ochre: #B8732A;
	--ew-ochre-soft: #F6EAD9;
	--ew-paper: #F3EEDF;
	--ew-ink: #15201A;
	--ew-muted: #4F5B52;
	--ew-line: #DCD5C2;
	--font-sans: 'Noto Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-head: 'Work Sans', 'Noto Sans', system-ui, sans-serif;
}
body { font-family: var(--font-sans); color: var(--ew-ink); }
h1, h2, h3, h4, .entry-title, .post-header__title, .post-card__title, .site-branding__name, .footer-brand__name { font-family: var(--font-head); letter-spacing: -.015em; }

/* Nagłówek: pasek znaku szlaku (biały–niebieski–biały) */
.site-header { position: relative; border-bottom: 0; }
.site-header::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 6px; z-index: 2;
	background: linear-gradient(#fff 0 2px, var(--ew-lake) 2px 4px, #fff 4px 6px);
	box-shadow: 0 1px 0 var(--ew-line);
}
.primary-nav .menu { gap: .2rem; flex-wrap: nowrap; }
.primary-nav .menu > li > a {
	font-family: var(--font-head); font-weight: 600; font-size: .95rem; white-space: nowrap; padding: .5rem .65rem;
	border-bottom: 2px dashed transparent;
}
.primary-nav .menu > li > a:hover,
.primary-nav .menu > li.current-menu-item > a,
.primary-nav .menu > li.current-category-ancestor > a { border-bottom-color: var(--ew-ochre); color: var(--ew-forest); }

/* Karty wpisów motywu: ostre rogi, twardy cień przesunięty */
.post-card { border-radius: 2px; border: 1px solid var(--ew-line); box-shadow: none; transition: transform .15s, box-shadow .15s; }
.post-card:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--ew-forest); }
.post-card__thumbnail-link img { border-radius: 0; }

/* Treść wpisów */
.entry-content h2 { position: relative; padding-left: 1.1rem; }
.entry-content h2::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 8px; height: .9em;
	background: linear-gradient(#fff 0 30%, var(--ew-lake) 30% 70%, #fff 70%); outline: 1px solid var(--ew-line);
}
.entry-content a { color: var(--ew-lake); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content table { border-collapse: collapse; width: 100%; font-size: .95em; }
.entry-content th { background: var(--ew-forest); color: #fff; text-align: left; }
.entry-content th, .entry-content td { padding: .5rem .7rem; border: 1px solid var(--ew-line); }
.entry-content tr:nth-child(even) td { background: var(--ew-paper); }
.entry-content figcaption, .wp-caption-text { font-size: .85rem; color: var(--ew-muted); border-left: 3px solid var(--ew-ochre); padding-left: .6rem; }
.entry-content blockquote { border-left: 4px solid var(--ew-lake); background: var(--ew-lake-soft); padding: .8rem 1rem; margin-left: 0; }
.breadcrumb { font-size: .85rem; }
.breadcrumb__sep { color: var(--ew-ochre); }

/* Przyciski i formularz kontaktowy */
.ew-btn, .ew-form button {
	display: inline-block; background: var(--ew-lake); color: #fff; border: 2px solid var(--ew-lake); border-radius: 2px;
	padding: .6rem 1.2rem; font-weight: 700; font-family: var(--font-head); text-decoration: none; cursor: pointer;
}
.ew-btn:hover, .ew-form button:hover { background: var(--ew-forest); border-color: var(--ew-forest); color: #fff; }
.ew-form input, .ew-form textarea { width: 100%; max-width: 560px; padding: .6rem; border: 1px solid var(--ew-line); border-radius: 2px; font: inherit; }
.ew-form__rodo { font-size: .88em; color: var(--ew-muted); }

/* Stopka: leśna z warstwicami */
.site-footer {
	background-color: var(--ew-forest-dk); color: #E8EFE9;
	background-image: repeating-radial-gradient(circle at 85% 10%, transparent 0 22px, rgba(255,255,255,.05) 22px 23px);
}
.site-footer a { color: #E8EFE9; }
.site-footer a:hover { color: #F2C98F; }
.footer-col__title { color: #F2C98F; }

@media (max-width: 1100px) {
	.primary-nav .menu > li > a { padding: .45rem .45rem; font-size: .9rem; }
}

/* Kategorie: nagłówek działu i FAQ */
.ew-cat-header { border-left: 6px solid var(--ew-lake); padding-left: 1rem; }
.ew-cat-header__eyebrow { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ew-ochre); }
.ew-cat-intro p { color: var(--ew-muted); max-width: 760px; }
.ew-cat-header__count { font-size: .85rem; font-weight: 700; color: var(--ew-forest); }
.ew-cat-faq { margin-top: 2.5rem; padding: 1.4rem; background: var(--ew-paper); border: 1px dashed var(--ew-forest); border-radius: 2px; }
.ew-cat-faq h2 { font-size: 1.3rem; margin-top: 0; }
.ew-cat-faq details { border-top: 1px solid var(--ew-line); padding: .7rem 0; }
.ew-cat-faq summary { font-weight: 700; cursor: pointer; }
.ew-cat-empty { padding: 1rem; background: var(--ew-lake-soft); }

/* Oceny wpisów */
.ew-rate { margin: 2rem 0 1rem; padding: 1rem 1.2rem; border: 2px solid var(--ew-forest); border-radius: 2px; display: grid; gap: .3rem; }
.ew-rate__q { margin: 0; font-weight: 700; font-family: var(--font-head); }
.ew-rate__stars button { background: none; border: 0; font-size: 1.7rem; line-height: 1; color: var(--ew-line); cursor: pointer; padding: 0 .1rem; }
.ew-rate__stars button.is-on { color: var(--ew-ochre); }
.ew-rate.is-done .ew-rate__stars button { cursor: default; }
.ew-rate__sum { margin: 0; font-size: .9rem; color: var(--ew-muted); }
.ew-photo-credit { font-size: .82rem; color: var(--ew-muted); border-top: 1px dashed var(--ew-line); padding-top: .6rem; }