/* Egipt — pierwszy moduł filaru „Bliski Wschód".
   Barwy z materiałów, nie z palety: fajans, złoto, karneol, lapis i granit.
   Miara: 1520 px treści, jak wszędzie w serwisie.
   Podpisem strony jest oś czterech Egiptów — szerokość odcinka odpowiada
   długości okresu, więc od pierwszego spojrzenia widać, że Egipt faraoński
   trwał dłużej niż wszystko, co po nim. */
.teg-strona {
	--tlo: #0d0c14; --panel: rgba( 16, 15, 30, .76 ); --obrys: rgba( 224, 179, 84, .3 ); --wlos: rgba( 224, 179, 84, .13 );
	--zloto: #f0cd7d; --zloto-cieply: #e0b354; --zloto-etyk: #b99a63;
	--fajans: #3fa79b; --karneol: #b2452f; --lapis: #3f6fb2; --papirus: #ddd7c8;
	--tekst: #b0aec0; --tekst-slaby: #8f8da2; --tekst-mocny: #e7e3ea;
	--serif: 'Cormorant Garamond', Georgia, serif; --sans: Jost, system-ui, sans-serif;
	--hier: 'Noto Sans Egyptian Hieroglyphs', 'Segoe UI Historic', serif;
	position: relative; max-width: 1520px; margin: 0 auto; padding: 0 40px 90px; color: var( --tekst ); font: 300 15px var( --sans );
	background: radial-gradient( 1200px 620px at 50% -10%, rgba( 63, 167, 155, .2 ), transparent 70% ), radial-gradient( 900px 520px at 84% 30%, rgba( 178, 69, 47, .1 ), transparent 70% ), var( --tlo ); overflow-x: clip;
}
.teg-strona *, .teg-strona *::before, .teg-strona *::after { box-sizing: border-box; }
body:has( .teg-strona ) .wp-site-blocks > header, body:has( .teg-strona ) header.wp-block-template-part, body:has( .teg-strona ) .wp-site-blocks > footer, body:has( .teg-strona ) footer.wp-block-template-part, body:has( .teg-strona ) .wp-block-post-title { display: none !important; }
body:has( .teg-strona ) .wp-site-blocks, body:has( .teg-strona ) .wp-block-group, body:has( .teg-strona ) .wp-block-post-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }
body:has( .teg-strona ) .wp-block-post-content > *, body:has( .teg-strona ) .entry-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body:has( .teg-strona ) { background: #0d0c14; }
body:has( .teg-strona ) .wp-block-post-content > .teg-strona, body:has( .teg-strona ) .entry-content > .teg-strona, .teg-strona { box-sizing: border-box; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; }
.teg-strona button { font-family: inherit; }
/* Hieroglify: font ma wysoki tusz, wiec interlinia nigdy ponizej 1,6. */
.teg-strona [class*="glif"], .teg-hier { font-family: var( --hier ); line-height: 1.6; }

.teg-sciezka { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 18px 0 6px; font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: var( --tekst-slaby ); }
.teg-sciezka i { font-style: normal; color: var( --zloto-etyk ); } .teg-sciezka b { font-weight: 400; color: var( --zloto ); }
.teg-poziom { margin: 0 0 0 auto; }
.teg-poziom span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border: 1px solid var( --wlos ); border-radius: 999px; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var( --tekst ); }
.teg-poziom span::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: var( --fajans ); box-shadow: 0 0 10px var( --fajans ); }

.teg-hero { max-width: 80ch; padding: 44px 0 8px; }
.teg-nad { margin: 0 0 12px; font-size: 11px; letter-spacing: .34em; text-transform: uppercase; color: var( --zloto-etyk ); }
.teg-tytul { margin: 0; font: 500 clamp( 46px, 5.4vw, 80px )/1.03 var( --serif ); color: var( --zloto-cieply ); }
.teg-tytul small { display: block; margin-top: 8px; font: 300 16px var( --sans ); letter-spacing: .14em; color: var( --fajans ); }
.teg-lead { margin: 22px 0 0; font-size: 16.5px; line-height: 1.75; color: var( --tekst-mocny ); }

.teg-sekcja { margin: 76px 0 0; }
.teg-sekcja--scisla { position: relative; margin-top: 44px; padding: 34px 30px 30px; border: 1px solid var( --wlos ); border-radius: 26px; background: radial-gradient( 900px 420px at 18% 0%, rgba( 63, 167, 155, .1 ), transparent 65% ), linear-gradient( 180deg, rgba( 18, 17, 34, .8 ), rgba( 10, 9, 20, .93 ) ); box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .05 ), 0 40px 90px -50px rgba( 0, 0, 0, .95 ); }
.teg-sekcja__nad { margin: 0 0 8px; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var( --zloto-etyk ); }
.teg-sekcja__tytul { margin: 0; font: 500 clamp( 28px, 3vw, 40px )/1.15 var( --serif ); color: var( --zloto-cieply ); }
.teg-sekcja__lead { max-width: 78ch; margin: 12px 0 0; font-size: 14.5px; line-height: 1.7; color: var( --tekst ); }

/* ── oś czterech Egiptów: szerokość odcinka = długość okresu ── */
.teg-os { display: flex; gap: 4px; margin: 28px 0 0; }
.teg-okres { position: relative; flex: var( --waga ) 1 0; display: grid; align-content: end; gap: 6px; min-width: 0; padding: 26px 16px 16px; border: 1px solid var( --wlos ); border-bottom: 3px solid color-mix( in srgb, var( --k ) 70%, transparent ); border-radius: 14px 14px 4px 4px; background: linear-gradient( 180deg, rgba( 16, 15, 30, .3 ), color-mix( in srgb, var( --k ) 14%, transparent ) ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: transform .24s, border-color .24s, box-shadow .24s, background .24s; }
.teg-okres:hover { transform: translateY( -4px ); box-shadow: 0 24px 50px -30px rgba( 0, 0, 0, .95 ), 0 0 40px -18px color-mix( in srgb, var( --k ) 60%, transparent ); }
.teg-okres:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 3px; }
.teg-okres.jest-wybrany { background: linear-gradient( 180deg, rgba( 16, 15, 30, .2 ), color-mix( in srgb, var( --k ) 30%, transparent ) ); border-color: color-mix( in srgb, var( --k ) 60%, transparent ); }
/* Odcinki maja rozne szerokosci, wiec daty musza sie miescic w waskich tak samo
   jak w szerokich — inaczej najkrotszy okres rozpycha caly rzad na wysokosc. */
.teg-okres { min-height: 132px; }
.teg-okres b { font: 500 clamp( 15px, 1.5vw, 21px )/1.15 var( --serif ); color: var( --zloto ); }
.teg-okres small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 10px; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: var( --tekst-slaby ); }
.teg-okres i { order: -1; font-style: normal; font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: color-mix( in srgb, var( --k ) 85%, white 14% ); }
.teg-os__opis { margin: 18px 0 0; padding: 22px 26px; border: 1px solid var( --wlos ); border-left: 2px solid var( --k, var( --fajans ) ); border-radius: 0 16px 16px 0; background: var( --panel ); }
.teg-os__opis h3 { margin: 0 0 6px; font: 500 24px var( --serif ); color: var( --zloto-cieply ); }
.teg-os__opis p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.7; }
.teg-os__opis p:last-child { margin-bottom: 0; }
.teg-os__opis em { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px solid var( --wlos ); font-style: normal; font-size: 13.5px; line-height: 1.6; color: var( --tekst-slaby ); }

/* ── panele (heka, uczciwość) ── */
.teg-ramy__siatka { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 20px; margin: 26px 0 0; }
.teg-ramy__siatka > div { padding: 26px 28px; border: 1px solid var( --wlos ); border-top: 2px solid color-mix( in srgb, var( --fajans ) 55%, transparent ); border-radius: 3px 3px 20px 20px; background: var( --panel ); }
.teg-ramy__siatka > div.jest-uczciwie { border-top-color: color-mix( in srgb, var( --karneol ) 60%, transparent ); }
.teg-ramy__siatka i { display: block; margin-bottom: 10px; font-style: normal; font-size: 22px; color: var( --fajans ); }
.teg-ramy__siatka b { display: block; margin-bottom: 8px; font: 500 21px var( --serif ); color: var( --zloto-cieply ); }
.teg-ramy__siatka p { margin: 0 0 10px; font-size: 14px; line-height: 1.7; }
.teg-ramy__siatka p:last-child { margin-bottom: 0; }

/* ── tor amuletów ── */
.teg-rodziny { display: flex; flex-wrap: wrap; gap: 16px; margin: 22px 0 0; }
.teg-rodzina { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; font: inherit; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var( --tekst-slaby ); cursor: pointer; }
.teg-rodzina::before { content: ''; width: 22px; height: 3px; border-radius: 2px; background: var( --k ); }
.teg-rodzina b { font-weight: 400; color: var( --tekst ); }
.teg-rodzina i { font-style: normal; color: var( --zloto-etyk ); }
.teg-rodzina.jest-wybrany b { color: var( --zloto ); }

/* Tor ma boczne marginesy szerokie na strzałkę, więc kafle nigdy pod nią
   nie wjeżdżają. */
.teg-tor { position: relative; min-width: 0; contain: inline-size; padding: 0 56px; }
.teg-siatka { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin: 22px 0 0; padding: 12px 4px 22px; cursor: grab; scroll-behavior: smooth; }
.teg-siatka::-webkit-scrollbar { display: none; }
.teg-siatka.jest-ciagniety { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.teg-tor__strz { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 46px; height: 46px; margin-top: -30px; border: 1px solid rgba( 224, 179, 84, .34 ); border-radius: 50%; background: rgba( 10, 9, 20, .92 ); color: var( --zloto-etyk ); cursor: pointer; box-shadow: 0 10px 30px rgba( 0, 0, 0, .6 ); transition: color .2s, border-color .2s, box-shadow .2s; }
.teg-tor__strz::before { content: ''; width: 11px; height: 11px; margin-left: 5px; border-left: 1.6px solid currentColor; border-top: 1.6px solid currentColor; transform: rotate( -45deg ); }
.teg-tor__strz--lewo { left: 0; }
.teg-tor__strz--prawo { right: 0; transform: scaleX( -1 ); }
.teg-tor__strz:hover { color: var( --zloto ); border-color: var( --zloto ); box-shadow: 0 10px 36px rgba( 240, 205, 125, .26 ); }
/* Strzałka zostaje na miejscu i gaśnie. Znikające przyciski uczą, że
   sterowanie jest nieprzewidywalne. */
.teg-tor__strz[disabled] { opacity: .26; cursor: default; box-shadow: none; }
.teg-tor__strz[disabled]:hover { color: var( --zloto-etyk ); border-color: rgba( 224, 179, 84, .34 ); }
.teg-tor__licznik { position: absolute; right: 6px; bottom: -6px; margin: 0; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var( --tekst-slaby ); }

.teg-karta { overflow: hidden; position: relative; flex: 0 0 clamp( 210px, 19vw, 268px ); scroll-snap-align: start; display: grid; align-content: start; gap: 8px; padding: 24px 22px 20px; border: 1px solid color-mix( in srgb, var( --k ) 40%, transparent ); border-radius: 18px; background: linear-gradient( 180deg, rgba( 22, 20, 38, .92 ), rgba( 10, 9, 20, .96 ) ); cursor: pointer; box-shadow: 0 18px 44px -20px rgba( 0, 0, 0, .95 ); transition: transform .3s cubic-bezier( .2, .7, .3, 1 ), box-shadow .3s, border-color .3s, opacity .3s, filter .3s; }
.teg-karta:hover { transform: translateY( -8px ); border-color: color-mix( in srgb, var( --k ) 85%, transparent ); box-shadow: 0 32px 66px -22px rgba( 0, 0, 0, .95 ), 0 0 56px -16px color-mix( in srgb, var( --k ) 55%, transparent ); }
.teg-karta:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 3px; }
.teg-karta.jest-przygaszony { opacity: .3; filter: saturate( .45 ); }
.teg-karta__glif { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid color-mix( in srgb, var( --k ) 34%, transparent ); border-radius: 14px; background: radial-gradient( circle at 40% 34%, color-mix( in srgb, var( --k ) 26%, transparent ), transparent 72% ); font: 400 26px/1.6 var( --hier ); font-style: normal; color: var( --zloto ); }
/* Obraz zajmuje to samo gniazdo co glif zastepczy, zeby karta z ikona
   i karta bez niej mialy ten sam uklad. Kafel przyszedl z wlasnym tlem
   w barwie rodziny amuletu i to tlo zostaje. */
/* Amulet szedł przez lata jako miniatura 96 px w karcie szerokiej na 210-268 px.
   Test techniczny wymaga >= 120 px, a reszta Atlasu pokazuje obraz na całej
   szerokości kafla — więc i tu wypuszczamy go ujemnym marginesem poza padding. */
.teg-karta__foto { width: auto; height: auto; aspect-ratio: 1 / 1; margin: -24px -22px 10px; border: 0; border-bottom: 1px solid color-mix( in srgb, var( --k ) 34%, transparent ); border-radius: 17px 17px 0 0; overflow: hidden; }
.teg-karta__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.teg-karta__nazwa { margin: 0; font: 500 22px/1.1 var( --serif ); color: var( --zloto-cieply ); }
.teg-karta__oryg { margin: 0; font-size: 12.5px; letter-spacing: .1em; color: var( --tekst ); font-style: italic; }
.teg-karta__krotko { margin: 4px 0 0; font-size: 13px; line-height: 1.55; color: var( --tekst ); }
.teg-karta__pas { display: flex; align-items: center; gap: 8px; margin: auto 0 0; padding-top: 14px; border-top: 1px solid var( --wlos ); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var( --tekst ); }
.teg-karta__pas span { width: 12px; height: 12px; border-radius: 50%; background: var( --bk ); box-shadow: 0 0 12px -2px var( --bk ); }

/* ── zaklęcia i Duat ── */
.teg-zaklecia, .teg-duat { display: flex; align-items: stretch; gap: 16px; margin: 26px 0 0; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; padding-bottom: 6px; }
.teg-zaklecia::-webkit-scrollbar, .teg-duat::-webkit-scrollbar { display: none; }
.teg-zaklecia .teg-kafel, .teg-duat .teg-kafel { flex: 0 0 auto; width: 286px; scroll-snap-align: start; }
.teg-kafel { display: grid; align-content: start; gap: 6px; padding: 22px 22px 18px; border: 1px solid var( --wlos ); border-radius: 16px; background: var( --panel ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: transform .22s, border-color .22s, box-shadow .22s; }
.teg-kafel:hover { transform: translateY( -4px ); border-color: var( --obrys ); box-shadow: 0 24px 50px -28px rgba( 0, 0, 0, .95 ), 0 0 40px -20px rgba( 63, 167, 155, .45 ); }
.teg-kafel:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 3px; }
.teg-kafel b { font: 500 20px/1.15 var( --serif ); color: var( --zloto-cieply ); }
.teg-kafel small { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var( --fajans ); }
.teg-kafel p { margin: 4px 0 0; font-size: 13px; line-height: 1.6; color: var( --tekst ); }
.teg-kafel em { font-style: normal; margin-top: 10px; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var( --zloto-etyk ); }

/* ── okno ── */
.teg-tlo {
	--panel: rgba( 16, 15, 30, .76 ); --obrys: rgba( 224, 179, 84, .3 ); --wlos: rgba( 224, 179, 84, .13 );
	--zloto: #f0cd7d; --zloto-cieply: #e0b354; --zloto-etyk: #b99a63;
	--fajans: #3fa79b; --karneol: #b2452f;
	--tekst: #b0aec0; --tekst-slaby: #8f8da2; --tekst-mocny: #e7e3ea;
	--serif: 'Cormorant Garamond', Georgia, serif; --sans: Jost, system-ui, sans-serif;
	--hier: 'Noto Sans Egyptian Hieroglyphs', 'Segoe UI Historic', serif;
	position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 28px; background: rgba( 5, 4, 10, .74 ); backdrop-filter: blur( 14px ); opacity: 0; transition: opacity .22s;
}
.teg-tlo.jest-widoczne { opacity: 1; }
.teg-okno { position: relative; width: min( 820px, 100% ); max-height: min( 88vh, 940px ); overflow: auto; padding: 40px 44px 44px; border: 1px solid var( --obrys ); border-top: 3px solid var( --k, var( --fajans ) ); border-radius: 4px 4px 24px 24px; background: linear-gradient( 180deg, rgba( 20, 19, 38, .97 ), rgba( 10, 9, 20, .98 ) ); box-shadow: 0 40px 90px rgba( 0, 0, 0, .6 ); color: var( --tekst ); font: 300 18px var( --sans ); transform: translateY( 14px ); transition: transform .22s; }
.teg-tlo.jest-widoczne .teg-okno { transform: none; }
.teg-okno__x { position: absolute; right: 18px; top: 18px; width: 38px; height: 38px; border: 1px solid var( --wlos ); border-radius: 50%; background: rgba( 10, 9, 20, .6 ); color: var( --zloto-etyk ); font-size: 17px; cursor: pointer; z-index: 1; }
.teg-okno__x:hover { color: var( --zloto ); border-color: var( --obrys ); }
.teg-okno__nad { margin: 0 0 6px; padding-right: 46px; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var( --k, var( --fajans ) ); }
.teg-okno__tytul { margin: 0; font: 500 clamp( 30px, 3.4vw, 44px )/1.06 var( --serif ); color: var( --zloto-cieply ); }
.teg-okno__oryg { margin: 6px 0 0; font: italic 300 15px var( --sans ); color: var( --tekst-slaby ); }
.teg-okno h3 { margin: 26px 0 8px; font: 400 12px var( --sans ); letter-spacing: .26em; text-transform: uppercase; color: var( --zloto-etyk ); }
.teg-okno p { margin: 0 0 14px; font-size: 18px; line-height: 1.72; }
.teg-okno__oryg, .teg-okno__mylic, .teg-okno__nad { font-size: 13px; }
.teg-okno__mylic { margin: 22px 0 0; padding: 16px 20px; border: 1px solid rgba( 178, 69, 47, .34 ); border-radius: 14px; background: rgba( 178, 69, 47, .09 ); font-size: 14px; line-height: 1.65; color: var( --tekst-mocny ); }
.teg-okno__mylic b { display: block; margin-bottom: 5px; font: 400 10px var( --sans ); letter-spacing: .26em; text-transform: uppercase; color: var( --karneol ); }
/* Klucz amuletu: pięć rzeczy, od których zależała skuteczność. */
.teg-klucz { display: grid; grid-template-columns: repeat( auto-fit, minmax( 130px, 1fr ) ); gap: 10px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var( --wlos ); }
.teg-klucz > div { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid var( --wlos ); border-radius: 12px; background: rgba( 255, 255, 255, .02 ); }
.teg-klucz i { font: 400 18px/1.6 var( --hier ); font-style: normal; color: var( --fajans ); }
.teg-klucz b { font: 400 10px var( --sans ); letter-spacing: .2em; text-transform: uppercase; color: var( --zloto-etyk ); }
.teg-klucz span { font-size: 13px; line-height: 1.5; color: var( --tekst-mocny ); }

@media ( max-width: 1100px ) {
	.teg-ramy__siatka { grid-template-columns: minmax( 0, 1fr ); }
	.teg-os { flex-wrap: wrap; }
	.teg-okres { flex: 1 1 46%; }
}
@media ( max-width: 680px ) {
	.teg-strona { padding: 0 16px 60px; }
	.teg-sekcja--scisla { padding: 24px 16px 20px; }
	.teg-okno { padding: 30px 20px 30px; }
	.teg-tor__strz { display: none; }
	.teg-okres { flex: 1 1 100%; }
}
@media ( prefers-reduced-motion: reduce ) {
	.teg-karta, .teg-kafel, .teg-okres, .teg-okno, .teg-tlo { transition: none; }
	.teg-siatka { scroll-behavior: auto; }
}

/* Komunikat w miejscu pasa, gdy wybrany okres nie ma ani jednego amuletu. */
.teg-pusto { max-width: 74ch; margin: 8px 0 0; padding: 22px 24px; border: 1px dashed var( --wlos ); border-radius: 16px; font-size: 14px; line-height: 1.7; color: var( --tekst ); background: linear-gradient( 180deg, rgba( 22, 20, 38, .55 ), rgba( 10, 9, 20, .7 ) ); }

/* ══════════════  Trzynaście pytań: karta papirusu  ══════════════
   Egipt dostaje własną szatę: podłoże w ochrze przechodzącej w noc, pionowe
   włókna papirusu jako faktura, a na górnej krawędzi pas w trzech barwach,
   które ta kultura zestawiała najczęściej — turkus fajansu, lazur i złoto.
   Numery pytań w hieroglifach liczbowych: kreska, pęto, zwój liny. */
.teg-strona .tpy-sekcja {
	--k: #e0b054; --tpy-brak: #a8442f;
	--tpy-tlo: linear-gradient( 180deg, #3a2c16 0%, #2a2011 28%, #191307 70%, #100c05 100% );
	--tpy-pasek: repeating-linear-gradient( 90deg, #2f8f8a 0 14px, transparent 14px 20px, #e0b054 20px 30px, transparent 30px 36px, #2a5fa0 36px 48px, transparent 48px 62px );
	--tpy-faktura:
		repeating-linear-gradient( 90deg, rgba( 255, 226, 170, .05 ) 0 1px, transparent 1px 14px ),
		repeating-linear-gradient( 180deg, rgba( 255, 226, 170, .03 ) 0 1px, transparent 1px 26px ),
		radial-gradient( 720px 300px at 82% 0%, rgba( 47, 143, 138, .16 ), transparent 70% );
	--tpy-kafel: linear-gradient( 180deg, rgba( 96, 72, 34, .5 ), rgba( 24, 18, 9, .92 ) );
	border-color: rgba( 224, 176, 84, .24 );
	box-shadow: inset 0 1px 0 rgba( 255, 226, 170, .08 ), 0 40px 90px -50px #000, 0 0 90px -52px #2f8f8a;
}
.teg-strona .tpy-pytanie { border-radius: 6px 6px 16px 16px; }
.teg-strona .tpy-pytanie.jest-jest { border-top-color: #46b3ac; }
.teg-strona .tpy-pytanie.jest-jest .tpy-pytanie__stan { color: #7fd0c9; }
.teg-strona .tpy-pytanie.jest-jest:hover { box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .06 ), 0 18px 44px -26px #000, 0 0 36px -14px #46b3ac; }
.teg-strona .tpy-pytanie__nr { color: rgba( 224, 176, 84, .7 ); text-shadow: 0 0 16px rgba( 224, 176, 84, .4 ); }
.teg-strona .tpy-bilans__jest b { color: #7fd0c9; text-shadow: 0 0 14px rgba( 70, 179, 172, .5 ); }

/* Obraz w kaflu Duat. Zrodla sa poziome 3:2, wiec nie tniemy ich do kwadratu -
   to sceny, nie portrety, i przyciecie zjadloby polowe kompozycji. */
.teg-kafel__foto { margin: -6px -22px 10px; border-radius: 12px 12px 0 0; overflow: hidden; aspect-ratio: 1 / 1; background: rgba( 0, 0, 0, .4 ); }
/* Duat to SCENY w kadrze poziomym 3:2 — kwadrat zjadłby połowę kompozycji.
   Heka i zaklęcia to POJEDYNCZE PRZEDMIOTY, więc zostają kwadratem jak reszta Atlasu. */
.teg-duat .teg-kafel__foto { aspect-ratio: 3 / 2; }
.teg-kafel__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.teg-kafel { padding-top: 6px; overflow: hidden; }

/* Przerywnik między sekcjami: słup dżed pośrodku, dwa pióra Maat,
   rząd ureuszy i fryz lotosu z papirusem. SVG w treści, barwa z currentColor. */
.teg-przerywnik { margin: 54px auto 10px; max-width: 1100px; color: var( --zloto, #d9b46e ); opacity: .46; pointer-events: none; }
.teg-przerywnik svg { display: block; width: 100%; height: auto; }
@media ( max-width: 680px ) { .teg-przerywnik { margin: 34px auto 6px; } }


/* ---------------------------------------------------------------------------
   TŁA SEKCJI

   Reguły trzymają się atrybutu data-tlo, który PHP dokłada dopiero wtedy,
   gdy plik naprawdę leży na serwerze. Dopóki grafiki nie ma, sekcja nie
   dostaje ani ramki, ani wypełnienia i wygląda dokładnie jak dziś — brak ma
   być cichy, a nie zostawiać pustej ramy.

   Obraz wchodzi WARSTWĄ właściwości background, nie przez ::before. Tych
   dwóch pseudoelementów używa wspólny zdobienia.css (lotos nad sekcją i kreska
   rozdzielająca) i nadpisanie ich zabrałoby sekcjom zdobienia reszty serwisu.
   Z tego samego powodu nie ma tu overflow: hidden — lotos siedzi nad krawędzią.

   Adres pliku podaje PHP w zmiennej --tlo razem ze znacznikiem czasu, więc
   podmiana grafiki nie wymaga ruszania tego arkusza i nie siedzi w pamięci.
   --------------------------------------------------------------------------- */

.teg-hero[data-tlo] {
	position: relative; max-width: none;
	padding: 64px 36px 52px; border-radius: 26px;
	border: 1px solid rgba( 255, 255, 255, .10 );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .05 ), 0 40px 90px -50px rgba( 0, 0, 0, .95 );
	background:
		linear-gradient( 90deg, rgba( 12, 10, 14, .90 ) 0%, rgba( 12, 10, 14, .70 ) 34%, rgba( 12, 10, 14, .20 ) 66%, transparent 100% ),
		var( --obraz-tla ) 50% 46% / cover no-repeat;
}
.teg-hero[data-tlo] > * { max-width: 80ch; }

.teg-sekcja[data-tlo] {
	position: relative;
	padding: 40px 36px 44px; border-radius: 26px;
	border: 1px solid rgba( 255, 255, 255, .10 );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .05 ), 0 40px 90px -50px rgba( 0, 0, 0, .95 );
	background:
		radial-gradient( 880px 500px at 12% 16%, rgba( 15, 13, 18, .62 ), transparent 74% ),
		linear-gradient( 180deg, rgba( 15, 13, 18, .10 ) 0%, rgba( 15, 13, 18, .22 ) 48%, rgba( 15, 13, 18, .48 ) 100% ),
		var( --obraz-tla ) 62% 52% / cover no-repeat;
}

@media ( max-width: 680px ) {
	.teg-hero[data-tlo], .teg-sekcja[data-tlo] { padding: 28px 20px 32px; border-radius: 18px; }
}

/* ---------------------------------------------------------------------------
   CZYTELNOSC NA TLE

   Kafle i klocki są z założenia przezroczyste — mają tło o kryciu 0,07,
   bo projektowano je na płaską barwę. Nad fotografią to przestaje działać:
   zmierzone na żywej stronie, tekst kafla nad jaśniejszym miejscem zdjęcia ma
   kontrast 1,23:1, czyli jest NIECZYTELNY. Zasłona na całej sekcji tego nie
   naprawia — z rachunku wychodzi, że musiałaby mieć krycie 0,80 i zabiłaby obraz.

   Dlatego czytelność niesie sam kafel, i tylko tam, gdzie pod spodem jest zdjęcie.
   Próg liczony w NAJGORSZYM przypadku, czyli nad czystą bielą, bo tła rozjaśniane
   gammą bywają jaśniejsze niż najjaśniejszy punkt oryginalnego zdjęcia. Próg 4,5:1
   wypada przy kryciu 0,845 — stąd 0,90, a nie 0,86, które miało zapas na granicy błędu.
   Przy 0,90 nad bielą: tekst 5,35:1, tytuł 12,80:1. Między kaflami obraz zostaje widoczny.
   --------------------------------------------------------------------------- */

.teg-sekcja[data-tlo] .zd-pas > li,
.teg-sekcja[data-tlo] .zd-klocek {
	background-color: rgba( 12, 10, 14, .90 );
	backdrop-filter: blur( 2px );
	border-color: rgba( 255, 255, 255, .16 );
	box-shadow: 0 18px 40px -26px rgba( 0, 0, 0, .9 );
}

/* OKNO TEZY — przejscie tonalne.
   Wspolna warstwa daje oknu tezy plaska pobialke rgba(255,255,255,.028)
   regulami o swoistosci 0,2,0 i 0,3,0 — jedna wartosc dla wszystkich dzialow
   naraz. Dublowana klasa daje 0,4,0 i zamyka sprawe bez !important.
   Barwy sa z palety TEGO dzialu. Dopisane po stronie SERWERA, bo lokalna
   kopia modulu bywa starsza niz wgrana. */
.teg-strona .teg-hero .teg-okno.zd-okno,
.teg-strona .teg-hero .zd-okno.zd-okno,
.teg-strona .teg-hero .teg-okno.teg-okno {
	background:
		radial-gradient( 720px 240px at 42% 0%, rgba( 16, 15, 30, .10 ), transparent 70% ),
		linear-gradient( 168deg, #18171f, #0d0c14 );
}
