/*
 * Motyw „Strażak – Duszpasterstwo” – TK.W CMS
 * Autor: Tomasz Skubela <skubelat@gmail.com>
 *
 * Warstwa wyglądu nakładana na style motywu Domyślnego (ładowane wcześniej).
 * Tu zmieniamy charakter: kolory, typografię, nagłówek, stopkę, karty.
 * Układ i działanie bloków zostają wspólne z motywem Domyślnym.
 *
 * Kontrasty (WCAG 2.1 AA) dla domyślnej palety:
 *   tekst #1c2331 na #fff ........ 15,6:1
 *   czerwień #a4161a na #fff ..... 7,4:1   (przyciski: biały na czerwieni 7,4:1)
 *   granat #14213d na #fff ....... 15,9:1
 *   złoto ciemne #7d5f1c na #fff . 5,6:1   (tekst drobny, nadtytuły)
 *   złoto #d8b25a na #0f1a2e ..... 8,6:1   (tekst na ciemnym tle)
 *   tekst słaby #515a6b na #fff .. 7,0:1
 */

:root {
    --kolor-glowny: #a4161a;
    --kolor-glowny-ciemny: #7c1014;
    --kolor-granat: #14213d;
    --kolor-akcent: #b58a2e;
    --kolor-zloto-tekst: #7d5f1c;
    --kolor-zloto-jasne: #d8b25a;
    --kolor-tekst: #1c2331;
    --kolor-tekst-slaby: #515a6b;
    --kolor-tlo: #ffffff;
    --kolor-tlo-jasne: #f5f3ee;
    --kolor-tlo-ciemne: #0f1a2e;
    --kolor-obramowanie: #e3ded3;
    --kolor-menu-rozwijane: #1b2436;
    --promien: 6px;
    --szerokosc: 1200px;
    --rozmiar-bazowy: 18px;
    --cien: 0 1px 2px rgba(20, 33, 61, .05), 0 6px 20px rgba(20, 33, 61, .07);
    --cien-mocny: 0 18px 44px rgba(20, 33, 61, .16);
    --font-naglowki: var(--font);
    --sg-przejscie: .22s cubic-bezier(.2, .6, .2, 1);
}

/* --------------------------------------------------------------- podstawy */

body { line-height: 1.7; color: var(--kolor-tekst); }

h1, h2, h3, h4, h5,
.tkw-logo__tekst, .tkw-liczba__licznik, .tkw-pakiet__cena, .tkw-odliczanie__liczba {
    font-family: var(--font-naglowki);
    color: var(--kolor-granat);
}
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.01em; line-height: 1.18; }
h1 { font-size: clamp(2.1rem, 4.4vw, 3.3rem); }
h2 { font-size: clamp(1.65rem, 3.2vw, 2.35rem); }
h3 { font-size: 1.28rem; line-height: 1.3; }
h4 { font-size: 1.08rem; }

a { color: var(--kolor-glowny); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--kolor-glowny-ciemny); text-decoration-thickness: 2px; }

::selection { background: var(--kolor-granat); color: #fff; }

blockquote { border-left-color: var(--kolor-akcent); font-family: var(--font-naglowki); font-style: italic; }
hr { border-top-color: var(--kolor-obramowanie); }

:focus-visible { outline: 3px solid var(--kolor-glowny); outline-offset: 3px; border-radius: 2px; }
.tkw-tlo--ciemne :focus-visible, .sg-stopka :focus-visible, .sg-pasek :focus-visible, .sg-tytul :focus-visible,
.tkw-menu__podmenu :focus-visible, .sg-hero :focus-visible, .tkw-blok--obraz-tla :focus-visible {
    outline-color: var(--kolor-zloto-jasne);
}
.tkw-main:focus { outline: none; }

/* Tekst tylko dla czytników ekranu */
.sg-sr {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.tkw-pomin { background: var(--kolor-granat); color: #fff; font-weight: 600; text-decoration: none; }
.tkw-pomin:focus { left: 0; outline-color: var(--kolor-zloto-jasne); }
.sg-pomin-menu:focus { left: 180px; }

/* ---------------------------------------------------------- pasek górny */

.sg-pasek { background: var(--kolor-granat); color: #dfe3ec; font-size: .86rem; }
.sg-pasek__wnetrze { display: flex; align-items: center; gap: 22px; min-height: 40px; flex-wrap: wrap; }
.sg-pasek__haslo {
    margin: 0; font-family: var(--font-naglowki); font-style: italic; letter-spacing: .01em;
    display: inline-flex; align-items: center; gap: 9px;
}
.sg-pasek__krzyz { color: var(--kolor-zloto-jasne); font-style: normal; font-size: 1.05em; }
.sg-pasek__odstep { flex: 1 1 auto; }
.sg-pasek__pozycja {
    display: inline-flex; align-items: center; gap: 7px; color: #fff; text-decoration: none; white-space: nowrap;
}
.sg-pasek__pozycja svg { color: var(--kolor-zloto-jasne); }
.sg-pasek__pozycja:hover { color: var(--kolor-zloto-jasne); text-decoration: underline; }

/* ---------------------------------------------------------------- nagłówek */

.sg-naglowek { background: var(--kolor-tlo); border-bottom: 1px solid var(--kolor-obramowanie); }
.sg-naglowek.jest-przewiniety { box-shadow: 0 6px 24px rgba(20, 33, 61, .09); border-bottom-color: transparent; }
.sg-naglowek .tkw-naglowek__wnetrze { min-height: 90px; gap: 22px; }

.sg-logo { gap: 13px; text-decoration: none; color: var(--kolor-granat); }
.sg-logo:hover { text-decoration: none; }
.sg-logo__znak { width: 46px; height: auto; flex: 0 0 46px; }
.sg-logo__obraz { max-height: 60px; width: auto; }
.sg-logo__tekst { display: grid; line-height: 1.12; }
.sg-logo__l1 {
    font-family: var(--font-naglowki); font-weight: 700; font-size: 1.22rem; color: var(--kolor-granat); letter-spacing: -.005em;
}
.sg-logo__l2 {
    font-size: .74rem; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: var(--kolor-zloto-tekst); margin-top: 3px;
}

/* Menu – pozycje jak na makiecie: spokojne, z linią pod aktywną pozycją */
.sg-naglowek .tkw-menu { gap: 2px; align-items: center; }
.sg-naglowek .tkw-menu > .tkw-menu__pozycja { display: flex; align-items: center; }
.sg-naglowek .tkw-menu__pozycja > a {
    position: relative; border-radius: 0; padding: 12px 11px; color: #2c3446;
    font-size: 1rem; font-weight: 500; text-decoration: none; background: none; white-space: nowrap;
}
.sg-naglowek .tkw-menu > .tkw-menu__pozycja > a::after {
    content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px;
    background: var(--kolor-granat); transform: scaleX(0); transform-origin: left; transition: transform var(--sg-przejscie);
}
.sg-naglowek .tkw-menu > .tkw-menu__pozycja > a:hover { color: var(--kolor-granat); background: none; }
.sg-naglowek .tkw-menu > .tkw-menu__pozycja > a:hover::after { transform: scaleX(1); background: var(--kolor-glowny); }
.sg-naglowek .tkw-menu > .tkw-menu__pozycja.jest-aktywna > a { color: var(--kolor-granat); font-weight: 600; }
.sg-naglowek .tkw-menu > .tkw-menu__pozycja.jest-aktywna > a::after { transform: scaleX(1); }
.sg-naglowek .tkw-menu > .ma-podmenu > a { padding-right: 4px; }
.sg-naglowek .tkw-menu > .ma-podmenu > a::after { right: 4px; }

/* Przycisk rozwijania – na komputerze mała strzałka obok nazwy */
.sg-naglowek .tkw-menu__rozwin {
    display: inline-flex; position: relative; width: 26px; height: 34px; border: 0; background: none; cursor: pointer;
    color: #4a5367; padding: 0; margin-right: 4px; border-radius: 4px;
}
.sg-naglowek .tkw-menu__rozwin::before {
    content: ''; position: absolute; top: 12px; left: 9px; width: 7px; height: 7px;
    border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
    transform: rotate(45deg); transition: transform var(--sg-przejscie);
}
.sg-naglowek .tkw-menu__rozwin[aria-expanded="true"]::before { transform: rotate(225deg); top: 15px; }

/* Menu rozwijane – ciemne, jak na makiecie */
.sg-naglowek .tkw-menu__podmenu {
    top: calc(100% + 2px); left: 0; min-width: 250px; padding: 0; border: 0; border-radius: 0 0 var(--promien) var(--promien);
    background: var(--kolor-menu-rozwijane); box-shadow: 0 22px 44px rgba(10, 16, 30, .32);
    border-top: 3px solid var(--kolor-akcent);
}
.sg-naglowek .tkw-menu__pozycja.jest-rozwinieta > .tkw-menu__podmenu { opacity: 1; visibility: visible; transform: none; }
.sg-naglowek .tkw-menu__podmenu .tkw-menu__pozycja + .tkw-menu__pozycja { border-top: 1px solid rgba(255, 255, 255, .08); }
.sg-naglowek .tkw-menu__podmenu a {
    color: #f1f3f7; padding: 15px 22px; border-radius: 0; font-size: .98rem; text-decoration: none; display: block;
    transition: background var(--sg-przejscie), padding var(--sg-przejscie), color var(--sg-przejscie);
}
.sg-naglowek .tkw-menu__podmenu a:hover,
.sg-naglowek .tkw-menu__podmenu a:focus-visible { background: rgba(255, 255, 255, .06); color: #fff; padding-left: 28px; }
.sg-naglowek .tkw-menu__podmenu .jest-aktywna > a { color: var(--kolor-zloto-jasne); font-weight: 600; }
.sg-naglowek .tkw-menu__podmenu .tkw-menu__rozwin { display: none; }

/* Wyszukiwarka w nagłówku */
.sg-szukaj-przycisk {
    width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%;
    border: 1px solid var(--kolor-obramowanie); background: var(--kolor-tlo); color: var(--kolor-granat); cursor: pointer;
    transition: background var(--sg-przejscie), color var(--sg-przejscie), border-color var(--sg-przejscie);
}
.sg-szukaj-przycisk:hover, .sg-szukaj-przycisk[aria-expanded="true"] { background: var(--kolor-granat); color: #fff; border-color: var(--kolor-granat); }
.sg-szukaj-panel { border-top: 1px solid var(--kolor-obramowanie); background: var(--kolor-tlo-jasne); padding: 18px 0; }
.sg-szukaj, .sg-szukaj-mobilne { display: flex; gap: 10px; }
.sg-szukaj input, .sg-szukaj-mobilne input {
    flex: 1 1 auto; min-width: 0; font: inherit; padding: 12px 16px; border: 1px solid #b9b3a6; border-radius: var(--promien);
    background: #fff; color: var(--kolor-tekst);
}
.sg-szukaj-mobilne { display: none; }

.tkw-hamburger { color: var(--kolor-granat); border-color: var(--kolor-obramowanie); width: 46px; height: 46px; }

/* ---------------------------------------------------------------- przyciski */

.tkw-przycisk {
    border-radius: var(--promien); padding: 13px 26px; font-weight: 600; font-size: 1rem; letter-spacing: .01em;
    text-decoration: none; border-width: 2px;
}
.tkw-przycisk:hover { text-decoration: none; transform: translateY(-1px); }
.tkw-przycisk--glowny { background: var(--kolor-glowny); border-color: var(--kolor-glowny); color: #fff; }
.tkw-przycisk--glowny:hover { background: var(--kolor-glowny-ciemny); border-color: var(--kolor-glowny-ciemny); color: #fff; box-shadow: 0 8px 20px rgba(164, 22, 26, .22); }
.tkw-przycisk--obrys { background: transparent; border-color: var(--kolor-granat); color: var(--kolor-granat); }
.tkw-przycisk--obrys:hover { background: var(--kolor-granat); border-color: var(--kolor-granat); color: #fff; }
.tkw-przycisk--jasny { background: #fff; border-color: #fff; color: var(--kolor-granat); }
.tkw-przycisk--jasny:hover { background: var(--kolor-tlo-jasne); color: var(--kolor-granat); }
.tkw-przycisk--tekstowy { color: var(--kolor-glowny); padding-left: 0; padding-right: 0; text-decoration: underline; text-underline-offset: 5px; }
.tkw-tlo--ciemne .tkw-przycisk--obrys, .tkw-blok--obraz-tla .tkw-przycisk--obrys, .sg-hero .tkw-przycisk--obrys { border-color: #fff; color: #fff; }
.tkw-tlo--ciemne .tkw-przycisk--obrys:hover, .tkw-blok--obraz-tla .tkw-przycisk--obrys:hover, .sg-hero .tkw-przycisk--obrys:hover { background: #fff; color: var(--kolor-granat); }

/* --------------------------------------------------------- nagłówki sekcji */

.tkw-nadtytul {
    color: var(--kolor-glowny); text-transform: uppercase; letter-spacing: .16em; font-size: .8rem; font-weight: 700;
    display: inline-flex; align-items: center; gap: 12px;
}
.tkw-nadtytul::before { content: ''; width: 28px; height: 2px; background: var(--kolor-akcent); }
.tkw-tekst--srodek .tkw-nadtytul::after, .tkw-naglowek-sekcji.tkw-tekst--srodek .tkw-nadtytul::after {
    content: ''; width: 28px; height: 2px; background: var(--kolor-akcent);
}
.tkw-tytul-sekcji { color: var(--kolor-granat); }
.tkw-opis-sekcji { color: var(--kolor-tekst-slaby); }

.tkw-tlo--ciemne .tkw-nadtytul, .tkw-blok--obraz-tla .tkw-nadtytul { color: var(--kolor-zloto-jasne); }
.tkw-tlo--ciemne h1, .tkw-tlo--ciemne h2, .tkw-tlo--ciemne h3, .tkw-tlo--ciemne .tkw-tytul-sekcji { color: #fff; }
.tkw-tlo--ciemne { background: var(--kolor-granat); }
.tkw-tlo--ciemne .tkw-opis-sekcji, .tkw-tlo--ciemne .tkw-kafel__opis { color: #c9d0dd; }
.tkw-tlo--ciemne a:not(.tkw-przycisk) { color: var(--kolor-zloto-jasne); }
.tkw-tlo--akcent { background: var(--kolor-glowny); }
.tkw-tlo--akcent .tkw-nadtytul { color: #fff; }

/* ------------------------------------------------------- pasek tytułu podstron */

.sg-tytul {
    position: relative; overflow: hidden; color: #fff; padding: 46px 0 50px;
    background:
        radial-gradient(1200px 380px at 88% -40%, rgba(181, 138, 46, .20), transparent 60%),
        linear-gradient(135deg, var(--kolor-granat) 0%, #0b1426 100%);
}
.sg-tytul::after {
    content: ''; position: absolute; right: max(3vw, calc((100vw - var(--szerokosc)) / 2)); top: 50%;
    width: 150px; height: 174px; transform: translateY(-50%);
    background: url("img/znak-kontur.svg") center / contain no-repeat; opacity: .10; pointer-events: none;
}
.sg-tytul--zdjecie { background: #0b1426 var(--sg-tlo-tytulu) center / cover no-repeat; }
.sg-tytul--zdjecie::before {
    content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 20, 38, .93) 0%, rgba(11, 20, 38, .72) 60%, rgba(11, 20, 38, .5) 100%);
}
.sg-tytul > .tkw-kontener { position: relative; z-index: 1; }
.sg-tytul__nad {
    margin: 0 0 8px; color: var(--kolor-zloto-jasne); text-transform: uppercase; letter-spacing: .16em; font-size: .8rem; font-weight: 700;
}
.sg-tytul__naglowek { color: #fff; margin: 0; max-width: 900px; font-size: clamp(1.9rem, 4vw, 2.9rem); }
.sg-tytul__opis { color: #d3d9e4; max-width: 760px; margin: 12px 0 0; font-size: 1.08rem; }

.tkw-okruszki { font-size: .9rem; margin-bottom: 18px; }
.tkw-okruszki ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.tkw-okruszki li { display: inline-flex; align-items: center; gap: 6px; }
.tkw-okruszki li + li::before { content: '›'; opacity: .6; }
.sg-tytul .tkw-okruszki a { color: #e6eaf1; text-decoration: none; }
.sg-tytul .tkw-okruszki a:hover { color: #fff; text-decoration: underline; }
.sg-tytul .tkw-okruszki [aria-current] { color: var(--kolor-zloto-jasne); }
.sg-okruszki-pas { background: var(--kolor-tlo-jasne); border-bottom: 1px solid var(--kolor-obramowanie); padding: 14px 0 0; }
.sg-okruszki-pas .tkw-okruszki { margin-bottom: 14px; }
.sg-okruszki-pas .tkw-okruszki a { color: var(--kolor-granat); }

/* ------------------------------------------------------------------- karty */

.tkw-wpis, .tkw-kafel--karta, .tkw-opinia, .tkw-pakiet {
    border: 1px solid var(--kolor-obramowanie); border-radius: var(--promien); background: #fff;
    transition: box-shadow var(--sg-przejscie), transform var(--sg-przejscie), border-color var(--sg-przejscie);
}
.tkw-wpis:hover, .tkw-kafel--karta:hover { box-shadow: var(--cien-mocny); transform: translateY(-3px); border-color: #d6cfbf; }
.tkw-wpis__link { text-decoration: none; color: inherit; }
.tkw-wpis__link:hover { text-decoration: none; }
.tkw-wpis__media { overflow: hidden; }
.tkw-wpis__obraz { transition: transform .6s ease; }
.tkw-wpis:hover .tkw-wpis__obraz { transform: scale(1.04); }
.tkw-wpis__tytul { color: var(--kolor-granat); }
.tkw-wpis__link:hover .tkw-wpis__tytul { text-decoration: underline; text-decoration-color: var(--kolor-akcent); text-underline-offset: 4px; }
.tkw-wpis__data, .tkw-wpis__meta { color: var(--kolor-tekst-slaby); font-size: .88rem; }
.tkw-wpis__kategoria { color: var(--kolor-zloto-tekst); font-weight: 600; }
.tkw-wpis__wiecej { color: var(--kolor-glowny); font-weight: 600; }
.tkw-kafel__ikona { color: var(--kolor-glowny); background: color-mix(in srgb, var(--kolor-glowny) 8%, #fff); }
.tkw-kafel__tytul { color: var(--kolor-granat); }

.tkw-filtr {
    border: 1px solid var(--kolor-obramowanie); background: #fff; color: var(--kolor-granat); text-decoration: none;
    border-radius: 999px; padding: 8px 16px; font-weight: 500;
}
.tkw-filtr:hover { border-color: var(--kolor-granat); text-decoration: none; }
.tkw-filtr.jest-aktywny, .tkw-filtr[aria-pressed="true"] { background: var(--kolor-granat); border-color: var(--kolor-granat); color: #fff; }

.tkw-paginacja a, .tkw-paginacja span { border-radius: var(--promien); }
.tkw-paginacja .jest-aktywna { background: var(--kolor-granat); color: #fff; border-color: var(--kolor-granat); }

.tkw-cytat--karta { border-left: 4px solid var(--kolor-akcent); }
.tkw-cytat blockquote, .tkw-cytat p { font-family: var(--font-naglowki); }
.tkw-cta { background: var(--kolor-granat); color: #fff; border-radius: var(--promien); position: relative; overflow: hidden; }
.tkw-cta::before {
    content: ''; position: absolute; right: -30px; bottom: -40px; width: 220px; height: 255px;
    background: url("img/znak-kontur.svg") center / contain no-repeat; opacity: .08;
}
.tkw-cta__tytul { color: #fff; }
.tkw-cta__opis { color: #d3d9e4; }
.tkw-liczba__licznik { color: var(--kolor-glowny); }
.tkw-liczba__etykieta { color: var(--kolor-tekst-slaby); }
.tkw-tlo--ciemne .tkw-liczba__licznik { color: var(--kolor-zloto-jasne); }
.tkw-tlo--ciemne .tkw-liczba__etykieta { color: #d3d9e4; }
.tkw-os__znacznik { background: var(--kolor-glowny); }
.tkw-akordeon__pytanie { color: var(--kolor-granat); }

.tkw-formularz input, .tkw-formularz textarea, .tkw-formularz select, .tkw-kontrolka {
    border-color: #b9b3a6;
}
.tkw-formularz input:focus, .tkw-formularz textarea:focus, .tkw-formularz select:focus {
    border-color: var(--kolor-granat); box-shadow: 0 0 0 3px color-mix(in srgb, var(--kolor-granat) 18%, transparent);
}

.tkw-szukajka input { border-color: #b9b3a6; }

/* Treść stron: czytelna długość wiersza i ozdobne podkreślenie nagłówków */
.tkw-tresc h2, .tkw-waska-tresc h2 { margin-top: 1.6em; }
.tkw-tresc h2:first-child { margin-top: 0; }
.tkw-tresc a, .tkw-waska-tresc a { font-weight: 500; }

/* ---------------------------------------------------------------- stopka */

.sg-stopka { background: var(--kolor-tlo-ciemne); color: #c9d0dd; padding-top: 0; }
.sg-stopka__wezwanie { border-bottom: 1px solid rgba(255, 255, 255, .08); padding: 26px 0; text-align: center; }
.sg-stopka__wezwanie p {
    margin: 0; font-family: var(--font-naglowki); font-style: italic; font-size: 1.28rem; color: var(--kolor-zloto-jasne);
    display: inline-flex; align-items: center; gap: 18px;
}
.sg-stopka__ornament { width: 44px; height: 1px; background: currentColor; opacity: .6; }
.sg-stopka__siatka { padding: 56px 0 40px; }
.sg-stopka__marka .sg-logo__l1 { color: #fff; }
.sg-stopka__marka .sg-logo__l2 { color: var(--kolor-zloto-jasne); }
.sg-stopka__marka { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.sg-stopka__marka .sg-logo__znak { width: 52px; flex-basis: 52px; }
.sg-stopka__marka .sg-logo__obraz { max-height: 64px; background: #fff; padding: 6px; border-radius: 4px; }
.sg-stopka__naglowek {
    color: #fff; font-size: 1.05rem; margin: 0 0 16px; font-family: var(--font); font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em;
}
.sg-stopka__naglowek::after { content: ''; display: block; width: 30px; height: 2px; background: var(--kolor-akcent); margin-top: 10px; }
.sg-stopka a { color: #fff; text-decoration: none; }
.sg-stopka a:hover { color: var(--kolor-zloto-jasne); text-decoration: underline; }
.sg-stopka .tkw-stopka__opis { color: #b9c2d2; }
.sg-stopka .tkw-stopka__lista svg { color: var(--kolor-zloto-jasne); }
.sg-stopka .tkw-stopka__dol { color: #9eabbf; border-top-color: rgba(255, 255, 255, .1); }
.sg-stopka .tkw-menu-stopka a, .sg-stopka .tkw-menu-prawne a { color: #e3e7ef; }

/* ---------------------------------------------------------------- 404 */

.sg-404__znak { margin: 0 auto 18px; width: 72px; }
.sg-404__opis { color: var(--kolor-tekst-slaby); max-width: 520px; margin: 0 auto 26px; }
.sg-404 .tkw-szukajka { max-width: 460px; margin: 0 auto 24px; }

/* -------------------------------------------------------------- animacje */

@media (prefers-reduced-motion: no-preference) {
    .sg-animacje .sg-odslon { opacity: 0; transform: translateY(16px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .6, .2, 1); }
    .sg-animacje .sg-odslon.jest-widoczny { opacity: 1; transform: none; }
    .sg-animacje .sg-odslon-dzieci > * { opacity: 0; transform: translateY(12px); transition: opacity .7s ease, transform .7s ease; }
    .sg-animacje .sg-odslon-dzieci.jest-widoczny > * { opacity: 1; transform: none; }
    .sg-animacje .sg-odslon-dzieci.jest-widoczny > *:nth-child(2) { transition-delay: .08s; }
    .sg-animacje .sg-odslon-dzieci.jest-widoczny > *:nth-child(3) { transition-delay: .16s; }
    .sg-animacje .sg-odslon-dzieci.jest-widoczny > *:nth-child(4) { transition-delay: .24s; }
    .sg-animacje .sg-odslon-dzieci.jest-widoczny > *:nth-child(n+5) { transition-delay: .3s; }
}

/* Panel dostępności: „Zatrzymaj animacje” wyłącza wszystko */
.dc-bez-animacji .sg-odslon, .dc-bez-animacji .sg-odslon-dzieci > * { opacity: 1 !important; transform: none !important; transition: none !important; }

/* ------------------------------------------------------------ responsywność */

@media (max-width: 1240px) {
    .sg-naglowek .tkw-naglowek__wnetrze { gap: 14px; }
    .sg-naglowek .tkw-menu > .tkw-menu__pozycja > a { padding-left: 8px; padding-right: 8px; font-size: .95rem; }
    .sg-naglowek .tkw-menu > .tkw-menu__pozycja > a::after { left: 8px; right: 8px; }
    .sg-naglowek .tkw-menu__rozwin { width: 22px; margin-right: 0; }
    .sg-naglowek .tkw-menu__rozwin::before { left: 7px; }
    .sg-logo__znak { width: 40px; flex-basis: 40px; }
    .sg-logo__l1 { font-size: 1.05rem; }
    .sg-logo__l2 { font-size: .66rem; letter-spacing: .12em; }
}

/* Menu mobilne od 1060 px – przy sześciu pozycjach menu i dwuwierszowej nazwie
   poziome menu przestaje się mieścić wcześniej niż w motywie Domyślnym (900 px). */
@media (max-width: 1060px) {
    .tkw-hamburger { display: flex; }
    .tkw-nawigacja {
        position: fixed; inset: var(--sg-nav-top, 76px) 0 0; padding: 22px; margin: 0;
        transform: translateX(100%); transition: transform .24s ease; overflow-y: auto; z-index: 55;
        visibility: hidden;
    }
    .tkw-nawigacja.jest-otwarta { transform: none; visibility: visible; }
    .tkw-menu { flex-direction: column; gap: 2px; }
    .tkw-nawigacja__mobilne { display: grid; gap: 10px; margin-top: 22px; }
    .tkw-naglowek__cta { display: none; }
    .sg-naglowek .tkw-naglowek__wnetrze { min-height: 74px; }
    .sg-pasek__haslo { display: none; }
    .sg-pasek__wnetrze { justify-content: center; min-height: 36px; gap: 16px; }
    .sg-pasek__odstep { display: none; }

    .tkw-nawigacja {
        top: var(--sg-nav-top, 76px); bottom: 0; left: 0; right: 0; inset: var(--sg-nav-top, 76px) 0 0;
        background: var(--kolor-tlo); border-top: 1px solid var(--kolor-obramowanie);
    }
    .sg-naglowek .tkw-menu { align-items: stretch; }
    .sg-naglowek .tkw-menu > .tkw-menu__pozycja { display: block; position: relative; border-bottom: 1px solid var(--kolor-obramowanie); }
    .sg-naglowek .tkw-menu__pozycja > a { padding: 15px 56px 15px 6px; font-size: 1.08rem; }
    .sg-naglowek .tkw-menu > .tkw-menu__pozycja > a::after { display: none; }
    .sg-naglowek .tkw-menu > .tkw-menu__pozycja.jest-aktywna > a { color: var(--kolor-glowny); }
    .sg-naglowek .tkw-menu__rozwin {
        position: absolute; right: 0; top: 6px; width: 46px; height: 46px; margin: 0;
        border: 1px solid var(--kolor-obramowanie); border-radius: var(--promien);
    }
    .sg-naglowek .tkw-menu__rozwin::before { top: 17px; left: 18px; }
    .sg-naglowek .tkw-menu__rozwin[aria-expanded="true"]::before { top: 21px; }
    .sg-naglowek .tkw-menu__podmenu {
        position: static; opacity: 1; visibility: visible; transform: none; display: none;
        background: var(--kolor-menu-rozwijane); border-radius: var(--promien); margin: 0 0 12px; min-width: 0; box-shadow: none;
    }
    .sg-naglowek .tkw-menu__pozycja.jest-rozwinieta > .tkw-menu__podmenu { display: block; }
    .sg-naglowek .tkw-menu__podmenu a { padding: 14px 18px; }
    .sg-szukaj-mobilne { display: flex; }
    .sg-szukaj-przycisk { display: none; }
    .sg-szukaj-panel { display: none; }
    .sg-tytul { padding: 32px 0 36px; }
    .sg-tytul::after { width: 90px; height: 104px; opacity: .08; }
}

@media (max-width: 620px) {
    :root { --rozmiar-bazowy: 17px; }
    .sg-logo__znak { width: 38px; flex-basis: 38px; }
    .sg-logo__l1 { font-size: 1rem; }
    .sg-logo__l2 { font-size: .64rem; letter-spacing: .12em; }
    .sg-pasek__pozycja span { font-size: .8rem; }
    .sg-stopka__wezwanie p { font-size: 1.1rem; gap: 10px; }
    .sg-stopka__ornament { width: 22px; }
    .tkw-przycisk { width: 100%; }
    .tkw-przyciski { display: grid; }
}

@media (max-width: 380px) {
    .sg-logo__l2 { display: none; }
}

@media print {
    .sg-pasek, .sg-szukaj-panel { display: none !important; }
    .sg-tytul { background: none; color: #000; padding: 0; }
    .sg-tytul__naglowek { color: #000; }
}

@media (max-width: 1060px) {
    .sg-szukaj-mobilne .tkw-przycisk { width: auto; flex: 0 0 auto; }
    .tkw-nawigacja { padding-bottom: 96px; }
}
