/* E-wędrówki – strona główna */
.ew-home { overflow-x: hidden; }
.ew-home *, .ew-home *::before, .ew-home *::after { box-sizing: border-box; }
.ew-home h1, .ew-home h2, .ew-home h3 { margin: 0 0 .6rem; }
.ew-sec { padding: 3.2rem 0; }
.ew-head { margin-bottom: 1.6rem; max-width: 760px; }
.ew-head h2 { font-size: clamp(1.45rem, 2.6vw, 2rem); display: flex; align-items: center; gap: .6rem; }
.ew-head h2::before { content: ""; flex: 0 0 18px; height: 18px; border: 3px solid var(--ew-ochre); border-radius: 50%; }
.ew-head p { color: var(--ew-muted); margin: 0; }
.ew-tag { display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #F2C98F; margin: 0 0 .7rem; }
.ew-tag--dark { color: var(--ew-ochre); }
.ew-cat { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ew-ochre); margin: 0 0 .25rem; }
.ew-noimg { display: block; aspect-ratio: 4/3; background: var(--ew-paper) repeating-linear-gradient(45deg, transparent 0 8px, rgba(30,61,47,.06) 8px 9px); }

/* 1. Hero z mapą */
.ew-top {
	background-color: var(--ew-forest); color: #fff; padding: 3rem 0 3.4rem;
	background-image: repeating-radial-gradient(ellipse at 20% 120%, transparent 0 26px, rgba(255,255,255,.06) 26px 27px);
}
.ew-top__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 2.5rem; align-items: center; }
.ew-top h1 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.12; color: #fff; }
.ew-top__lead { font-size: 1.08rem; color: #DCE7DF; max-width: 520px; }
.ew-find { display: flex; margin: 1.4rem 0 1.2rem; max-width: 520px; border: 2px solid #fff; border-radius: 2px; background: #fff; }
.ew-find input { flex: 1; min-width: 0; border: 0; padding: .8rem 1rem; font: inherit; color: var(--ew-ink); }
.ew-find button { border: 0; background: var(--ew-ochre); color: #fff; font-weight: 700; padding: 0 1.3rem; cursor: pointer; font-family: var(--font-head); }
.ew-find button:hover { background: #9A5F20; }
.ew-modes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.ew-modes a { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .9rem; border: 1px dashed rgba(255,255,255,.6); color: #fff; text-decoration: none; font-weight: 600; border-radius: 2px; }
.ew-modes a:hover { background: rgba(255,255,255,.1); border-style: solid; }
.ew-modes svg { width: 20px; height: 20px; fill: none; stroke: #F2C98F; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ew-modes small { background: rgba(255,255,255,.15); padding: 0 .4rem; font-size: .75rem; }
.ew-map { margin: 0; background: var(--ew-paper); color: var(--ew-ink); padding: .8rem; border-radius: 2px; box-shadow: 8px 8px 0 var(--ew-forest-dk); }
.ew-map svg { width: 100%; height: auto; display: block; }
.ew-map__land { fill: #E6DEC6; stroke: var(--ew-forest); stroke-width: 2; stroke-dasharray: 6 4; }
.ew-map__water { fill: #A9C8E2; }
.ew-map__lbl { font-size: 13px; fill: var(--ew-lake); font-style: italic; }
.ew-map__pt { cursor: pointer; outline: none; }
.ew-map__pt circle { fill: #fff; stroke: var(--ew-ochre); stroke-width: 3; transition: r .15s; }
.ew-map__pt text { font-size: 12px; font-weight: 700; fill: var(--ew-forest-dk); paint-order: stroke; stroke: #F3EEDF; stroke-width: 3px; }
.ew-map__pt:hover circle, .ew-map__pt:focus circle, .ew-map__pt.is-on circle { fill: var(--ew-ochre); r: 9; }
.ew-map__card { border-top: 2px dashed var(--ew-line); margin-top: .5rem; padding-top: .6rem; min-height: 6.2rem; }
.ew-map__card div { display: grid; gap: .2rem; }
.ew-map__card strong { font-family: var(--font-head); color: var(--ew-forest); }
.ew-map__card a { color: var(--ew-lake); font-weight: 700; }
.ew-map__card small { display: block; margin-top: .4rem; color: var(--ew-muted); font-size: .75rem; }

/* 2. Planer etapów */
.ew-plan { background: var(--ew-paper); }
.ew-plan__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2.5rem; align-items: start; }
.ew-plan h2 { font-size: clamp(1.45rem, 2.6vw, 2rem); }
.ew-plan__note { font-size: .88rem; color: var(--ew-muted); border-left: 3px solid var(--ew-ochre); padding-left: .7rem; }
.ew-plan__form { background: #fff; border: 2px solid var(--ew-forest); border-radius: 2px; padding: 1.4rem; display: grid; gap: 1rem; }
.ew-plan__form label { display: grid; gap: .3rem; font-weight: 600; font-size: .92rem; }
.ew-plan__form input[type=number] { width: 100%; padding: .55rem .7rem; border: 1px solid var(--ew-line); border-radius: 2px; font: inherit; }
.ew-plan__form fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ew-plan__form legend { font-weight: 600; font-size: .92rem; margin-bottom: .4rem; }
.ew-radio input { position: absolute; opacity: 0; }
.ew-radio span { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--ew-forest); cursor: pointer; border-radius: 2px; }
.ew-radio input:checked + span { background: var(--ew-forest); color: #fff; }
.ew-radio input:focus-visible + span { outline: 2px solid var(--ew-lake); outline-offset: 2px; }
.ew-plan__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ew-plan__out { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px dashed var(--ew-line); padding-top: 1rem; }
.ew-plan__out span { display: grid; text-align: center; font-size: .82rem; color: var(--ew-muted); }
.ew-plan__out b { font-family: var(--font-head); font-size: 1.6rem; color: var(--ew-forest); }

/* 3. Drogowskazy */
.ew-signs__post { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .9rem 1.4rem; position: relative; }
.ew-sign {
	position: relative; display: grid; gap: .1rem; padding: .8rem 1.6rem .8rem 1rem; background: var(--ew-forest); color: #fff; text-decoration: none;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}
.ew-sign--l { padding: .8rem 1rem .8rem 1.6rem; clip-path: polygon(18px 0, 100% 0, 100% 100%, 18px 100%, 0 50%); background: var(--ew-lake); }
.ew-sign strong { font-family: var(--font-head); font-size: 1.02rem; }
.ew-sign small { color: #DCE7DF; }
.ew-sign em { font-style: normal; font-size: .75rem; color: #F2C98F; font-weight: 700; }
.ew-sign:hover { filter: brightness(1.15); }

/* 4. Świeże wpisy */
.ew-fresh__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; }
.ew-fresh__main img, .ew-fresh__main .ew-noimg { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; display: block; margin-bottom: .8rem; }
.ew-fresh__main h3 { font-size: 1.4rem; }
.ew-fresh__main h3 a, .ew-fresh__list a { color: var(--ew-ink); text-decoration: none; }
.ew-fresh__main h3 a:hover, .ew-fresh__list a:hover { color: var(--ew-lake); }
.ew-fresh__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ew-fresh__list li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .9rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px dashed var(--ew-line); }
.ew-fresh__img img, .ew-fresh__img .ew-noimg { width: 96px; height: 72px; object-fit: cover; display: block; }
.ew-fresh__list li > div > a { font-weight: 700; line-height: 1.3; }

/* 5. Kroki */
.ew-steps { background: var(--ew-lake-soft); }
.ew-steps__list { list-style: none; counter-reset: ew; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.ew-steps__list li { counter-increment: ew; background: #fff; border-top: 4px solid var(--ew-lake); padding: 1rem; display: grid; gap: .4rem; align-content: start; position: relative; }
.ew-steps__list li::before { content: counter(ew); font-family: var(--font-head); font-size: 2rem; font-weight: 700; color: var(--ew-lake); line-height: 1; }
.ew-steps__list li:not(:last-child)::after { content: "→"; position: absolute; right: -.85rem; top: 1rem; color: var(--ew-ochre); font-weight: 700; }
.ew-steps__list b { font-family: var(--font-head); }
.ew-steps__list span { font-size: .9rem; color: var(--ew-muted); }
.ew-steps__more { margin: 1.2rem 0 0; display: flex; gap: 1.4rem; flex-wrap: wrap; }
.ew-steps__more a, .ew-more { color: var(--ew-lake); font-weight: 700; }

/* 6. Plecak */
.ew-pack__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.ew-pack__col { border: 2px dashed var(--ew-forest); padding: 1.2rem; border-radius: 2px; }
.ew-pack__col h3 { font-size: 1.1rem; color: var(--ew-forest); }
.ew-pack__col label { display: flex; gap: .6rem; align-items: flex-start; padding: .35rem 0; cursor: pointer; }
.ew-pack__col input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--ew-forest); flex: 0 0 auto; }
.ew-pack__col input:checked + span { text-decoration: line-through; color: var(--ew-muted); }
.ew-pack__tools { margin-top: 1rem; color: var(--ew-muted); }
.ew-pack__tools button { background: none; border: 0; color: var(--ew-lake); font-weight: 700; cursor: pointer; padding: 0; font: inherit; }

/* 7. Mit czy fakt */
.ew-myth { background: var(--ew-ochre-soft); }
.ew-myth__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.ew-myth__card { background: #fff; border: 1px solid var(--ew-line); border-radius: 2px; padding: 1rem; }
.ew-myth__card summary { font-weight: 700; cursor: pointer; list-style: none; position: relative; padding-right: 1.6rem; }
.ew-myth__card summary::-webkit-details-marker { display: none; }
.ew-myth__card summary::after { content: "?"; position: absolute; right: 0; top: 0; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--ew-ochre); color: #fff; text-align: center; font-size: .85rem; line-height: 1.3rem; }
.ew-myth__card[open] summary::after { content: "✓"; background: var(--ew-forest); }
.ew-myth__card p { font-size: .92rem; margin: .7rem 0 .4rem; }
.ew-myth__card b { padding: .05rem .45rem; color: #fff; margin-right: .3rem; }
.ew-myth__card .is-true { background: var(--ew-forest); }
.ew-myth__card .is-false { background: #A33A2A; }
.ew-myth__card small { color: var(--ew-muted); font-size: .78rem; }

/* 8. Trasy */
.ew-routes { background: var(--ew-forest-dk); color: #fff; }
.ew-head--light h2 { color: #fff; }
.ew-head--light p { color: #C9D6CD; }
.ew-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.ew-route { display: grid; gap: .3rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.25); color: #fff; text-decoration: none; border-radius: 2px; position: relative; }
.ew-route::after { content: ""; position: absolute; left: 1.2rem; right: 1.2rem; bottom: .7rem; border-bottom: 2px dotted #F2C98F; }
.ew-route:hover { background: rgba(255,255,255,.06); }
.ew-route__no { font-family: var(--font-head); font-size: 2.2rem; font-weight: 700; color: #F2C98F; line-height: 1; }
.ew-route strong { font-family: var(--font-head); font-size: 1.1rem; }
.ew-route small { color: #C9D6CD; padding-bottom: 1rem; }

/* 9. Zakładki */
.ew-tabs__bar { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 2px solid var(--ew-forest); margin-bottom: 1rem; }
.ew-tabs__bar button { background: none; border: 0; padding: .6rem .9rem; font: inherit; font-weight: 700; cursor: pointer; color: var(--ew-muted); border-bottom: 3px solid transparent; margin-bottom: -2px; }
.ew-tabs__bar button[aria-selected=true] { color: var(--ew-forest); border-bottom-color: var(--ew-ochre); }
.ew-tabs__panel ul { columns: 2; column-gap: 2rem; padding-left: 1.1rem; margin: 0 0 1rem; }
.ew-tabs__panel li { break-inside: avoid; margin-bottom: .5rem; }
.ew-tabs__panel li a { color: var(--ew-ink); }

/* 10. FAQ */
.ew-faq__list { display: grid; gap: .6rem; max-width: 860px; }
.ew-faq__list details { border-left: 4px solid var(--ew-lake); background: var(--ew-paper); padding: .8rem 1rem; }
.ew-faq__list summary { font-weight: 700; cursor: pointer; }
.ew-faq__list p { margin: .6rem 0 0; }
.ew-faq__ask a { color: var(--ew-lake); font-weight: 700; }

/* 11. O serwisie */
.ew-about__box { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2rem; align-items: center; border: 2px solid var(--ew-forest); padding: 1.8rem; border-radius: 2px; }
.ew-about__year { font-family: var(--font-head); font-size: 3.4rem; font-weight: 700; color: var(--ew-ochre); margin: 0; line-height: 1; writing-mode: vertical-rl; transform: rotate(180deg); }
.ew-btn--ghost { background: transparent; color: var(--ew-forest); border-color: var(--ew-forest); }

/* Responsywność */
@media (max-width: 980px) {
	.ew-top__grid, .ew-plan__grid, .ew-fresh__grid { grid-template-columns: minmax(0, 1fr); }
	.ew-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ew-steps__list li::after { display: none; }
	.ew-routes__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.ew-sec { padding: 2.2rem 0; }
	.ew-pack__cols, .ew-steps__list, .ew-plan__row { grid-template-columns: minmax(0, 1fr); }
	.ew-tabs__panel ul { columns: 1; }
	.ew-about__box { grid-template-columns: minmax(0, 1fr); }
	.ew-about__year { writing-mode: horizontal-tb; transform: none; font-size: 2.4rem; }
	.ew-map { box-shadow: 4px 4px 0 var(--ew-forest-dk); }
	.ew-plan__out b { font-size: 1.25rem; }
}
@media print {
	.ew-home > section:not(.ew-pack) { display: none; }
}
.ew-home [hidden] { display: none !important; }
