/* Mantry, mudry i yantry — Mistyczny Wschód. Tokeny serwisu (granat + złoto), akcent: cynober sylab i szafran.
   Sygnatura: Śri Yantra rysowana kreska po kresce w hero. Miara serwisu: 1520 px treści. */
.tmn-strona {
	--tlo: #060716; --panel: rgba( 10, 10, 34, .74 ); --obrys: rgba( 230, 196, 138, .3 ); --wlos: rgba( 230, 196, 138, .12 );
	--zloto: #fde291; --zloto-cieply: #f9d57a; --zloto-ciemne: #e6c48a; --zloto-etyk: #cda474;
	--cynober: #c8412f; --szafran: #e0a85c; --jade: #7cc5a4;
	--tekst: #b3b1c2; --tekst-slaby: #9393a7; --tekst-mocny: #e6e2ea;
	--serif: 'Cormorant Garamond', Georgia, serif; --sans: Jost, system-ui, sans-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( 90, 60, 160, .24 ), transparent 70% ), radial-gradient( 860px 480px at 88% 22%, rgba( 200, 65, 47, .1 ), transparent 70% ), var( --tlo ); overflow-x: clip;
}
.tmn-strona *, .tmn-strona *::before, .tmn-strona *::after { box-sizing: border-box; }
body:has( .tmn-strona ) .wp-site-blocks > header, body:has( .tmn-strona ) header.wp-block-template-part, body:has( .tmn-strona ) .wp-site-blocks > footer, body:has( .tmn-strona ) footer.wp-block-template-part, body:has( .tmn-strona ) .wp-block-post-title { display: none !important; }
body:has( .tmn-strona ) .wp-site-blocks, body:has( .tmn-strona ) .wp-block-group, body:has( .tmn-strona ) .wp-block-post-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }
body:has( .tmn-strona ) .wp-block-post-content > *, body:has( .tmn-strona ) .entry-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body:has( .tmn-strona ) { background: #060716; }
body:has( .tmn-strona ) .wp-block-post-content > .tmn-strona, body:has( .tmn-strona ) .entry-content > .tmn-strona, .tmn-strona { box-sizing: border-box; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; } /* 1600 − 2×40 = 1520 treści */
.tmn-strona button { font-family: inherit; }
.pismo-dewanagari { font-family: 'Noto Serif Devanagari', serif; }
/* Pismo tybetanskie: sylaba zlozona ma tusz wysoki na ok. 1,6 wysokosci czcionki,
   wiec przy interlinii 1 wychodzi poza swoje pudelko i nakrywa podpis pod spodem. */
.pismo-tybetanski { font-family: 'Noto Serif Tibetan', serif; line-height: 1.8; }
.pismo-cjk { font-family: 'Noto Serif SC', serif; }
.pismo-gurmukhi { font-family: 'Noto Sans Gurmukhi', sans-serif; }
.pismo-arabski { font-family: 'Noto Naskh Arabic', serif; direction: rtl; }

.tmn-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 ); }
.tmn-sciezka i { font-style: normal; color: var( --zloto-ciemne ); } .tmn-sciezka b { font-weight: 400; color: var( --zloto ); }
.tmn-poziom { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 0 auto; }
.tmn-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 ); }
.tmn-poziom span::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: var( --k ); box-shadow: 0 0 10px var( --k ); }
.jest-hist { --k: #7cc59a; } .jest-ezo { --k: #ad97d3; } .jest-wsp { --k: #f9d57a; }

/* hero */
.tmn-hero { display: grid; grid-template-columns: minmax( 0, 1fr ) minmax( 400px, 520px ); gap: 56px; align-items: center; min-height: 600px; padding: 26px 0 8px; }
.tmn-nad { margin: 0 0 12px; font-size: 11px; letter-spacing: .34em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tmn-tytul { margin: 0; font: 500 clamp( 42px, 4.8vw, 70px )/1.03 var( --serif ); color: var( --zloto-cieply ); }
.tmn-tytul small { display: block; margin-top: 8px; font: 300 16px var( --sans ); letter-spacing: .14em; color: var( --szafran ); }
.tmn-lead { max-width: 58ch; margin: 20px 0 0; font-size: 16px; line-height: 1.72; color: var( --tekst-mocny ); }
.tmn-drogi { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 12px; margin: 28px 0 0; }
.tmn-droga { display: grid; gap: 4px; justify-items: start; padding: 16px 18px; border: 1px solid var( --wlos ); border-radius: 16px; background: var( --panel ); color: var( --tekst ); text-decoration: none; transition: border-color .2s, transform .2s; }
.tmn-droga:hover { border-color: var( --obrys ); transform: translateY( -2px ); }
.tmn-droga i { font-style: normal; font-size: 26px; line-height: 1; color: var( --szafran ); font-family: 'Noto Serif Devanagari', var( --serif ); }
.tmn-droga b { font: 500 20px var( --serif ); color: var( --zloto-cieply ); }
.tmn-droga span { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var( --tekst-slaby ); }

/* Śri Yantra */
.tmn-sri { display: grid; gap: 12px; justify-items: center; text-align: center; }
.tmn-sri__pole { width: 100%; max-width: 520px; aspect-ratio: 1; }
.tmn-sri__pole svg { width: 100%; height: 100%; overflow: visible; }
.tmn-yantra .tmn-y__kreska { fill: none; stroke: var( --zloto-ciemne ); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.tmn-yantra .tmn-y__kreska.jest-cynober { stroke: var( --cynober ); }
.tmn-yantra .tmn-y__kreska.jest-cicha { stroke: rgba( 230, 196, 138, .35 ); }
.tmn-yantra .tmn-y__bindu { fill: var( --cynober ); filter: drop-shadow( 0 0 6px rgba( 200, 65, 47, .8 ) ); }
.tmn-yantra .tmn-y__podpis { font: 300 9px var( --sans ); letter-spacing: .12em; text-transform: uppercase; fill: var( --tekst-slaby ); }
.tmn-yantra.jest-rysowana .tmn-y__kreska { stroke-dasharray: var( --dl, 600 ); stroke-dashoffset: var( --dl, 600 ); animation: tmn-rysuj 2.2s ease-out forwards; animation-delay: calc( var( --i, 0 ) * 55ms ); }
@keyframes tmn-rysuj { to { stroke-dashoffset: 0; } }
.tmn-sri__pod { max-width: 42ch; margin: 0; font-size: 12px; line-height: 1.6; color: var( --tekst-slaby ); }

/* sekcje, siatki */
.tmn-sekcja { margin: 68px 0 0; scroll-margin-top: 90px; }
.tmn-sekcja__nad { margin: 0 0 8px; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tmn-sekcja__tytul { margin: 0; font: 500 clamp( 28px, 3vw, 40px )/1.15 var( --serif ); color: var( --zloto-cieply ); }
.tmn-sekcja__lead { max-width: 76ch; margin: 12px 0 0; font-size: 14.5px; line-height: 1.7; color: var( --tekst ); }
.tmn-filtry { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.tmn-chip { padding: 8px 14px; border: 1px solid var( --wlos ); border-radius: 999px; background: transparent; color: var( --tekst ); font-size: 12.5px; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.tmn-chip em { font-style: normal; margin-left: 7px; font-size: 11px; color: var( --tekst-slaby ); }
.tmn-chip:hover { border-color: var( --obrys ); color: var( --tekst-mocny ); }
.tmn-chip.jest-wybrany { border-color: var( --jade ); background: rgba( 124, 197, 164, .14 ); color: #d5ece2; }
.tmn-siatka { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 18px; margin: 26px 0 0; }
.tmn-siatka--yantry { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }

/* Tor mudr: dwanaście kafli w jednym pasie zamiast czterech rzędów. `contain: inline-size` trzyma flex-tor
   w kolumnie strony — bez tego pas rozpycha sekcję (ta sama pułapka co w sliderach Zielnika). */
.tmn-tor { position: relative; margin: 26px 0 0; min-width: 0; contain: inline-size; }
.tmn-tor__pas { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding: 4px 2px 10px; margin: -4px -2px -10px; cursor: grab; scroll-behavior: smooth; }
.tmn-tor__pas::-webkit-scrollbar { display: none; }
.tmn-tor__pas.jest-ciagniety { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.tmn-tor__pas > .tmn-kafel { flex: 0 0 calc( ( 100% - 3 * 16px ) / 4 ); min-width: 0; scroll-snap-align: start; gap: 8px; padding: 18px; }
.tmn-tor__pas > .tmn-kafel .tmn-kafel__oryg { font-size: 26px; }
.tmn-tor__pas > .tmn-kafel .tmn-kafel__nazwa { font-size: 20px; }
.tmn-tor__pas > .tmn-kafel .tmn-kafel__lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tmn-tor__strz { position: absolute; top: 0; bottom: 22px; z-index: 2; display: grid; place-items: center; width: 62px; border: 0; background: linear-gradient( 90deg, var( --tlo ) 26%, rgba( 6, 7, 22, .82 ) 62%, rgba( 6, 7, 22, 0 ) ); color: var( --zloto-etyk ); cursor: pointer; transition: color .2s, opacity .25s; }
.tmn-tor__strz::before { content: ''; width: 13px; height: 13px; margin-left: 6px; border-left: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate( -45deg ); }
.tmn-tor__strz--lewo { left: -8px; }
.tmn-tor__strz--prawo { right: -8px; transform: scaleX( -1 ); }
.tmn-tor__strz:hover { color: var( --zloto ); }
/* `display: grid` wyżej bije domyślne [hidden]{display:none} — bez tego strzałka nie znika na końcu toru */
.tmn-tor__strz[hidden] { display: none; }
.tmn-tor__strz:focus-visible { outline: 2px solid var( --zloto ); outline-offset: -6px; }
.tmn-tor__licznik { position: absolute; right: 4px; bottom: -14px; margin: 0; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tmn-tor__pas.tmn-siatka--yantry > .tmn-kafel .tmn-kafel__lead { -webkit-line-clamp: 2; }
.tmn-tor + .tmn-sekcja, .tmn-tor { margin-bottom: 10px; }
.tmn-kafel { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 22px; border: 1px solid var( --wlos ); border-radius: 20px; background: var( --panel ); backdrop-filter: blur( 10px ); text-align: left; color: inherit; cursor: pointer; transition: border-color .22s, transform .22s, box-shadow .22s; }
.tmn-kafel::before { content: ''; position: absolute; left: 22px; right: 22px; top: 0; height: 2px; border-radius: 2px; background: linear-gradient( 90deg, transparent, var( --nic, var( --szafran ) ), transparent ); opacity: .85; }
.tmn-kafel:hover { border-color: var( --obrys ); transform: translateY( -3px ); box-shadow: 0 18px 40px rgba( 0, 0, 0, .45 ); }
.tmn-kafel:focus-visible { outline: 2px solid var( --zloto ); outline-offset: 3px; }
.tmn-kafel__oryg { margin: 0; font-size: 34px; line-height: 1.35; color: var( --zloto ); text-shadow: 0 0 24px rgba( 253, 226, 145, .25 ); overflow-wrap: anywhere; }
.tmn-siatka--mudry .tmn-kafel__oryg { font-size: 30px; color: var( --szafran ); }
.tmn-kafel__nazwa { margin: 0; font: 500 23px/1.1 var( --serif ); color: var( --zloto-cieply ); }
.tmn-kafel__wymowa { margin: 0; font: italic 400 15px var( --serif ); color: var( --tekst-mocny ); }
.tmn-kafel__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.tmn-kafel__meta span { padding: 4px 9px; border: 1px solid var( --wlos ); border-radius: 999px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tmn-kafel__lead { margin: 0; font-size: 13.5px; line-height: 1.62; color: var( --tekst ); }
.tmn-kafel__yantra { width: 100%; aspect-ratio: 1; margin: 0 0 4px; }
.tmn-kafel__yantra svg { width: 100%; height: 100%; }
.tmn-kafel__stopa { margin-top: auto; padding-top: 12px; border-top: 1px solid var( --wlos ); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var( --zloto-etyk ); }

/* panele wiedzy */
.tmn-wiedza { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 18px; margin: 28px 0 0; }
.tmn-wpis { display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid var( --wlos ); border-radius: 18px; background: var( --panel ); text-align: left; color: inherit; cursor: pointer; transition: border-color .2s, transform .2s; }
.tmn-wpis:hover { border-color: var( --obrys ); transform: translateY( -2px ); }
.tmn-wpis i { font-style: normal; font-size: 22px; color: var( --cynober ); font-family: 'Noto Serif Devanagari', var( --serif ); }
.tmn-wpis h3 { margin: 0; font: 500 20px var( --serif ); color: var( --zloto-cieply ); }
.tmn-wpis p { margin: 0; font-size: 13.5px; line-height: 1.62; color: var( --tekst ); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.tmn-wpis em { margin-top: auto; font-style: normal; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tmn-pow { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 52px 0 0; padding-top: 22px; border-top: 1px solid var( --wlos ); font-size: 12.5px; color: var( --tekst-slaby ); }
.tmn-pow a { padding: 6px 14px; border: 1px solid var( --wlos ); border-radius: 999px; color: var( --zloto-etyk ); text-decoration: none; }
.tmn-pow a:hover { border-color: var( --obrys ); color: var( --zloto ); }
.tmn-btn { height: 44px; padding: 0 24px; border: 1px solid var( --zloto-ciemne ); border-radius: 999px; background: linear-gradient( 180deg, rgba( 253, 226, 145, .16 ), rgba( 253, 226, 145, .05 ) ); color: var( --zloto ); font: 400 11px var( --sans ); letter-spacing: .24em; text-transform: uppercase; cursor: pointer; transition: box-shadow .2s, background .2s; }
.tmn-btn:hover { background: rgba( 253, 226, 145, .22 ); }
.tmn-btn--cichy { border-color: var( --wlos ); background: none; color: var( --tekst-slaby ); }
.tmn-btn--cichy:hover { border-color: var( --obrys ); color: var( --tekst-mocny ); background: none; }

/* okno */
.tmn-tlo { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 28px; background: rgba( 4, 3, 12, .72 ); backdrop-filter: blur( 14px ); opacity: 0; transition: opacity .22s; }
.tmn-tlo.jest-widoczne { opacity: 1; }
.tmn-okno { --zloto: #fde291; --zloto-cieply: #f9d57a; --zloto-etyk: #cda474; --zloto-ciemne: #e6c48a; --cynober: #c8412f; --szafran: #e0a85c; --jade: #7cc5a4; --tekst: #b3b1c2; --tekst-slaby: #9393a7; --tekst-mocny: #e6e2ea; --wlos: rgba( 230, 196, 138, .14 ); --obrys: rgba( 230, 196, 138, .3 ); --serif: 'Cormorant Garamond', Georgia, serif; --sans: Jost, system-ui, sans-serif;
	position: relative; width: min( 1040px, 100% ); max-height: min( 88vh, 940px ); overflow: auto; padding: 40px 44px 44px; border: 1px solid var( --obrys ); border-radius: 24px; background: linear-gradient( 180deg, rgba( 16, 12, 40, .97 ), rgba( 7, 5, 22, .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; }
.tmn-tlo.jest-widoczne .tmn-okno { transform: none; }
.tmn-okno__x { position: absolute; right: 18px; top: 18px; width: 38px; height: 38px; border: 1px solid var( --wlos ); border-radius: 50%; background: rgba( 7, 5, 22, .6 ); color: var( --zloto-etyk ); font-size: 17px; cursor: pointer; z-index: 1; }
.tmn-okno__glowa { display: grid; grid-template-columns: minmax( 0, 1fr ); gap: 8px; padding-bottom: 22px; border-bottom: 1px solid var( --wlos ); }
.tmn-okno__glowa--z-obrazem { grid-template-columns: 220px minmax( 0, 1fr ); gap: 26px; align-items: center; }
.tmn-okno__obraz { width: 220px; aspect-ratio: 1; }
.tmn-okno__obraz svg { width: 100%; height: 100%; }
.tmn-okno__nad { margin: 0; font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tmn-okno__oryg { margin: 6px 0 0; font-size: 46px; line-height: 1.3; color: var( --zloto ); text-shadow: 0 0 30px rgba( 253, 226, 145, .25 ); overflow-wrap: anywhere; }
.tmn-okno__tytul { margin: 0; font: 500 38px/1.06 var( --serif ); color: var( --zloto-cieply ); }
.tmn-okno__wymowa { margin: 6px 0 0; font: italic 400 18px var( --serif ); color: var( --tekst-mocny ); }
.tmn-okno__wymowa small { display: block; margin-top: 4px; font: 300 12.5px var( --sans ); color: var( --tekst-slaby ); }
.tmn-okno__lead { margin: 18px 0 0; font-size: 16px; line-height: 1.72; color: var( --tekst-mocny ); }
.tmn-okno__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.tmn-okno__meta span { padding: 5px 12px; border: 1px solid var( --wlos ); border-radius: 999px; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tmn-okno__siatka { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 20px; margin: 26px 0 0; }
.tmn-blok { padding: 20px 22px; border: 1px solid var( --wlos ); border-radius: 16px; background: rgba( 255, 255, 255, .02 ); }
.tmn-blok h4 { margin: 0 0 10px; font: 400 12px var( --sans ); letter-spacing: .24em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tmn-blok p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.74; color: var( --tekst ); }
.tmn-blok p:last-child { margin-bottom: 0; }
.tmn-blok--szeroki { grid-column: 1 / -1; }
.tmn-blok--uwaga { border-color: rgba( 200, 65, 47, .4 ); background: rgba( 200, 65, 47, .06 ); }
.tmn-blok--uwaga h4 { color: #e3603f; }
.tmn-ciekawostka { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 0; padding: 16px 20px; border-left: 2px solid var( --jade ); border-radius: 0 14px 14px 0; background: rgba( 124, 197, 164, .1 ); font-size: 14.5px; line-height: 1.7; color: #d8ece7; }
.tmn-ciekawostka i { font-style: normal; color: var( --jade ); }
.tmn-okno__pow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 0; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tmn-okno__pow span { padding: 5px 12px; border: 1px solid var( --wlos ); border-radius: 999px; letter-spacing: .06em; text-transform: none; font-size: 12.5px; color: var( --tekst ); }
.tmn-okno__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var( --wlos ); }

/* nagranie recytacji */
.tmn-audio { display: grid; grid-template-columns: 60px minmax( 0, 1fr ) 92px; gap: 18px; align-items: center; margin: 22px 0 0; padding: 16px 20px; border: 1px solid var( --wlos ); border-radius: 16px; background: rgba( 173, 151, 211, .07 ); }
.tmn-audio__gra { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid var( --zloto-ciemne ); border-radius: 50%; background: radial-gradient( circle at 50% 35%, rgba( 253, 226, 145, .2 ), rgba( 10, 8, 24, .9 ) 70% ); cursor: pointer; transition: box-shadow .2s, transform .12s; }
.tmn-audio__gra:hover { box-shadow: 0 0 22px rgba( 253, 226, 145, .28 ); }
.tmn-audio__gra:active { transform: scale( .96 ); }
.tmn-audio__ikona { width: 0; height: 0; margin-left: 4px; border-left: 15px solid var( --zloto ); border-top: 9px solid transparent; border-bottom: 9px solid transparent; transition: border .15s; }
.tmn-audio.jest-gra .tmn-audio__ikona { width: 14px; height: 16px; margin-left: 0; border: 0; border-left: 5px solid var( --zloto ); border-right: 5px solid var( --zloto ); }
.tmn-audio__tekst b { display: block; font: 500 15px var( --serif ); color: var( --zloto-cieply ); }
.tmn-audio__tekst p { margin: 3px 0 8px; font-size: 12.5px; line-height: 1.5; color: var( --tekst-slaby ); }
.tmn-audio__pasek { height: 3px; border-radius: 2px; background: rgba( 230, 196, 138, .16 ); overflow: hidden; }
.tmn-audio__pasek i { display: block; width: 0; height: 100%; background: linear-gradient( 90deg, var( --zloto-ciemne ), var( --zloto ) ); transition: width .25s linear; }
.tmn-audio__fala { display: flex; align-items: center; justify-content: flex-end; gap: 3px; height: 34px; }
.tmn-audio__fala span { width: 3px; height: 6px; border-radius: 2px; background: var( --zloto-ciemne ); opacity: .45; }
.tmn-audio.jest-gra .tmn-audio__fala span { opacity: 1; animation: tmn-fala 1.1s ease-in-out infinite; animation-delay: calc( var( --i ) * 70ms ); }
@keyframes tmn-fala { 0%, 100% { height: 6px; } 50% { height: 28px; } }

/* licznik mali */
.tmn-mala { display: grid; grid-template-columns: 96px minmax( 0, 1fr ); gap: 18px; align-items: center; margin: 22px 0 0; padding: 16px 20px; border: 1px solid var( --wlos ); border-radius: 16px; background: rgba( 224, 168, 92, .06 ); }
.tmn-mala__krag { position: relative; width: 96px; height: 96px; border: 0; border-radius: 50%; background: radial-gradient( circle at 50% 40%, rgba( 224, 168, 92, .25 ), #0a0818 70% ); cursor: pointer; color: var( --zloto ); font: 400 26px var( --serif ); box-shadow: inset 0 0 0 1px rgba( 230, 196, 138, .3 ); transition: transform .12s; }
.tmn-mala__krag:active { transform: scale( .96 ); }
.tmn-mala__krag svg { position: absolute; inset: -4px; width: calc( 100% + 8px ); height: calc( 100% + 8px ); pointer-events: none; }
.tmn-mala__krag circle { fill: none; stroke: var( --szafran ); stroke-width: 2; stroke-dasharray: 314; stroke-dashoffset: 314; transform: rotate( -90deg ); transform-origin: 50% 50%; transition: stroke-dashoffset .2s; }
.tmn-mala__tekst b { display: block; font: 500 18px var( --serif ); color: var( --zloto-cieply ); }
.tmn-mala__tekst p { margin: 4px 0 0; font-size: 13px; line-height: 1.6; color: var( --tekst ); }
.tmn-mala__tekst button { margin-top: 8px; padding: 0; border: 0; border-bottom: 1px solid var( --wlos ); background: none; color: var( --zloto-etyk ); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }

@media ( max-width: 1280px ) {
	.tmn-hero { grid-template-columns: 1fr; gap: 30px; }
	.tmn-sri__pole { max-width: 440px; }
	.tmn-siatka, .tmn-siatka--yantry { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.tmn-tor__pas > .tmn-kafel { flex-basis: calc( ( 100% - 2 * 16px ) / 3 ); }
	.tmn-wiedza { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}
@media ( max-width: 860px ) {
	.tmn-strona { padding: 0 20px 70px; }
	.tmn-siatka, .tmn-siatka--yantry, .tmn-wiedza, .tmn-drogi { grid-template-columns: minmax( 0, 1fr ); }
	.tmn-tor__pas > .tmn-kafel { flex-basis: 82%; }
	.tmn-tor__strz { display: none; }
	.tmn-okno { padding: 30px 20px; }
	.tmn-okno__glowa--z-obrazem { grid-template-columns: minmax( 0, 1fr ); }
	.tmn-okno__obraz { width: 200px; margin: 0 auto; }
	.tmn-okno__siatka { grid-template-columns: minmax( 0, 1fr ); }
	.tmn-okno__oryg { font-size: 34px; } .tmn-okno__tytul { font-size: 30px; }
	.tmn-mala { grid-template-columns: minmax( 0, 1fr ); justify-items: center; text-align: center; }
	.tmn-audio { grid-template-columns: 52px minmax( 0, 1fr ); }
	.tmn-audio__fala { display: none; }
}
@media ( prefers-reduced-motion: reduce ) {
	.tmn-yantra.jest-rysowana .tmn-y__kreska { animation: none; stroke-dashoffset: 0; }
	.tmn-audio.jest-gra .tmn-audio__fala span { animation: none; height: 14px; }
	.tmn-kafel, .tmn-wpis, .tmn-tlo, .tmn-okno { transition: none; }
}

/* ──────────  zdjęcia mudr i tło świątyni (grafiki od Przema, 2026-09-08)  ────────── */
/* Tło leży pod treścią, nie łapie kliknięć i gaśnie przed pierwszym torem,
   żeby świece i dym nie konkurowały z kaflami o uwagę. */
.tmn-strona::before {
	content: ''; position: absolute; inset: 0 0 auto; height: min( 1500px, 120vh ); z-index: 0; pointer-events: none;
	background: url( gfx/tlo-mantry.webp ) top center / cover no-repeat;
	opacity: .5;
	-webkit-mask-image: linear-gradient( 180deg, #000 0 46%, rgba( 0, 0, 0, .4 ) 74%, transparent 96% );
	mask-image: linear-gradient( 180deg, #000 0 46%, rgba( 0, 0, 0, .4 ) 74%, transparent 96% );
}
.tmn-strona > * { position: relative; z-index: 1; }

/* Kafel ze zdjęciem: fotografia u góry, dalej wszystko jak dotąd. */
.tmn-kafel__foto { margin: -20px -18px 12px; border-radius: 19px 19px 0 0; overflow: hidden; background: #05060f; aspect-ratio: 720 / 595; }
.tmn-kafel__foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s, filter .35s; filter: saturate( .92 ); }
.tmn-kafel.ma-foto:hover .tmn-kafel__foto img { transform: scale( 1.04 ); filter: saturate( 1 ); }
.tmn-kafel.ma-foto .tmn-kafel__oryg { margin-top: 0; }

.tmn-okno__karta { float: right; width: min( 300px, 38% ); margin: 0 0 18px 26px; border: 1px solid var( --wlos ); border-radius: 16px; overflow: hidden; }
.tmn-okno__karta img { display: block; width: 100%; height: auto; }

@media ( max-width: 680px ) {
	.tmn-strona::before { opacity: .34; }
	.tmn-okno__karta { float: none; width: 100%; max-width: 320px; margin: 0 0 18px; }
}

/* 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. */
.tmn-strona .tmn-hero .tmn-okno.zd-okno,
.tmn-strona .tmn-hero .zd-okno.zd-okno,
.tmn-strona .tmn-hero .tmn-okno.tmn-okno {
	background:
		radial-gradient( 720px 240px at 42% 0%, rgba( 10, 10, 34, .10 ), transparent 70% ),
		linear-gradient( 168deg, #111221, #060716 );
}
