/* Do Celu — home.css v3: motyw DROGI (zielona droga z logo + słońce) */
#content, .site-content { position: relative; }
.dc-road { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; overflow: visible; }
.dc-road path { fill: none; stroke: var(--dc-accent); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; opacity: .9; }
.dc-road .dc-road__shadow { stroke: rgba(0,127,53,.12); stroke-width: 22; }
.dc-road .dc-road__dash { stroke: #fff; stroke-width: 2; stroke-dasharray: 10 14; opacity: .9; }
.dc-road circle { fill: var(--dc-sun); stroke: #fff; stroke-width: 4; }
.dc-road-sec { position: relative; z-index: 1; }
.dc-road-sec > .elementor-container { position: relative; z-index: 1; }
@media (max-width: 1023px) { .dc-road { display: none; } }

/* etykieta przystanku */
.dc-road-stop { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--dc-accent); }
.dc-road-stop::before { content: ''; width: 14px; height: 14px; border-radius: 50%; background: var(--dc-sun); border: 3px solid var(--dc-accent); box-sizing: border-box; }
.dc-road-stop--light { color: #9BE3B4; }
.dc-road-cap { font-size: 14px; color: #5a6b60; margin: 10px 0 0 4px; }
.dc-road-photo img { border-radius: 24px; }

/* przystanki — placówki naprzemiennie */
.dc-stops { display: flex; flex-direction: column; gap: 28px; margin-top: 32px; }
.dc-stop { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; align-items: center; text-decoration: none !important; color: var(--dc-ink); width: 100%; }
.dc-stop--r { grid-template-areas: 'txt img'; } .dc-stop--l { grid-template-areas: 'img txt'; }
.dc-stop--r .dc-stop__img { grid-area: img; } .dc-stop--r .dc-stop__txt { grid-area: txt; text-align: right; }
.dc-stop--l .dc-stop__img { grid-area: img; } .dc-stop--l .dc-stop__txt { grid-area: txt; }
.dc-stop__img { display: block; border-radius: 24px; overflow: hidden; aspect-ratio: 16/10; max-width: 520px; }
.dc-stop--r .dc-stop__img { margin-left: auto; } .dc-stop--l .dc-stop__img { margin-right: auto; }
.dc-stop--r .dc-stop__txt { margin-left: auto; } .dc-stop--l .dc-stop__txt { margin-right: auto; }
.dc-stop__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform 1s var(--dc-ease); }
.dc-stop:hover .dc-stop__img img { transform: scale(1.03); }
.dc-stop__txt { max-width: 420px; }
.dc-stop__t { display: block; font-family: var(--dc-display); font-weight: 800; font-size: 40px; line-height: 1; margin: 0 0 10px; transition: color .3s; }
.dc-stop:hover .dc-stop__t { color: var(--dc-accent); }
.dc-stop__d { display: block; font-size: 17px; line-height: 1.55; color: #424242; margin: 0 0 12px; }
.dc-stop__a { font-weight: 600; color: var(--dc-accent); }
.dc-stop:nth-child(odd) .dc-stop__img { max-width: 560px; } .dc-stop:nth-child(even) .dc-stop__img { max-width: 440px; aspect-ratio: 4/3; }
@media (max-width: 767px) { .dc-stop, .dc-stop--r, .dc-stop--l { grid-template-columns: 1fr; grid-template-areas: 'img' 'txt'; gap: 16px; } .dc-stop--r .dc-stop__txt { text-align: left; margin: 0; } .dc-stop__img, .dc-stop:nth-child(odd) .dc-stop__img, .dc-stop:nth-child(even) .dc-stop__img { max-width: none; margin: 0; aspect-ratio: 16/10; } .dc-stop__t { font-size: 32px; } }

/* z drogi — 1 duży + 2 mniejsze */
.dc-zdrogi { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: 28px; }
.dc-zdrogi__item { display: flex; flex-direction: column; text-decoration: none !important; color: var(--dc-ink); }
.dc-zdrogi__item--big { grid-row: 1 / 3; }
.dc-zdrogi__item:not(.dc-zdrogi__item--big) { flex-direction: row; gap: 18px; align-items: center; }
.dc-zdrogi__img { display: block; border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; flex: 0 0 42%; }
.dc-zdrogi__item--big .dc-zdrogi__img { aspect-ratio: 16/11; margin-bottom: 18px; flex: none; }
.dc-zdrogi__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform 1s var(--dc-ease); }
.dc-zdrogi__item:hover img { transform: scale(1.03); }
.dc-zdrogi__meta { display: block; font-size: 13px; font-weight: 600; color: var(--dc-accent); margin: 0 0 6px; }
.dc-zdrogi__t { display: block; font-family: var(--dc-display); font-weight: 800; font-size: 24px; line-height: 1.05; margin: 0 0 8px; transition: color .3s; }
.dc-zdrogi__item--big .dc-zdrogi__t { font-size: 38px; }
.dc-zdrogi__item:hover .dc-zdrogi__t { color: var(--dc-accent); }
.dc-zdrogi__d { display: block; font-size: 15px; line-height: 1.5; color: #424242; }
.dc-zdrogi__item:not(.dc-zdrogi__item--big) .dc-zdrogi__d { display: none; }
@media (max-width: 900px) { .dc-zdrogi { grid-template-columns: 1fr; } .dc-zdrogi__item--big { grid-row: auto; } .dc-zdrogi__item--big .dc-zdrogi__t { font-size: 30px; } }
@media (max-width: 500px) { .dc-zdrogi__item:not(.dc-zdrogi__item--big) { flex-direction: column; align-items: stretch; } .dc-zdrogi__img { flex: none; } }

/* drogowskazy — programy */
.dc-signs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dc-sign { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px 24px 24px 28px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 18px 18px 18px 4px; text-decoration: none !important; color: #fff; transition: background .4s var(--dc-ease), transform .4s var(--dc-ease), border-color .4s; }
.dc-sign::before { content: ''; position: absolute; left: 0; top: 24px; bottom: 24px; width: 4px; border-radius: 4px; background: var(--dc-sun); }
.dc-sign:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); transform: translateX(6px); }
.dc-sign__who { font-size: 13px; font-weight: 600; color: #9BE3B4; }
.dc-sign__t { font-family: var(--dc-display); font-weight: 800; font-size: 28px; line-height: 1.02; }
.dc-sign__d { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.78); }
@media (max-width: 1024px) { .dc-signs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dc-signs { grid-template-columns: 1fr; } }

/* cel — słońce z KRS */
.dc-sun { position: relative; width: min(100%, 460px); aspect-ratio: 1; margin: 0 auto; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #FFE066 0%, var(--dc-sun) 55%, #E8B800 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--dc-sun-ink); padding: 40px; box-shadow: 0 0 0 18px rgba(245,196,0,.18), 0 0 0 40px rgba(245,196,0,.08); }
.dc-sun::before { content: ''; position: absolute; inset: -34px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(245,196,0,.35) 0 6deg, transparent 6deg 15deg); -webkit-mask: radial-gradient(circle, transparent 60%, #000 61%); mask: radial-gradient(circle, transparent 60%, #000 61%); animation: dc-sun-spin 90s linear infinite; z-index: -1; }
@keyframes dc-sun-spin { to { transform: rotate(360deg); } }
.dc-sun__label { font-weight: 600; font-size: 16px; letter-spacing: .04em; }
.dc-sun__krs { font-family: var(--dc-display); font-weight: 800; font-size: clamp(48px, 7vw, 84px); line-height: 1; letter-spacing: .04em; margin: 6px 0; }
.dc-sun__sub { font-size: 14px; opacity: .8; margin-bottom: 14px; }
.dc-copy--sun .dc-copy__btn { color: var(--dc-sun-ink); border-color: rgba(10,42,23,.45); } .dc-copy--sun .dc-copy__btn:hover { background: rgba(10,42,23,.1); }
.dc-cel-ways { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 8px; }
.dc-cel-ways > div { background: var(--dc-soft); border-radius: 18px; padding: 18px 20px; font-size: 15px; line-height: 1.6; }
.dc-cel-ways strong { font-family: var(--dc-display); font-weight: 800; font-size: 22px; }
.dc-cel-ways a { color: var(--dc-accent); font-weight: 600; text-decoration: none; }
@media (max-width: 700px) { .dc-cel-ways { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .dc-sun::before { animation: none; } .dc-stop:hover img, .dc-zdrogi__item:hover img, .dc-sign:hover { transform: none; } }

/* host drogi + glow słońca (wstrzykiwane przez app.js) */
.dc-road-host { position: relative; }
.dc-has-glow { overflow: hidden; }
.dc-glow { position: absolute; display: block; border-radius: 50%; pointer-events: none; z-index: 0; filter: blur(42px); will-change: transform; }
.dc-glow--tr { width: 620px; height: 620px; right: -200px; top: -240px; background: radial-gradient(circle, rgba(245,196,0,.62) 0%, rgba(245,196,0,.25) 40%, rgba(245,196,0,0) 70%); }
.dc-glow--br { width: 520px; height: 520px; right: -180px; bottom: -220px; background: radial-gradient(circle, rgba(245,196,0,.42) 0%, rgba(245,196,0,0) 68%); }
.dc-glow--bl { width: 460px; height: 460px; left: -200px; bottom: -160px; background: radial-gradient(circle, rgba(0,127,53,.16) 0%, rgba(0,127,53,0) 68%); }
#hero .dc-glow--tr { top: -140px; right: -120px; filter: blur(30px); }
#hero .elementor-background-overlay { z-index: 0; } #hero .dc-glow { z-index: 0; }
.dc-road__sun { fill: var(--dc-sun); stroke: #fff; stroke-width: 4; filter: drop-shadow(0 0 14px rgba(245,196,0,.9)); }
@media (max-width: 1023px) { .dc-glow { filter: blur(30px); transform: none !important; } }

/* v3c: drogowskazy, wschód słońca na końcu, mniejsze słońce KRS */
.dc-road-signs { position: absolute; left: 0; top: 0; width: 100%; pointer-events: none; z-index: 2; overflow: visible; }
.dc-sign-post { opacity: 0; transition: opacity .5s var(--dc-ease); }
.dc-sign-post.is-on { opacity: 1; }
.dc-sign-post line { stroke: #6B4F2A; stroke-width: 4; stroke-linecap: round; }
.dc-sign-post path { fill: var(--dc-ink); stroke: #fff; stroke-width: 2; }
.dc-sign-post text { fill: #fff; font-family: 'Lexend', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .02em; }
@media (max-width: 1023px) { .dc-road-signs { display: none; } }
.dc-sun--sm { width: min(100%, 340px); padding: 28px; }
.dc-sun--sm .dc-sun__krs { font-size: clamp(40px, 5vw, 62px); }
.dc-sunrise { position: relative; margin: 0; padding: 48px 0 0 48px; }
.dc-sunrise img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: 50% 30%; border-radius: 28px; }
.dc-sunrise__sun { position: absolute; left: 0; top: 0; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #FFE066 0%, var(--dc-sun) 60%, #E8B800 100%); z-index: 0; box-shadow: 0 0 0 22px rgba(245,196,0,.16), 0 0 80px 20px rgba(245,196,0,.35); }
.dc-sunrise__sun::before { content: ''; position: absolute; inset: -40px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(245,196,0,.45) 0 6deg, transparent 6deg 15deg); -webkit-mask: radial-gradient(circle, transparent 58%, #000 59%); mask: radial-gradient(circle, transparent 58%, #000 59%); animation: dc-sun-spin 120s linear infinite; }
.dc-cel-list { list-style: none; margin: 8px 0 28px; padding: 0; }
.dc-cel-list li { position: relative; padding: 10px 0 10px 30px; font-size: 16px; line-height: 1.5; color: #2a3a30; border-bottom: 1px solid var(--dc-line); }
.dc-cel-list li::before { content: ''; position: absolute; left: 0; top: 17px; width: 14px; height: 14px; border-radius: 50%; background: var(--dc-sun); border: 3px solid var(--dc-accent); box-sizing: border-box; }
@media (max-width: 767px) { .dc-sunrise { padding: 32px 0 0 24px; } .dc-sunrise__sun { width: 150px; height: 150px; } }
@media (prefers-reduced-motion: reduce) { .dc-sunrise__sun::before { animation: none; } }
.dc-sign-post.is-light path { fill: var(--dc-sun); stroke: var(--dc-ink); } .dc-sign-post.is-light text { fill: var(--dc-ink); }


/* v3d: drogowskazy — biała pigułka, kropka na drodze; programy na liquidzie — czytelność */
.dc-sign-post line { stroke: #8A6A3A; stroke-width: 3; }
.dc-sign-post rect { fill: #fff; stroke: var(--dc-accent); stroke-width: 2; }
.dc-sign-post text { fill: var(--dc-ink); font-size: 13px; font-weight: 600; }
.dc-sign-post .dc-sign-dot { fill: var(--dc-sun); stroke: var(--dc-accent); stroke-width: 3; }
.dc-sign-post.is-light rect { fill: var(--dc-sun); stroke: var(--dc-ink); } .dc-sign-post.is-light text { fill: var(--dc-ink); }
#programy.dc-liquid.liquid-host--scrim::after { background: linear-gradient(90deg, rgba(10,42,23,.78) 0%, rgba(10,42,23,.62) 55%, rgba(10,42,23,.45) 100%), linear-gradient(180deg, rgba(10,42,23,.35), rgba(10,42,23,.7)); }
#programy .dc-sign { background: rgba(6,28,15,.72); border-color: rgba(255,255,255,.18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
#programy .dc-sign:hover { background: rgba(6,28,15,.88); }
#programy .dc-sign__t { color: #fff; } #programy .dc-sign__who { color: #F5C400; } #programy .dc-sign__d { color: rgba(255,255,255,.88); }
#programy .elementor-widget-text-editor, #programy .elementor-widget-text-editor p { color: #fff !important; }


/* v3e: duch drogi w sekcjach z tłem (za kaflami, nad tłem) */
.dc-road-ghost { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; overflow: visible; border-radius: inherit; }
.dc-road-ghost path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dc-road-ghost .dc-road__shadow { stroke: rgba(0,127,53,.07); stroke-width: 22; }
.dc-road-ghost .dc-road__main { stroke: rgba(0,127,53,.30); stroke-width: 7; }
.dc-road-ghost .dc-road__dash { stroke: rgba(255,255,255,.85); stroke-width: 2; }
.dc-road-ghost--dark .dc-road__shadow { stroke: rgba(255,255,255,.06); }
.dc-road-ghost--dark .dc-road__main { stroke: rgba(255,255,255,.26); }
.dc-road-ghost--dark .dc-road__dash { stroke: rgba(245,196,0,.55); }
.dc-road-sec > .elementor-container { z-index: 1; }
@media (max-width: 1023px) { .dc-road-ghost { display: none; } }
/* v3f: treść sekcji liquid NAD scrimem (v3e ustawiło kontener na z-index 1 = scrim, scrim przykrywał karty) */
.dc-road-sec.dc-liquid > .elementor-container, .dc-liquid > .elementor-container { position: relative; z-index: 3; }
.dc-liquid.liquid-host--scrim::after { z-index: 1; } .dc-liquid .liquid, .dc-liquid .dc-road-ghost { z-index: 0; }


/* v4: droga z detalami — poświata, krawędzie, kreska w ruchu, drzewka, słońce z promieniami */
.dc-road path, .dc-road-ghost path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dc-road .dc-road__glow { stroke: rgba(245,196,0,.10); stroke-width: 44; }
.dc-road .dc-road__shadow { stroke: rgba(0,127,53,.14); stroke-width: 24; }
.dc-road .dc-road__edge { stroke: #2FBF71; stroke-width: 13; opacity: .9; }
.dc-road .dc-road__main { stroke: #007F35; stroke-width: 8; opacity: 1; }
.dc-road .dc-road__dash { stroke: #FFF4B0; stroke-width: 2.2; stroke-dasharray: 12 14; opacity: .95; animation: dc-dash-flow 1.8s linear infinite; }
.dc-road .dc-road__maskpath { stroke: #fff; stroke-width: 10; }
@keyframes dc-dash-flow { to { stroke-dashoffset: -26; } }
/* duch w sekcjach z tłem */
.dc-road-ghost .dc-road__edge { stroke: rgba(47,191,113,.22); stroke-width: 13; }
.dc-road-ghost .dc-road__main { stroke: rgba(0,127,53,.32); stroke-width: 8; }
.dc-road-ghost .dc-road__dash { stroke: rgba(255,255,255,.9); stroke-width: 2; stroke-dasharray: 12 14; animation: dc-dash-flow 1.8s linear infinite; }
.dc-road-ghost--dark .dc-road__edge { stroke: rgba(255,255,255,.10); }
.dc-road-ghost--dark .dc-road__main { stroke: rgba(255,255,255,.26); }
.dc-road-ghost--dark .dc-road__dash { stroke: rgba(245,196,0,.6); }
/* słońce na czubku drogi */
.dc-road__head { transition: opacity .4s; }
.dc-road__halo { fill: rgba(245,196,0,.22); }
.dc-road__core { fill: var(--dc-sun); stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 10px rgba(245,196,0,.9)); }
.dc-road__rays line { stroke: var(--dc-sun); stroke-width: 3; stroke-linecap: round; }
.dc-road__rays { transform-box: fill-box; transform-origin: center; animation: dc-rays-spin 14s linear infinite; }
@keyframes dc-rays-spin { to { transform: rotate(360deg); } }
.dc-road__head.is-end { opacity: 0; }
/* drzewka i krzaki */
.dc-road__tree { opacity: 0; transform-box: fill-box; transform-origin: 50% 100%; transition: opacity .6s var(--dc-ease), transform .7s var(--dc-ease); }
.dc-road__tree.is-on { opacity: 1; }
.dc-road__tree circle { fill: #2FBF71; } .dc-road__tree circle.d { fill: #007F35; } .dc-road__tree line.t { stroke: #8A6A3A; stroke-width: 3; stroke-linecap: round; }
.dc-road__tree--bush circle { fill: #5ED48F; } .dc-road__tree--bush circle.d { fill: #2FBF71; }
.dc-road__tree--tall circle { fill: #1E9E5A; }
@media (prefers-reduced-motion: reduce) { .dc-road .dc-road__dash, .dc-road-ghost .dc-road__dash, .dc-road__rays { animation: none; } .dc-road__tree { opacity: 1; transition: none; } }
.dc-road__tree--flower circle.f { fill: var(--dc-sun); } .dc-road__tree--flower circle.d { fill: #2FBF71; }
/* 20.10 wieczór: promienie słońca na czubku drogi schowane (Kuba: fatalnie wygląda) — do przemyślenia jutro */ .dc-road__rays { display: none; } .dc-road__halo { fill: rgba(245,196,0,.16); }
