/* Aniołowie — 72 Imiona jako osobna strona. Dziedziczy tokeny i panele z kabala.css (.tkb-strona);
   tu tylko to, czego Kabała nie ma: wachlarz kart w hero, pas „Anioł tych dni / tej godziny",
   trzej stróże z formularzem, dziewięć chórów jako slidery kart, okno anioła z kartą. */

/* ── hero: wachlarz pięciu kart zamiast Drzewa ── */
.tan-wachlarz { grid-column: 2; position: relative; height: 560px; display: grid; place-items: end center; }
.tan-wachlarz__karta { position: absolute; bottom: 40px; left: 50%; width: 210px; aspect-ratio: 2 / 3; margin-left: -105px; border-radius: 14px; overflow: hidden; border: 1px solid rgba( 230, 196, 138, .4 ); box-shadow: 0 30px 60px rgba( 0, 0, 0, .7 ), 0 0 0 1px rgba( 0, 0, 0, .6 ); transform-origin: 50% 130%; transform: rotate( var( --kat ) ) translateY( var( --dy, 0 ) ); transition: transform .5s cubic-bezier( .2, .8, .2, 1 ), box-shadow .3s; }
.tan-wachlarz__karta img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-wachlarz:hover .tan-wachlarz__karta { --dy: -6px; }
.tan-wachlarz__karta:hover { transform: rotate( var( --kat ) ) translateY( -26px ) scale( 1.04 ); z-index: 9; box-shadow: 0 40px 70px rgba( 0, 0, 0, .8 ), 0 0 40px rgba( 253, 226, 145, .18 ); }
.tan-wachlarz::after { content: ''; position: absolute; left: 50%; bottom: 10px; width: 420px; height: 60px; margin-left: -210px; border-radius: 50%; background: radial-gradient( ellipse at center, rgba( 160, 111, 251, .35 ), transparent 70% ); filter: blur( 10px ); pointer-events: none; }
@media ( prefers-reduced-motion: reduce ) { .tan-wachlarz__karta { transition: none; } }

/* ── anioł tych dni / tej godziny: dwa pasy z kartą z lewej i tekstem z prawej ── */
.tan-dzis { display: grid; grid-template-columns: minmax( 0, 1.35fr ) minmax( 0, 1fr ); gap: 22px; max-width: 1440px; margin: 0 auto 70px; padding: 0 40px; }
.tan-dzis__pas { position: relative; display: grid; grid-template-columns: 38% minmax( 0, 1fr ); min-height: 250px; border: 1px solid var( --obrys ); border-radius: 18px; overflow: hidden; background: var( --panel-mocny ); box-shadow: 0 22px 50px rgba( 3, 2, 12, .55 ); isolation: isolate; clip-path: inset( 0 round 18px ); }
.tan-dzis__pas--godzina { grid-template-columns: 34% minmax( 0, 1fr ); }
.tan-dzis__obraz { position: relative; display: block; padding: 0; border: 0; background: #0a0722; cursor: pointer; overflow: hidden; -webkit-mask-image: linear-gradient( 90deg, #000 72%, transparent ); mask-image: linear-gradient( 90deg, #000 72%, transparent ); }
.tan-dzis__obraz img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; transform: scale( 1.06 ); transition: transform .6s; }
.tan-dzis__obraz:hover img { transform: scale( 1.12 ); }
.tan-dzis__tekst { display: grid; align-content: center; gap: 6px; padding: 26px 30px 26px 22px; min-width: 0; }
.tan-dzis__nad { margin: 0; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-dzis__nad b { font-weight: 400; color: var( --zloto ); }
.tan-dzis__imie { margin: 0; font: 500 34px/1.05 var( --serif ); color: var( --zloto-cieply ); }
.tan-dzis__imie i { margin-left: 10px; font: 400 22px var( --hebr ); font-style: normal; color: var( --lawenda ); }
.tan-dzis__znaczenie { margin: 0; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var( --lawenda-jasna ); }
.tan-dzis__rys { margin: 4px 0 0; font-size: 13.5px; line-height: 1.6; color: var( --tekst ); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tan-dzis__meta { margin: 8px 0 0; font-size: 12px; color: var( --tekst-slaby ); }
.tan-dzis__meta b { font-weight: 400; color: var( --tekst-mocny ); }
.tan-dzis__cta { margin: 10px 0 0; }
.tan-dzis__cta .tkb-btn { height: 38px; padding: 0 18px; font-size: 10.5px; line-height: 36px; }
.tan-dzis__zegar { margin: 0; font: 500 26px var( --serif ); color: var( --zloto ); }
.tan-dzis__zegar small { margin-left: 8px; font: 300 11px var( --sans ); letter-spacing: .2em; text-transform: uppercase; color: var( --tekst-slaby ); }

/* ── trzej stróże ── */
.tan-stroze { max-width: 1440px; margin: 0 auto 80px; padding: 0 40px; }
.tan-role { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 20px; margin: 0 0 30px; }
.tan-rola { position: relative; padding: 26px 26px 24px; border: 1px solid var( --obrys ); border-radius: 18px; background: var( --panel ); text-align: center; }
.tan-rola::after { content: ''; position: absolute; inset: 5px; border: 1px solid var( --obrys-slaby ); border-radius: 13px; pointer-events: none; }
.tan-rola__glif { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 12px; border: 1px solid var( --obrys ); border-radius: 999px; background: radial-gradient( circle at 40% 35%, rgba( 253, 226, 145, .22 ), rgba( 10, 7, 34, .9 ) 70% ); font: 400 26px var( --serif ); color: var( --zloto ); }
.tan-rola h3 { margin: 0 0 2px; font: 500 26px var( --serif ); color: var( --zloto-cieply ); }
.tan-rola__pod { margin: 0 0 12px; font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var( --lawenda ); }
.tan-rola p:last-child { margin: 0; font-size: 13.5px; line-height: 1.65; color: var( --tekst ); }
.tan-form { grid-template-columns: 1fr 1fr auto auto; }
.tan-form .tkb-form__uwaga a { color: var( --zloto ); text-decoration: none; }
.tan-form .tkb-form__uwaga a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tan-wynik { margin: 34px 0 0; }
.tan-wynik__lead { max-width: 80ch; margin: 0 auto 18px; text-align: center; font-size: 14.5px; line-height: 1.65; color: var( --tekst ); }
.tan-wynik__lead .tsk-zapisz { display: flex; justify-content: center; margin-top: 14px; }
.tan-wynik__karty { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 22px; }
.tan-stroz { position: relative; display: grid; grid-template-columns: 150px minmax( 0, 1fr ); gap: 8px 20px; padding: 22px 24px 20px; border: 1px solid var( --obrys ); border-radius: 18px; background: var( --panel-mocny ); text-align: left; color: var( --tekst ); font: inherit; cursor: pointer; transition: border-color .2s, transform .2s, box-shadow .2s; }
.tan-stroz:hover { border-color: var( --zloto ); transform: translateY( -3px ); box-shadow: 0 30px 60px rgba( 0, 0, 0, .55 ); }
.tan-stroz--glowny { border-color: rgba( 253, 226, 145, .6 ); box-shadow: 0 0 0 1px rgba( 253, 226, 145, .14 ), 0 0 40px rgba( 253, 226, 145, .1 ); }
.tan-stroz__rola { grid-column: 1 / -1; margin: 0; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-stroz__rola b { display: block; margin-top: 3px; font-weight: 300; letter-spacing: .04em; text-transform: none; color: var( --tekst-slaby ); }
.tan-stroz__karta { grid-column: 1; width: 150px; aspect-ratio: 2 / 3; border-radius: 12px; overflow: hidden; border: 1px solid rgba( 230, 196, 138, .35 ); box-shadow: 0 16px 34px rgba( 0, 0, 0, .6 ); background: #0a0722; }
.tan-stroz__karta img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-stroz__tekst { grid-column: 2; min-width: 0; }
.tan-stroz__imie { margin: 0; font: 500 30px/1.05 var( --serif ); color: var( --zloto-cieply ); }
.tan-stroz__hebr { margin: 2px 0 6px; font: 400 20px/1.1 var( --hebr ); color: var( --lawenda ); direction: rtl; text-align: left; }
.tan-stroz__znaczenie { margin: 0 0 8px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var( --lawenda-jasna ); }
.tan-stroz__rys { margin: 0; font-size: 13px; line-height: 1.6; color: var( --tekst ); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.tan-stroz__wiecej { grid-column: 1 / -1; margin: 6px 0 0; text-align: center; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var( --zloto ); }
.tan-stroz--brak { grid-template-columns: 1fr; place-items: center; text-align: center; color: var( --tekst-slaby ); cursor: default; }
.tan-stroz--brak:hover { transform: none; border-color: var( --obrys ); box-shadow: none; }

/* ── dziewięć chórów ── */
.tan-chory { max-width: 1440px; margin: 0 auto 80px; padding: 0 40px; }
.tan-chor { position: relative; margin: 0 0 34px; padding: 26px 26px 28px; border: 1px solid var( --obrys-slaby ); border-radius: 20px; background: radial-gradient( 900px 260px at 12% 0, color-mix( in srgb, var( --b, #a06ffb ) 16%, transparent ), transparent 70% ), var( --panel ); }
.tan-chor__glowa { display: grid; grid-template-columns: auto minmax( 0, 1fr ) minmax( 0, 1.1fr ); align-items: center; gap: 22px 30px; }
.tan-chor__nr { display: grid; place-items: center; align-content: center; gap: 3px; width: 112px; height: 112px; padding: 0 8px; overflow: hidden; margin: 0; border: 1px solid var( --obrys ); border-radius: 999px; background: radial-gradient( circle at 40% 35%, color-mix( in srgb, var( --b ) 32%, transparent ), rgba( 10, 7, 34, .9 ) 72% ); box-shadow: 0 0 30px color-mix( in srgb, var( --b ) 25%, transparent ); }
.tan-chor__nr span { font-size: 9px; letter-spacing: .2em; white-space: nowrap; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-chor__nr b { font: 400 24px/1.1 var( --hebr ); color: var( --zloto ); white-space: nowrap; }
.tan-chor__tytul h3 { margin: 0 0 8px; font: 500 34px/1.05 var( --serif ); color: var( --zloto-cieply ); }
.tan-chor__fakty { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tan-chor__fakty b { font-weight: 400; letter-spacing: .06em; text-transform: none; color: var( --tekst-mocny ); font-size: 13px; }
.tan-chor__fakty i { font-style: normal; color: var( --zloto ); }
.tan-chor__opis { margin: 0; font-size: 13.5px; line-height: 1.65; color: var( --tekst ); }
.tan-slider { padding: 0 54px; margin-top: 22px; }
.tan-slider .tkb-slider__tor { --szer: calc( ( 100% - 5 * 16px ) / 6 ); }
.tan-karta { display: grid; gap: 8px; padding: 0; border: 0; background: none; color: var( --tekst ); font: inherit; text-align: center; cursor: pointer; transition: transform .25s; }
.tan-karta:hover { transform: translateY( -6px ); }
.tan-karta__obraz { position: relative; display: block; aspect-ratio: 2 / 3; border-radius: 12px; overflow: hidden; border: 1px solid rgba( 230, 196, 138, .3 ); background: #0a0722; box-shadow: 0 18px 36px rgba( 0, 0, 0, .6 ); transition: box-shadow .25s, border-color .25s; }
.tan-karta:hover .tan-karta__obraz { border-color: var( --zloto ); box-shadow: 0 26px 50px rgba( 0, 0, 0, .7 ), 0 0 30px color-mix( in srgb, var( --b, #fde291 ) 30%, transparent ); }
.tan-karta__obraz img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-karta__nr { position: absolute; left: 8px; top: 8px; padding: 3px 8px; border-radius: 999px; background: rgba( 7, 5, 22, .8 ); border: 1px solid var( --obrys-slaby ); font-size: 9.5px; letter-spacing: .2em; color: var( --zloto-etyk ); }
.tan-karta.jest-twoj .tan-karta__obraz { border-color: rgba( 253, 226, 145, .8 ); box-shadow: 0 0 34px rgba( 253, 226, 145, .3 ); }
.tan-karta b { font: 500 19px/1.1 var( --serif ); color: var( --zloto-cieply ); }
.tan-karta small { font-size: 11px; color: var( --tekst ); }
.tan-karta span { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var( --tekst-slaby ); }

/* ── metoda: kafel chórów ── */
.tan-karta-metody__obraz--chory { display: grid; place-items: center; align-content: center; gap: 2px; }
.tan-karta-metody__obraz--chory b { font: 500 64px/1 var( --serif ); color: var( --zloto ); }
.tan-karta-metody__obraz--chory span { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; text-align: center; color: var( --tekst-slaby ); }

/* ── okno anioła: karta z lewej ── */
.tan-okno__karta { width: 240px; aspect-ratio: 2 / 3; border-radius: 14px; overflow: hidden; border: 1px solid rgba( 230, 196, 138, .4 ); box-shadow: 0 26px 50px rgba( 0, 0, 0, .7 ); background: #0a0722; }
.tan-okno__karta img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-okno__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var( --obrys-slaby ); }
.tan-okno__chor { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 5px 12px; border: 1px solid var( --obrys-slaby ); border-radius: 999px; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var( --zloto-etyk ); background: none; cursor: pointer; }
.tan-okno__chor:hover { border-color: var( --zloto ); color: var( --zloto ); }
.tan-okno__chor i { font-style: normal; color: var( --zloto ); }

@media ( max-width: 1200px ) {
	.tan-wachlarz { grid-column: 1; height: 440px; }
	.tan-wachlarz__karta { width: 170px; margin-left: -85px; }
	.tan-dzis { grid-template-columns: 1fr; }
	.tan-role { grid-template-columns: 1fr; }
	.tan-form { grid-template-columns: 1fr 1fr; }
	.tan-form .tkb-form__lock { display: none; }
	.tan-wynik__karty { grid-template-columns: 1fr; }
	.tan-chor__glowa { grid-template-columns: auto minmax( 0, 1fr ); }
	.tan-chor__opis { grid-column: 1 / -1; }
	.tan-slider .tkb-slider__tor { --szer: calc( ( 100% - 3 * 16px ) / 4 ); }
}
@media ( max-width: 680px ) {
	.tan-wachlarz { display: none; }
	.tan-dzis, .tan-stroze, .tan-chory { padding: 0 16px; }
	.tan-dzis__pas, .tan-dzis__pas--godzina { grid-template-columns: 1fr; }
	.tan-dzis__obraz { height: 220px; -webkit-mask-image: linear-gradient( 180deg, #000 70%, transparent ); mask-image: linear-gradient( 180deg, #000 70%, transparent ); }
	.tan-stroz { grid-template-columns: 110px minmax( 0, 1fr ); }
	.tan-stroz__karta { width: 110px; }
	.tan-chor { padding: 18px 14px 20px; }
	.tan-slider { padding: 0; }
	.tan-slider .tkb-slider__tor { --szer: calc( ( 100% - 16px ) / 2 ); }
	.tan-slider .tkb-slider__strz { display: none; }
	.tan-okno__karta { width: 180px; }
}

/* ── karty metody klikane w całości + obszerne okna ── */
.tan-karta-metody { position: relative; cursor: pointer; transition: border-color .25s, transform .25s, box-shadow .25s; }
.tan-karta-metody::after { content: ''; position: absolute; inset: 5px; border: 1px solid rgba( 230, 196, 138, .09 ); border-radius: 13px; pointer-events: none; }
.tan-karta-metody:hover { border-color: var( --zloto ); transform: translateY( -4px ); box-shadow: 0 26px 50px rgba( 0, 0, 0, .6 ), 0 0 30px rgba( 253, 226, 145, .12 ); }
.tan-karta-metody:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 3px; }
.tan-karta-metody__wiecej { margin: 4px 0 0 !important; font-size: 10.5px !important; letter-spacing: .26em; text-transform: uppercase; color: var( --zloto ) !important; }
.tan-okno--metoda { width: min( 100%, 960px ); }
.tan-metoda__glowa { display: grid; grid-template-columns: auto minmax( 0, 1fr ); align-items: center; gap: 24px; margin: 0 0 14px; }
.tan-metoda__glowa .tkb-okno__glif { width: 130px; height: 130px; }
.tan-metoda__glowa .tkb-okno__glif i { font: 400 30px var( --hebr ); color: var( --zloto ); }
.tan-metoda__glowa .tkb-okno__lead { margin-bottom: 0; }
.tan-metoda__spis { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 6px; padding: 12px 0; border-top: 1px solid var( --obrys-slaby ); border-bottom: 1px solid var( --obrys-slaby ); }
.tan-metoda__spis a { color: var( --zloto-etyk ); font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; }
.tan-metoda__spis a:hover { color: var( --zloto ); }
.tan-metoda__sekcja h4 { font-size: 24px !important; }
.tan-metoda__sekcja .tkb-okno__tresc p { font-size: 14.5px; line-height: 1.72; }
.tan-metoda__linki { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var( --obrys-slaby ); }
.tan-metoda__linki a { color: var( --zloto ); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; }
.tan-metoda__linki a:hover { text-decoration: underline; text-underline-offset: 4px; }
.tan-tab__kadr { margin: 8px 0 4px; overflow-x: auto; }
.tan-tab { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tan-tab th { padding: 8px 10px; border-bottom: 1px solid var( --obrys ); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; font-weight: 400; color: var( --zloto-etyk ); text-align: left; }
.tan-tab td { padding: 8px 10px; border-bottom: 1px solid var( --obrys-slaby ); color: var( --tekst ); vertical-align: middle; }
.tan-tab__hebr { font: 400 20px var( --hebr ); color: var( --zloto ); direction: rtl; text-align: left; }
.tan-tab__imie { font: 500 17px var( --serif ); color: var( --tekst-mocny ); }
.tan-tab__pod { margin: 8px 0 0; font-size: 12px; color: var( --tekst-slaby ); }
.tan-chory-mini { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 10px; margin: 10px 0 4px; }
.tan-chor-mini { display: grid; grid-template-columns: 46px minmax( 0, 1fr ); align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var( --obrys-slaby ); border-radius: 12px; background: rgba( 255, 255, 255, .03 ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, transform .2s; }
.tan-chor-mini:hover { border-color: color-mix( in srgb, var( --b ) 70%, #fff ); transform: translateY( -2px ); }
.tan-chor-mini__glif { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 999px; background: radial-gradient( circle at 40% 35%, color-mix( in srgb, var( --b ) 34%, transparent ), rgba( 10, 7, 34, .9 ) 72% ); border: 1px solid var( --obrys-slaby ); }
.tan-chor-mini__glif b { font: 400 16px var( --hebr ); color: var( --zloto ); }
.tan-chor-mini__tekst { display: grid; gap: 1px; min-width: 0; }
.tan-chor-mini__tekst small { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-chor-mini__tekst b { font: 500 16px var( --serif ); color: var( --tekb-tekst-mocny, #ece8f1 ); }
.tan-chor-mini__tekst span { font-size: 11px; color: var( --tekst ); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tan-przyklad { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 12px; margin: 10px 0 4px; }
.tan-przyklad__karta { display: grid; grid-template-columns: 64px minmax( 0, 1fr ); align-items: center; gap: 12px; padding: 10px; border: 1px solid var( --obrys-slaby ); border-radius: 12px; background: rgba( 255, 255, 255, .03 ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, transform .2s; }
.tan-przyklad__karta:hover { border-color: var( --zloto ); transform: translateY( -2px ); }
.tan-przyklad__obraz { display: block; width: 64px; aspect-ratio: 2 / 3; border-radius: 8px; overflow: hidden; background: #0a0722; border: 1px solid rgba( 230, 196, 138, .3 ); }
.tan-przyklad__obraz img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-przyklad__tekst { display: grid; gap: 2px; min-width: 0; }
.tan-przyklad__tekst small { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-przyklad__tekst b { font: 500 17px var( --serif ); color: var( --zloto-cieply ); }
.tan-przyklad__tekst i { font-style: normal; font-size: 11.5px; color: var( --tekst ); }
@media ( max-width: 800px ) { .tan-chory-mini, .tan-przyklad { grid-template-columns: 1fr; } .tan-metoda__glowa { grid-template-columns: 1fr; } }

/* ── chór klikalny: nagłówek jako przycisk + okno chóru ── */
.tan-chor__glowa { cursor: pointer; border-radius: 14px; margin: -8px; padding: 8px; transition: background .2s; }
.tan-chor__glowa:hover { background: rgba( 255, 255, 255, .03 ); }
.tan-chor__glowa:hover .tan-chor__nr { box-shadow: 0 0 40px color-mix( in srgb, var( --b ) 45%, transparent ); }
.tan-chor__glowa:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 2px; }
.tan-chor__wiecej { display: inline-block; margin-left: 8px; font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var( --zloto ); white-space: nowrap; }
.tan-okno__imiona { width: 100%; display: grid; gap: 6px; }
.tan-okno__imiona h5 { margin: 4px 0 2px; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var( --zloto-etyk ); font-weight: 400; }
.tan-imie { display: grid; grid-template-columns: 34px minmax( 0, 1fr ); align-items: center; gap: 10px; padding: 5px 8px 5px 5px; border: 1px solid var( --obrys-slaby ); border-radius: 10px; background: rgba( 255, 255, 255, .03 ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, transform .2s; }
.tan-imie:hover { border-color: var( --zloto ); transform: translateX( 3px ); }
.tan-imie__obraz { display: block; width: 34px; aspect-ratio: 2 / 3; border-radius: 5px; overflow: hidden; background: #0a0722; }
.tan-imie__obraz img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-imie b { display: block; font: 500 14px/1.15 var( --serif ); color: var( --tekst-mocny ); }
.tan-imie small { display: block; font-size: 10.5px; color: var( --tekst-slaby ); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── pieczęcie trzech ról ── */
.tan-rola__piecz { display: block; width: 168px; aspect-ratio: 3 / 4; margin: 0 auto 14px; border-radius: 14px; overflow: hidden; border: 1px solid rgba( 230, 196, 138, .35 ); box-shadow: 0 18px 40px rgba( 0, 0, 0, .6 ), 0 0 30px rgba( 253, 226, 145, .08 ); background: #0a0722; transition: transform .3s, box-shadow .3s; }
.tan-rola__piecz img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tan-rola:hover .tan-rola__piecz { transform: translateY( -4px ); box-shadow: 0 26px 50px rgba( 0, 0, 0, .7 ), 0 0 40px rgba( 253, 226, 145, .16 ); }

/* ── pełny opis anioła ── */
.tan-okno__dziedziny { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.tan-okno__dziedziny span { padding: 4px 11px; border: 1px solid var( --obrys-slaby ); border-radius: 999px; background: rgba( 255, 255, 255, .03 ); font-size: 12px; letter-spacing: .04em; color: var( --lawenda-jasna ); }
.tan-okno__slowa { display: grid; gap: 8px; }
.tan-okno__slowa p { display: flex; gap: 10px; margin: 0; padding: 10px 14px; border: 1px solid var( --obrys-slaby ); border-left: 2px solid var( --zloto-ciemne ); border-radius: 0 12px 12px 0; background: rgba( 230, 196, 138, .05 ); font: italic 400 16px/1.45 var( --serif ); color: var( --zloto-cieply ); }
.tan-okno__slowa i { font-style: normal; color: var( --zloto ); }

/* ── pieczęcie chórów ── */
.tan-chor__nr--piecz { padding: 0; border: 0; background: none; overflow: visible; width: 124px; height: 124px; box-shadow: none; }
.tan-chor__nr--piecz img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow( 0 10px 22px rgba( 0, 0, 0, .7 ) ) drop-shadow( 0 0 18px color-mix( in srgb, var( --b ) 40%, transparent ) ); transition: transform .35s; }
.tan-chor__glowa:hover .tan-chor__nr--piecz img { transform: scale( 1.06 ) rotate( -3deg ); }
.tan-okno__piecz { width: 210px; height: 210px; }
.tan-okno__piecz img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow( 0 16px 30px rgba( 0, 0, 0, .7 ) ) drop-shadow( 0 0 26px color-mix( in srgb, var( --b, #fde291 ) 40%, transparent ) ); }
.tan-okno__chor img { width: 26px; height: 26px; object-fit: contain; }

/* ── mapa dziewięciu chórów: plakat + lightbox ── */
.tan-mapa { position: relative; margin: 0 0 34px; padding: 18px; border: 1px solid var( --obrys ); border-radius: 20px; background: var( --panel ); box-shadow: 0 22px 50px rgba( 3, 2, 12, .55 ); }
.tan-mapa::after { content: ''; position: absolute; inset: 5px; border: 1px solid var( --obrys-slaby ); border-radius: 15px; pointer-events: none; }
.tan-mapa__obraz { position: relative; display: block; width: 100%; padding: 0; border: 1px solid rgba( 230, 196, 138, .3 ); border-radius: 14px; overflow: hidden; background: #0a0722; cursor: zoom-in; }
.tan-mapa__obraz img { display: block; width: 100%; height: auto; transition: transform .6s; }
.tan-mapa__obraz:hover img { transform: scale( 1.015 ); }
.tan-mapa__lupa { position: absolute; right: 14px; bottom: 14px; padding: 7px 14px; border: 1px solid rgba( 230, 196, 138, .5 ); border-radius: 999px; background: rgba( 7, 5, 22, .85 ); color: var( --zloto ); font: 400 10.5px var( --sans ); letter-spacing: .22em; text-transform: uppercase; }
.tan-mapa figcaption { margin: 12px 6px 0; font-size: 13px; line-height: 1.6; color: var( --tekst ); }
.tan-mapa figcaption b { font-weight: 400; color: var( --zloto-cieply ); }
.tan-lightbox { padding: 16px; }
.tan-lightbox__panel { position: relative; width: min( 100%, 1500px ); max-height: 94vh; display: grid; place-items: center; }
.tan-lightbox__panel img { display: block; max-width: 100%; max-height: calc( 94vh - 40px ); border-radius: 14px; border: 1px solid rgba( 230, 196, 138, .4 ); box-shadow: 0 30px 80px rgba( 0, 0, 0, .8 ); cursor: zoom-out; }
.tan-lightbox__pod { margin: 10px 0 0; font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tan-lightbox .tkb-okno__zamknij { top: -6px; right: -6px; }

/* mapa chórów w karcie metody i w jej oknie */
.tan-karta-metody__obraz--mapa { padding: 0; overflow: hidden; }
.tan-karta-metody__obraz--mapa img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; transform: scale( 1.02 ); }
.tan-metoda__mapa { margin: 0 0 16px; }
.tan-metoda__mapa figcaption { margin: 8px 4px 0; font-size: 12px; color: var( --tekst-slaby ); }
