/* =====================================================================
   /WROZBA-DNIA — „Wróżba na dziś” (T-188)
   ---------------------------------------------------------------------
   Ładowany wyłącznie na szablonie `page-wrozba-na-dzis.php`
   (functions.php, sekcja 20), PO fundamencie strony głównej
   (`strona-glowna.css`: tokeny --sg-*, niebo, pasma, .sg-h2, .sg-btn)
   i po `strona-glowna-oferta.css` (oferta to ten sam partial).
   Sekcja Księżyca ma własny arkusz: `ksiezyc.css`.

   Kierunek: makieta właścicielki z 01.10 (vault, wrozba-dnia/makieta.html)
   jako inspiracja, przepisana na tokeny motywu (DECYZJE §165 poz. 0).
   Zmiany wobec makiety: kartka dnia jako kartka z kalendarza z tarczą
   dzisiejszej fazy, przyciski fundamentu (terakota), bez ikon z zewnętrznej
   biblioteki, bez notatek i przełącznika animacji, formularz = komponent T-170.

   Prefiks wnd-, bez !important. Każdy blok chowany skryptem ma własną regułę
   [hidden] (docs/theme.md §9, punkt 6).
   ===================================================================== */

:root {
    --wnd-kolumna: 45rem;
    --wnd-scena: 76rem;
    --wnd-papier-linia: rgba(164, 124, 72, 0.3);
    --wnd-bordo: #6b1e2a;
}

body.wnd-body { background-color: var(--sg-noc-gleboka); }

/* ---------- elementy wspólne ---------- */

.wnd-nad {
    margin: 0;
    font-family: var(--sg-font-tekst);
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--sg-zloto);
}

.wnd-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.wnd-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.sg-wrap.wnd-kolumna { width: min(100% - 2 * var(--sg-margines), var(--wnd-kolumna)); }

@keyframes wnd-wejscie {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

/* ---------- tarcza Księżyca (SVG z PHP, wspólna dla kartki i sekcji Księżyca) ---------- */

.wnd-tarcza { display: block; overflow: visible; }
.wnd-tarcza__noc { fill: #2a2142; }
.wnd-tarcza__obrys { fill: none; stroke: rgba(201, 168, 76, 0.55); stroke-width: 0.8; }
.wnd-tarcza__swiatlo { fill: #f2dfa6; }
.wnd-tarcza__morza { fill: #c7ab6c; opacity: 0.4; }
.wnd-tarcza__popiel { fill: #f2dfa6; opacity: 0.08; }

/* ---------- §1 scena: data, H1 ----------
   Redesign 2026-10-04: nagłówek, narzędzie i kartka w jednej siatce `.wnd-dzien`
   (układ niżej, przy §2–§3). Na telefonie wyśrodkowany stos; od 960 px nagłówek
   do lewej, narzędzie obok — pierwsza akcja strony w pierwszym ekranie. */

.wnd-scena { padding-top: clamp(1.75rem, 1rem + 3vw, 3.75rem); }
.sg-wrap.wnd-scena__wrap { width: min(100% - 2 * var(--sg-margines), var(--wnd-scena)); }

.wnd-glowa { grid-area: glowa; max-width: 44rem; margin: 0 auto; text-align: center; }

.wnd-glowa .wnd-nad { color: var(--sg-zloto-jasne); }

.wnd-h1 {
    margin: 1rem 0 0;
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: var(--sg-fs-h1);
    line-height: 1.04;
    letter-spacing: -0.005em;
    color: #f5ede0;
    text-wrap: balance;
}
.wnd-h1__dalej {
    display: block;
    font-style: italic;
    font-size: 0.78em;
    margin-top: 0.15em;
    background: linear-gradient(100deg, #a8853f 0%, var(--sg-zloto-jasne) 30%, #fff1c8 45%, var(--sg-zloto-jasne) 60%, #a8853f 100%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: wnd-polysk 14s ease-in-out infinite;
}
@keyframes wnd-polysk {
    0%, 100% { background-position: 100% 0; }
    50% { background-position: 0 0; }
}

.wnd-kreska {
    display: block;
    width: 56px;
    height: 1px;
    margin: 1.4rem auto 0;
    background: var(--sg-zloto);
    opacity: 0.85;
}

.wnd-glowa__lede {
    max-width: 42ch;
    margin: 1.1rem auto 0;
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-lede);
    line-height: 1.6;
    color: rgba(245, 237, 224, 0.8);
    text-wrap: pretty;
}

/* ---------- §1–§3 układ sceny: nagłówek, narzędzie, kartka ---------- */

.wnd-dzien {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "glowa" "znak" "kartka";
    gap: clamp(2rem, 1.5rem + 2vw, 2.75rem);
    align-items: start;
}
.wnd-znak { grid-area: znak; }
.wnd-kartka { grid-area: kartka; }

@media (max-width: 959.98px) {
    .wnd-znak,
    .wnd-kartka { width: 100%; max-width: 34rem; margin-inline: auto; }
}
/* telefon: przycisk narzędzia nad zgięciem także z paskami Safari (~750 px widoku) */
@media (max-width: 599.98px) {
    .wnd-scena { padding-top: 1.25rem; }
    .wnd-dzien { row-gap: 1.6rem; }
    .wnd-kreska { margin-top: 1rem; }
    .wnd-glowa__lede { margin-top: 0.9rem; }
    .wnd-znak { padding-top: 2.4rem; }
    .wnd-znak__h2 { margin-top: 0.45rem; }
    .wnd-wosk { width: 8.25rem; height: 8.25rem; margin: 0.85rem auto 1rem; }
}

@media (min-width: 960px) {
    .wnd-dzien {
        grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
        grid-template-areas: "glowa znak" "kartka znak";
        grid-template-rows: auto 1fr;
        column-gap: clamp(3rem, 1rem + 4vw, 5.5rem);
        row-gap: clamp(2rem, 1rem + 1.6vw, 2.75rem);
    }
    .wnd-glowa { max-width: none; margin: 0; padding-top: 0.5rem; text-align: left; }
    .wnd-h1 { font-size: clamp(2.65rem, 0.9rem + 3.1vw, 3.85rem); }
    .wnd-kreska { margin-left: 0; }
    .wnd-glowa__lede { margin-left: 0; }
    .wnd-znak { grid-row: 1 / span 2; align-self: stretch; }
}
/* bez Energii dnia: kartka `hidden`, narzędzie zostaje obok nagłówka — bez pustego pola */
@media (min-width: 960px) {
    .wnd-dzien--sama-wrozba { grid-template-areas: "glowa znak"; grid-template-rows: auto; }
    .wnd-dzien--sama-wrozba .wnd-znak { grid-row: auto; }
    .wnd-dzien--sama-wrozba .wnd-glowa { align-self: center; }
}

/* kartka z kalendarza */
.wnd-kartka {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 1.25rem 1.15rem 1.4rem;
    background-color: var(--sg-papier-karta);
    background-image: var(--sg-ziarno);
    color: var(--sg-atrament);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.42);
    animation: wnd-wejscie 0.6s var(--sg-wyjscie) both;
}
.wnd-kartka[hidden] { display: none; }
.wnd-kartka::before {
    content: '';
    position: absolute;
    inset: 7px;
    border: 1px solid var(--wnd-papier-linia);
    pointer-events: none;
}
/* grzbiet kalendarza-zdzieraka: bordowy pasek z perforacją po zerwanej kartce */
.wnd-kartka { padding-top: 1.75rem; }
.wnd-kartka::after {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 0.5rem;
    background:
        radial-gradient(circle at 50% 100%, var(--sg-papier-karta) 0 2px, transparent 2.5px) 0 0 / 9px 0.5rem repeat-x,
        var(--wnd-bordo);
    pointer-events: none;
}
.wnd-kartka::before { top: calc(0.5rem + 7px); }

.wnd-kartka__dzien {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 0.9rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--wnd-papier-linia);
    font-family: var(--sg-font-tekst);
}
.wnd-kartka__nr {
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: 2.6rem;
    line-height: 1;
    color: var(--wnd-bordo);
}
.wnd-kartka__mies,
.wnd-kartka__dow {
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sg-rdza);
}
.wnd-kartka__dow { color: var(--sg-atrament-2); font-weight: 500; }
.wnd-kartka__tarcza { width: 2.25rem; height: 2.25rem; margin-left: auto; flex: none; }

.wnd-kartka__h2 {
    margin: 0 0 0.75rem;
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.15rem);
    line-height: 1.12;
    color: var(--sg-atrament);
}
.wnd-kartka__tekst {
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-tekst);
    line-height: 1.7;
    color: var(--sg-atrament);
}
.wnd-kartka__tekst p { margin: 0 0 0.85em; }
.wnd-kartka__tekst p:last-child { margin-bottom: 0; }
.wnd-kartka__tekst p:first-child::first-letter {
    float: left;
    margin: 0.3rem 0.5rem 0 0;
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: 3.4rem;
    line-height: 0.8;
    color: var(--wnd-bordo);
}

@media (min-width: 640px) {
    .wnd-kartka {
        grid-template-columns: 6.25rem minmax(0, 1fr);
        column-gap: 1.75rem;
        padding: 2.5rem 2rem 2.1rem;
    }
    .wnd-kartka__dzien {
        flex-direction: column;
        gap: 0.4rem;
        padding: 0.2rem 1.5rem 0 0;
        margin: 0;
        border-bottom: 0;
        border-right: 1px solid var(--wnd-papier-linia);
        text-align: center;
    }
    .wnd-kartka__nr { font-size: 4rem; }
    .wnd-kartka__tarcza { width: 3rem; height: 3rem; margin: 0.6rem 0 0; }
}

/* narzędzie: Wróżba dnia */
/* narzędzie jako łuk okna/kapliczki: jedyny łuk na stronie, więc oko trafia tu od razu */
.wnd-znak {
    --wnd-luk: 50% 50% 0.25rem 0.25rem / clamp(7rem, 5rem + 6vw, 10rem) clamp(7rem, 5rem + 6vw, 10rem) 0.25rem 0.25rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(3rem, 2.4rem + 2vw, 4rem) clamp(1.15rem, 1rem + 1.5vw, 2.25rem) clamp(1.6rem, 1.3rem + 1.2vw, 2.4rem);
    border: 1px solid var(--sg-zloto-linia);
    border-radius: var(--wnd-luk);
    background:
        radial-gradient(ellipse 70% 45% at 50% 58%, rgba(232, 201, 120, 0.1), transparent 70%),
        linear-gradient(180deg, rgba(44, 26, 66, 0.78), rgba(12, 10, 24, 0.66));
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
    text-align: center;
    font-family: var(--sg-font-tekst);
    animation: wnd-wejscie 0.6s var(--sg-wyjscie) 0.12s both;
}
.wnd-znak::before {
    content: '';
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(201, 168, 76, 0.18);
    border-radius: var(--wnd-luk);
    pointer-events: none;
}
/* gwiazda na zworniku łuku */
.wnd-znak::after {
    content: '';
    position: absolute;
    top: -0.55rem;
    left: 50%;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: -0.55rem;
    background: var(--sg-zloto-jasne);
    clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
    filter: drop-shadow(0 0 6px rgba(232, 201, 120, 0.7));
}
.wnd-znak > * { position: relative; }
.wnd-znak .wnd-wynik { align-self: stretch; }
.wnd-znak__h2 {
    margin: 0.6rem 0 0.4rem;
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.2rem);
    line-height: 1.12;
    color: #f5ede0;
}
.wnd-znak__intro {
    max-width: 30ch;
    margin: 0 auto;
    font-size: 0.97rem;
    line-height: 1.6;
    color: rgba(245, 237, 224, 0.74);
}
.wnd-znak__przycisk[hidden] { display: none; }
.wnd-znak.is-otwarty .wnd-znak__intro { display: none; }

/* Wosk: kropla wosku spada do misy z wodą, kręgi, w środku wschodzi blask (~2,2 s) */
.wnd-wosk {
    position: relative;
    width: clamp(9.5rem, 7rem + 8vw, 13rem);
    height: clamp(9.5rem, 7rem + 8vw, 13rem);
    margin: 1rem auto 1.1rem;
    transition: width 0.45s var(--sg-wyjscie), height 0.45s var(--sg-wyjscie), margin 0.45s var(--sg-wyjscie);
}
.wnd-znak.is-otwarty .wnd-wosk { width: 7.5rem; height: 7.5rem; margin: 0.4rem auto 0; }
.wnd-wosk__misa {
    position: absolute;
    left: 50%;
    bottom: 8%;
    width: 86%;
    aspect-ratio: 1;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 45%, #2a2246 0%, #17122b 58%, #0f0c1d 100%);
    box-shadow:
        inset 0 0 0 1px rgba(201, 168, 76, 0.55),
        inset 0 0 0 5px rgba(20, 16, 36, 0.9),
        inset 0 0 0 6px rgba(201, 168, 76, 0.22),
        inset 0 10px 30px rgba(0, 0, 0, 0.6),
        0 0 60px rgba(232, 201, 120, 0.1),
        0 18px 40px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}
/* odbicie płomienia na tafli: wolno dryfuje, dopóki nikt nie lał wosku */
.wnd-wosk__misa::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 34%;
    width: 38%;
    height: 22%;
    margin-left: -19%;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(255, 236, 190, 0.32), rgba(232, 201, 120, 0.08) 55%, transparent 72%);
    animation: wnd-tafla 7s ease-in-out infinite alternate;
}
.wnd-wosk.is-lanie .wnd-wosk__misa::after,
.wnd-wosk.is-po .wnd-wosk__misa::after { animation: none; opacity: 0; transition: opacity 0.4s ease; }
@keyframes wnd-tafla {
    0% { transform: translate(-12%, 0) scale(1); opacity: 0.7; }
    50% { transform: translate(8%, 6%) scale(1.08, 0.94); opacity: 1; }
    100% { transform: translate(14%, -4%) scale(0.96); opacity: 0.8; }
}
.wnd-wosk__kropla {
    position: absolute;
    left: 50%;
    top: -6%;
    width: 12px;
    height: 16px;
    margin-left: -6px;
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    background: radial-gradient(circle at 40% 35%, #fff4d6, #d9b85e 60%, #a8833a);
    opacity: 0;
}
.wnd-wosk__krag {
    position: absolute;
    left: 50%;
    top: 51%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border-radius: 50%;
    border: 1px solid rgba(232, 201, 119, 0.8);
    opacity: 0;
}
.wnd-wosk__blask {
    position: absolute;
    left: 50%;
    top: 51%;
    width: 60%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%) scale(0.2);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 240, 205, 0.95), rgba(217, 184, 94, 0.4) 45%, transparent 70%);
    opacity: 0;
    mix-blend-mode: screen;
}
.wnd-wosk.is-lanie .wnd-wosk__kropla { animation: wnd-kropla 0.7s cubic-bezier(0.55, 0, 1, 0.45) forwards; }
.wnd-wosk.is-lanie .wnd-wosk__krag { animation: wnd-krag 1.4s ease-out 0.68s forwards; }
.wnd-wosk.is-lanie .wnd-wosk__krag:nth-child(4) { animation-delay: 0.86s; }
.wnd-wosk.is-lanie .wnd-wosk__krag:nth-child(5) { animation-delay: 1.04s; }
.wnd-wosk.is-lanie .wnd-wosk__blask { animation: wnd-blask 1.3s ease 0.9s forwards; }
.wnd-wosk.is-po .wnd-wosk__blask { opacity: 0.75; transform: translate(-50%, -50%) scale(1.1); }
@keyframes wnd-kropla {
    0% { opacity: 1; transform: translateY(0); }
    100% { opacity: 1; transform: translateY(6.5rem); }
}
@keyframes wnd-krag {
    0% { opacity: 0.95; transform: scale(1); }
    100% { opacity: 0; transform: scale(9); }
}
@keyframes wnd-blask {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
    60% { opacity: 1; }
    100% { opacity: 0.75; transform: translate(-50%, -50%) scale(1.1); }
}

.wnd-blad {
    max-width: 26rem;
    margin: 1.25rem auto 0;
    color: var(--sg-pergamin);
}
.wnd-blad p { margin: 0 0 1rem; line-height: 1.6; }
.wnd-blad[hidden] { display: none; }

.wnd-wynik { margin-top: 0.4rem; text-align: center; }
.wnd-wynik[hidden] { display: none; }
.wnd-wynik > * { animation: wnd-wejscie 0.55s ease both; }
.wnd-wynik > :nth-child(2) { animation-delay: 0.12s; }
.wnd-wynik > :nth-child(3) { animation-delay: 0.24s; }
.wnd-wynik > :nth-child(4) { animation-delay: 0.34s; }
.wnd-znak.is-bez-ruchu .wnd-wynik > * { animation: none; }
.wnd-wynik__nad {
    margin: 1rem 0 0.5rem;
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sg-zloto-jasne);
}
.wnd-wynik__tekst p {
    margin: 0 0 0.75em;
    font-family: var(--sg-font-naglowek);
    font-style: italic;
    font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.55rem);
    line-height: 1.4;
    color: #f5ede0;
}
.wnd-wynik__tekst p:last-child { margin-bottom: 0; }
.wnd-wynik__jutro {
    margin: 1rem 0 1.25rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(201, 168, 76, 0.25);
    font-size: 0.875rem;
    color: rgba(245, 237, 224, 0.62);
}

/* ---------- §4 mostek: wstęp na nocy, płytą jest komponent T-170 ----------
   Arkusza strony wokół komponentu NIE MA (wariant `papier` ma własne tło i ramkę).
   Host ustawia wyłącznie miarę i oś płyty, jak `/tarot-za-darmo/`. */

.wnd-mostek { scroll-margin-top: 5rem; }
.wnd-mostek[hidden] { display: none; }
.wnd-mostek__glowa {
    max-width: 40rem;
    margin: 0 auto clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
    text-align: center;
    animation: wnd-wejscie 0.5s var(--sg-wyjscie) both;
}
.sg-pasmo--noc .wnd-mostek__tytul { margin: 0.9rem auto 1rem; max-width: 22ch; }
.wnd-mostek__tytul:focus { outline: none; }
.wnd-mostek__tekst {
    margin: 0;
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-tekst);
    line-height: 1.7;
    color: rgba(245, 237, 224, 0.82);
}
.wnd-mostek__plyta { max-inline-size: 36rem; margin-inline: auto; }

/* ---------- §5b Tydzień po staremu: gwiazda dni (redesign 2026-10-04, wariant A) ----------
   Jasne pasmo DZIEŃ między Księżycem a ofertą — przełamuje ciąg nocy. Po lewej
   siedmioramienna gwiazda planet (SVG z PHP, rdzawy szlak od poniedziałku do dziś),
   po prawej lista siedmiu dni jak w drukowanym kalendarzu; dziś wyróżniony kartką.
   `overflow: clip` zamiast `hidden` z .sg-pasmo — `hidden` robi z pasma kontener
   przewijania i gwiazda przestaje się przyklejać (`position: sticky`). */

.wnd-ty { overflow: clip; }
.wnd-ty__h2 { max-width: none; }
.wnd-ty__lede { max-width: 40rem; margin-inline: auto; }

.wnd-ty__uklad {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 1.5rem + 2vw, 3rem);
    align-items: start;
}
@media (min-width: 960px) {
    .wnd-ty__uklad {
        grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
        column-gap: clamp(3rem, 1rem + 4vw, 5.5rem);
    }
    .wnd-ty__gwiazda { position: sticky; top: 7rem; }
}

/* gwiazda */
.wnd-ty__gwiazda { margin: 0; }
.wnd-ty__svg {
    display: block;
    width: 100%;
    max-width: min(21rem, 100%);
    height: auto;
    margin: 0 auto;
    overflow: visible;
    color: var(--sg-atrament);
}
@media (min-width: 960px) { .wnd-ty__svg { max-width: 30rem; } }

.wnd-ty__okrag { fill: none; stroke: rgba(42, 31, 20, 0.16); stroke-width: 1; }
.wnd-ty__okrag--zew { stroke-dasharray: 1 5; stroke-linecap: round; stroke: rgba(42, 31, 20, 0.3); }
.wnd-ty__linie {
    fill: none;
    stroke: rgba(42, 31, 20, 0.42);
    stroke-width: 1;
    stroke-linejoin: round;
}
.wnd-ty__szlak {
    fill: none;
    stroke: var(--sg-rdza);
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1.8s cubic-bezier(0.45, 0, 0.25, 1) 0.2s;
}

.wnd-ty__krazek {
    fill: var(--sg-papier-karta);
    stroke: rgba(42, 31, 20, 0.4);
    stroke-width: 1;
    paint-order: stroke;
    transition: fill 0.4s ease, stroke 0.4s ease, stroke-width 0.4s ease;
    transition-delay: calc(0.2s + (var(--ty-n) - 1) * var(--ty-krok, 0.3s));
}
.wnd-ty__wezel use {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--sg-atrament);
    transition: color 0.4s ease;
    transition-delay: calc(0.2s + (var(--ty-n) - 1) * var(--ty-krok, 0.3s));
}
.wnd-ty__pelny { fill: currentColor; stroke: none; }
.wnd-ty__skrot {
    font-family: var(--sg-font-tekst);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-anchor: middle;
    dominant-baseline: central;
    fill: var(--sg-atrament-2);
}

.wnd-ty__wezel.is-minal .wnd-ty__krazek { stroke: var(--sg-rdza); stroke-width: 1.6; }
.wnd-ty__wezel.is-dzis .wnd-ty__krazek { fill: var(--sg-rdza); stroke: rgba(122, 66, 32, 0.22); stroke-width: 10; }
.wnd-ty__wezel.is-dzis use { color: var(--sg-papier-karta); }
.wnd-ty__wezel.is-dzis .wnd-ty__skrot { fill: var(--sg-rdza); font-weight: 700; }
.wnd-ty__wezel.is-wskazany .wnd-ty__krazek { stroke: var(--sg-atrament); stroke-width: 2; transition-delay: 0s; }
.wnd-ty__wezel.is-dzis.is-wskazany .wnd-ty__krazek { stroke: rgba(122, 66, 32, 0.4); stroke-width: 12; }

/* stan wyjściowy wejścia (stawia go tydzien.js, tylko z ruchem): szlak schowany, węzły zgaszone */
.wnd-ty.is-czeka .wnd-ty__szlak { stroke-dashoffset: 1; transition: none; }
.wnd-ty.is-czeka .wnd-ty__krazek { fill: var(--sg-papier-karta); stroke: rgba(42, 31, 20, 0.4); stroke-width: 1; transition: none; }
.wnd-ty.is-czeka .wnd-ty__wezel use { color: var(--sg-atrament); transition: none; }

/* lista dni */
.wnd-ty__dni {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(42, 31, 20, 0.16);
    font-family: var(--sg-font-tekst);
}
.wnd-ty__dzien {
    position: relative;
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    column-gap: 1rem;
    padding: 1rem 0.25rem 1.05rem;
    border-bottom: 1px solid rgba(42, 31, 20, 0.16);
    transition: background-color 0.2s ease;
}
.wnd-ty__dzien.is-wskazany { background-color: rgba(42, 31, 20, 0.035); }
.wnd-ty__znak {
    grid-row: 1 / span 2;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0.2rem auto 0;
    fill: none;
    stroke: var(--sg-rdza);
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--sg-rdza);
    overflow: visible;
}
.wnd-ty__nazwa {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.7rem;
    margin: 0;
}
.wnd-ty__nazwa b {
    font-family: var(--sg-font-naglowek);
    font-weight: 500;
    font-size: 1.45rem;
    line-height: 1.2;
    color: var(--sg-atrament);
}
.wnd-ty__nazwa small {
    font-weight: 600;
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sg-rdza);
}
.wnd-ty__tag {
    padding: 0.15rem 0.5rem;
    background: var(--sg-rdza);
    font-weight: 600;
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sg-papier-karta);
}
.wnd-ty__tag[hidden] { display: none; }
.wnd-ty__tekst {
    grid-column: 2;
    margin: 0.3rem 0 0;
    font-size: 0.95rem;
    line-height: 1.62;
    color: var(--sg-atrament-2);
}

/* dziś: kartka na papierze — ta sama rodzina co kartka Energii dnia u góry strony */
.wnd-ty__dzien.is-dzis {
    margin: -1px -0.75rem 0;
    padding: 1.35rem 1rem 1.45rem;
    border: 1px solid rgba(122, 66, 32, 0.28);
    border-left: 3px solid var(--sg-rdza);
    background: var(--sg-papier-karta);
    box-shadow: 0 18px 36px -24px rgba(42, 31, 20, 0.45);
}
.wnd-ty__dzien.is-dzis .wnd-ty__znak { width: 1.9rem; height: 1.9rem; }
.wnd-ty__dzien.is-dzis .wnd-ty__nazwa b { font-size: 1.75rem; }
.wnd-ty__dzien.is-dzis .wnd-ty__tekst {
    margin-top: 0.5rem;
    font-family: var(--sg-font-naglowek);
    font-style: italic;
    font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.35rem);
    line-height: 1.45;
    color: var(--sg-atrament);
}

/* Telefon (audyt mobile M-29, `ops/decyzje.tsv` audyt-11): listy dni i faz zwinięte do
   dzisiejszej pozycji; tekst całej listy zostaje w HTML, „Wszystkie …” (`wrozba-na-dzis.js`)
   dokłada `is-rozwinieta`. Bez skryptów i od 600 px lista stoi cała, przycisku nie ma.
   Dzisiejszy dzień bez ujemnych marginesów — dochodził do 4 px od krawędzi ekranu. */
.sg-btn.wnd-rozwin { display: none; }
.wnd-ty__dni:focus,
.wnd-ks__lista:focus { outline: none; }
@media (max-width: 37.49rem) {
    .wnd-ty__dzien.is-dzis { margin-inline: 0; }
}
@media (max-width: 37.49rem) and (scripting: enabled) {
    [data-wnd-zwin]:not(.is-rozwinieta) > li:not(.is-dzis) { display: none; }
    [data-wnd-zwin]:not(.is-rozwinieta) + .sg-btn.wnd-rozwin { display: flex; width: 100%; margin-top: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    .wnd-ty__szlak,
    .wnd-ty__krazek,
    .wnd-ty__wezel use,
    .wnd-ty__dzien { transition: none; }
}

/* ---------- opinie: nocna skórka komponentu wspólnego (redesign 2026-10-04) ----------
   Komponent `template-parts/reviews.php` + `opinie.css` jest wspólny ~29 szablonów; tu
   WYŁĄCZNIE reguły pod `.wnd #opinie` (wzorzec `strona-glowna-opinie.css`). Zamiast
   granatu z rysunkiem astrologicznym (`bg-dark.png`, pages.css) — przezroczyste pasmo
   NOC: prześwituje niebo strony, ciąg po ofercie. Głowa jak inne sekcje strony
   (złoty eyebrow, Cormorant, kursywa), tor „N kart co do piksela”, strzałki parą pod
   torem, przyciski = .sg-btn. Karta Google zostaje kartą Google (biel, Roboto, „G”). */

.wnd #opinie {
    --op-slide: min(21rem, 78vw);
    --wnd-op-strzalka: 52px;
    --wnd-op-cien-x: 16px;
    --wnd-op-wylew: 16px;
    padding-top: var(--sg-pasmo-ciag);
    padding-bottom: var(--sg-pasmo-y);
    background: transparent;
    color: var(--sg-pergamin);
    font-family: var(--sg-font-tekst);
}
.wnd #opinie::before { display: none; }

.wnd #opinie .reviews__container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr);
    grid-template-areas:
        'nad nad nad nad'
        'glowa glowa glowa glowa'
        'lede lede lede lede'
        'ocena ocena ocena ocena'
        'tor tor tor tor'
        '. prev next .'
        'akcje akcje akcje akcje'
        'dopisek dopisek dopisek dopisek';
    column-gap: 0.75rem;
    width: min(100% - 2 * var(--sg-margines), var(--sg-tresc));
    max-width: none;
    margin-inline: auto;
    padding-inline: 0;
    text-align: center;
}
.wnd #opinie .reviews__heading--secondary { grid-area: nad; }
.wnd #opinie .reviews__heading--primary { grid-area: glowa; }
.wnd #opinie .reviews__lede { grid-area: lede; }
.wnd #opinie .opinie__summary { grid-area: ocena; }
.wnd #opinie .opinie__slider { display: contents; }
.wnd #opinie .opinie__rail { grid-area: tor; }
.wnd #opinie .opinie__arrow--prev { grid-area: prev; justify-self: auto; }
.wnd #opinie .opinie__arrow--next { grid-area: next; justify-self: auto; }
.wnd #opinie .opinie__actions { grid-area: akcje; }
.wnd #opinie .opinie__disclosure { grid-area: dopisek; }

/* głowa: eyebrow jak .wnd-nad, gwiazdka między kreskami pod nim, H2 = .sg-h2 na nocy */
.wnd #opinie .reviews__heading--secondary {
    display: block;
    width: auto;
    max-width: 40rem;
    margin: 0 auto;
    font-family: var(--sg-font-tekst);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.24em;
    color: var(--sg-zloto);
    text-wrap: balance;
}
.wnd #opinie .reviews__heading--secondary::before,
.wnd #opinie .reviews__heading--secondary::after { display: none; }
.wnd #opinie .reviews__heading--primary {
    max-width: 14em;
    margin: 0 auto;
    font-family: var(--sg-font-naglowek);
    font-size: var(--sg-fs-h2);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.005em;
    color: #f5ede0;
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.wnd #opinie .reviews__heading--primary::before {
    content: '';
    display: block;
    width: 156px;
    height: 12px;
    margin: 1.1rem auto 1.1rem;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c9a84c' d='M12 1l2.2 8.8L23 12l-8.8 2.2L12 23l-2.2-8.8L1 12l8.8-2.2z'/%3E%3C/svg%3E") center / 12px 12px no-repeat,
        linear-gradient(90deg, rgba(201, 168, 76, 0), var(--sg-zloto)) left center / 56px 1px no-repeat,
        linear-gradient(90deg, var(--sg-zloto), rgba(201, 168, 76, 0)) right center / 56px 1px no-repeat;
}
.wnd #opinie .reviews__lede {
    max-width: 42rem;
    margin: 1.25rem auto 0;
    font-size: var(--sg-fs-lede);
    font-style: italic;
    line-height: 1.65;
    color: rgba(245, 237, 224, 0.8);
}

/* ocena: złote kreski zamiast miedzi */
.wnd #opinie .opinie__summary {
    max-width: min(100%, 48rem);
    margin: 1.75rem auto 0;
    border-color: var(--sg-zloto-linia);
    text-wrap: balance;
}
.wnd #opinie .opinie__summary-text {
    font-size: var(--sg-fs-maly);
    color: rgba(245, 237, 224, 0.78);
}

/* tor trzyma krawędzie siatki; padding = miejsce na cień karty i fokus */
.wnd #opinie .opinie__rail {
    margin-top: calc(var(--sg-glowa-odstep) - 0.85rem);
    margin-inline: calc(-1 * var(--wnd-op-wylew));
    padding: 0.85rem var(--wnd-op-cien-x) 2.25rem;
}
.wnd #opinie .opinia {
    border-color: rgba(201, 168, 76, 0.35);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 24px 44px -24px rgba(0, 0, 0, 0.75);
}
.wnd #opinie .opinie__rail:focus-visible { outline: 3px solid var(--sg-zloto-jasne); outline-offset: -3px; }

@media (max-width: 767.98px) {
    .wnd #opinie { --wnd-op-wylew: var(--sg-margines); --wnd-op-cien-x: var(--sg-margines); }
    .wnd #opinie .opinie__rail:not(.swiper-initialized) .opinie__track { gap: var(--sg-odstep); }
}
@media (min-width: 600px) {
    .wnd #opinie { --op-slide: calc((100% - var(--sg-odstep)) / 2); }
}
@media (min-width: 600px) and (max-width: 767.98px) {
    .wnd #opinie { --wnd-op-wylew: 12px; --wnd-op-cien-x: 12px; }
}
@media (min-width: 1000px) {
    .wnd #opinie { --op-slide: calc((100% - 2 * var(--sg-odstep)) / 3); }
}

/* strzałki: kwadrat w złotej linii, parą pod torem */
.wnd #opinie .opinie__arrow {
    width: var(--wnd-op-strzalka);
    height: var(--wnd-op-strzalka);
    border: 1px solid rgba(201, 168, 76, 0.6);
    border-radius: 0;
    background: transparent;
    color: var(--sg-zloto-jasne);
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.wnd #opinie .opinie__arrow:hover {
    border-color: var(--sg-zloto);
    background: var(--sg-zloto);
    color: var(--sg-noc);
}
.wnd #opinie .opinie__arrow:focus-visible { outline: 3px solid var(--sg-zloto-jasne); outline-offset: 3px; }
.wnd #opinie .opinie__arrow:active { transform: none; }

/* przyciski = .sg-btn: 52 px, wersaliki, ostre rogi */
.wnd #opinie .opinie__actions {
    justify-content: center;
    gap: 0.875rem;
    margin: 1.75rem 0 0;
}
.wnd #opinie .opinie__cta {
    justify-content: center;
    gap: 0.75rem;
    min-height: 52px;
    max-width: 100%;
    padding: 0.85rem 1.75rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-etykieta);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.14em;
    text-align: center;
    overflow-wrap: anywhere;
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.wnd #opinie .opinie__cta:not(.opinie__cta--ghost) {
    background: var(--zoriana-cta);
    border-color: var(--zoriana-cta);
    color: var(--sg-noc);
}
.wnd #opinie .opinie__cta:not(.opinie__cta--ghost):hover {
    background: var(--zoriana-cta-hover);
    border-color: var(--zoriana-cta-hover);
    transform: none;
}
.wnd #opinie .opinie__cta--ghost {
    background: transparent;
    border-color: rgba(201, 168, 76, 0.7);
    color: #f5ede0;
}
.wnd #opinie .opinie__cta--ghost:hover {
    background: rgba(201, 168, 76, 0.12);
    border-color: var(--sg-zloto-jasne);
    color: #f5ede0;
    transform: none;
}
.wnd #opinie .opinie__cta:focus-visible {
    border-radius: 0;
    outline: 3px solid var(--sg-zloto-jasne);
    outline-offset: 3px;
    transform: none;
    box-shadow: none;
}
/* znak „G”: opinie.css (.opinie__cta-g), wspólny dla wszystkich skórek */

@media (max-width: 599.98px) {
    .wnd #opinie .opinie__actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
    .wnd #opinie .opinie__cta { width: 100%; }
}

.wnd #opinie .opinie__disclosure {
    max-width: 40rem;
    margin: 1.25rem auto 0;
    font-size: var(--sg-fs-maly);
    font-style: italic;
    line-height: 1.6;
    text-align: center;
    color: rgba(245, 237, 224, 0.7);
}
.wnd #opinie .opinie__disclosure a { color: var(--sg-zloto-jasne); }
.wnd #opinie .opinie__disclosure a:focus-visible { border-radius: 0; outline: 3px solid var(--sg-zloto-jasne); outline-offset: 2px; }

/* ---------- §7 pytania ---------- */

.wnd-faq .sg-h2 { margin-bottom: 1.5rem; max-width: none; }
.wnd-faq__lista { border-top: 1px solid rgba(42, 31, 20, 0.18); }
.wnd-faq__pytanie { border-bottom: 1px solid rgba(42, 31, 20, 0.18); }
/* Pytania: wspólny komponent `faq.css` (M-53); tu tylko kolory i linie. */
.wnd-faq { --zfaq-znak: var(--sg-miedz); }
.wnd-faq__pytanie summary { color: var(--sg-atrament); }
.wnd-faq__pytanie summary:focus-visible { outline: 3px solid var(--sg-noc); outline-offset: 3px; }
.wnd-faq__pytanie p { color: var(--sg-atrament-2); }
.wnd-faq a {
    color: var(--sg-rdza);
    text-decoration: underline;
    text-decoration-color: rgba(122, 66, 32, 0.4);
    text-underline-offset: 3px;
}
.wnd-faq a:hover { text-decoration-color: var(--sg-rdza); }

/* ---------- §8 zakończenie ---------- */

.wnd-koniec__rama {
    position: relative;
    max-width: 46rem;
    margin: 0 auto;
    padding: clamp(2.5rem, 2rem + 2vw, 3.5rem) clamp(1.25rem, 1rem + 2vw, 2.5rem);
    text-align: center;
}
.wnd-koniec__rama::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid var(--sg-zloto-linia);
    pointer-events: none;
}
.wnd-koniec__rama .sg-h2 { margin-top: 0.9rem; }
.wnd-koniec__tekst {
    max-width: 40ch;
    margin: 1rem auto 1.75rem;
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-lede);
    line-height: 1.6;
    color: rgba(245, 237, 224, 0.8);
}
.wnd-koniec__pod {
    margin: 1rem 0 0;
    font-family: var(--sg-font-tekst);
    font-size: var(--sg-fs-maly);
    color: rgba(245, 237, 224, 0.7);
}

/* ---------- ruch ---------- */

@media (prefers-reduced-motion: reduce) {
    .wnd-h1__dalej,
    .wnd-kartka,
    .wnd-znak,
    .wnd-wynik > *,
    .wnd-mostek__glowa { animation: none; }
    .wnd-wosk__misa::after { animation: none; }
    .wnd-wosk { transition: none; }
}
