/* ═══════════════════════════════════════════════════════════════════════
   Nowa strona główna — wg makiety „Strona tytułowa"
   ═══════════════════════════════════════════════════════════════════════
   Noc z fioletową mgławicą + złoto. Panele: ciemne, z fioletowym obrysem.
   Żywe dane w panelu „Dzisiaj" liczy nasza efemeryda. */

.tgn-strona {
	--tlo:          #0b0620;
	--panel:        rgba( 12, 8, 34, .78 );
	--obrys:        rgba( 160, 111, 251, .38 );
	--zloto:        #fde291;
	--zloto-cieply: #f9d57a;
	--zloto-ciemne: #e6c48a;
	--zloto-etyk:   #cda474;
	--lawenda:      #ad97d3;
	--lawenda-jasna:#c9b8ef;
	--zar:          #e8752f;
	--tekst:        #b6b3c4;
	--tekst-slaby:  #9a95b3;
	--tekst-mocny:  #ece8f1;
	--neon:         #a06ffb;
	--serif: 'Cormorant Garamond', 'Times New Roman', serif;
	--sans:  'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
	position: relative; padding: 0 0 40px; color: var( --tekst ); font-family: var( --sans ); font-weight: 300;
	background: #0b0620; overflow-x: clip;
}
.tgn-strona *, .tgn-strona *::before, .tgn-strona *::after { box-sizing: border-box; }
/* obraz tła: raz, u góry, wygaszony ku dołowi — bez powtórek i twardej krawędzi */
.tgn-strona::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; aspect-ratio: 1122 / 1402; background: var( --tlo ) center top / 100% 100% no-repeat; -webkit-mask-image: linear-gradient( 180deg, #000 52%, transparent 100% ); mask-image: linear-gradient( 180deg, #000 52%, transparent 100% ); pointer-events: none; z-index: 0; }
.tgn-strona > * { position: relative; z-index: 1; }
body:has( .tgn-strona ) .wp-site-blocks > header, body:has( .tgn-strona ) header.wp-block-template-part, body:has( .tgn-strona ) .wp-site-blocks > footer, body:has( .tgn-strona ) footer.wp-block-template-part, body:has( .tgn-strona ) .wp-block-post-title { display: none !important; }
body:has( .tgn-strona ) .wp-site-blocks, body:has( .tgn-strona ) .wp-block-group, body:has( .tgn-strona ) .wp-block-post-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }
body:has( .tgn-strona ) .wp-block-post-content > *, body:has( .tgn-strona ) .entry-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body:has( .tgn-strona ) { background: #0b0620; }
.tgn-proba { margin: 0; padding: 8px 20px; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var( --tekst-slaby ); text-align: center; background: rgba( 2, 3, 22, .6 ); }

/* ─────────────────────────────  wspólne  ─────────────────────────── */

.tgn-nad { margin: 0 0 10px; font-size: 11px; letter-spacing: .34em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tgn-nad i { font-style: normal; color: var( --zloto-ciemne ); margin: 0 8px; }
.tgn-nad--srodek { text-align: center; }
.tgn-tytul { margin: 0 0 18px; font-family: var( --serif ); font-weight: 500; font-size: clamp( 38px, 4.6vw, 58px ); line-height: 1.08; color: var( --tekst-mocny ); }
.tgn-tytul b { font-weight: 500; color: var( --zloto-cieply ); }
.tgn-h2 { margin: 0 0 6px; font-family: var( --serif ); font-weight: 500; font-size: clamp( 28px, 3vw, 38px ); line-height: 1.15; color: var( --zloto-cieply ); }
.tgn-h2--srodek { text-align: center; margin-bottom: 26px; color: var( --tekst-mocny ); }
.tgn-pod { margin: 0; font-size: 14px; color: var( --lawenda ); }
.tgn-pod--szeroki { max-width: 56ch; margin-top: 10px; font-size: 15px; line-height: 1.7; color: var( --tekst-mocny ); }
.tgn-lede { max-width: 52ch; margin: 0 0 22px; font-size: 16px; line-height: 1.7; color: var( --tekst-mocny ); }
.tgn-lede b { font-weight: 400; color: var( --zloto ); }
.tgn-obietnice { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 26px; font-size: 12px; color: var( --tekst ); }
.tgn-obietnice i { font-style: normal; color: var( --zloto ); margin-right: 6px; }
.tgn-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.tgn-btn { display: inline-block; padding: 13px 26px; border: 1px solid rgba( 230, 196, 138, .45 ); border-radius: 12px; background: rgba( 12, 8, 34, .6 ); color: var( --zloto ); font: 400 11.5px var( --sans ); letter-spacing: .22em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s, box-shadow .2s, color .2s; }
.tgn-btn:hover { background: rgba( 253, 226, 145, .12 ); box-shadow: 0 0 22px rgba( 253, 226, 145, .16 ); }
.tgn-btn--pelny { background: linear-gradient( 180deg, #fde9a8, #e2bf6e ); color: #241a05; border-color: #f2d68c; font-weight: 500; }
.tgn-btn--pelny:hover { background: linear-gradient( 180deg, #fff0ba, #ecc97a ); box-shadow: 0 0 30px rgba( 253, 226, 145, .35 ); }
.tgn-btn:focus-visible, .tgn-strona button:focus-visible { outline: 2px solid var( --neon ); outline-offset: 3px; }
.tgn-panel { position: relative; max-width: 1280px; margin: 26px auto 0; padding: 30px 34px; border: 1px solid var( --obrys ); border-radius: 22px; background: var( --panel ); backdrop-filter: blur( 6px ); box-shadow: 0 0 0 1px rgba( 160, 111, 251, .08 ), 0 30px 60px rgba( 0, 0, 0, .35 ); }

/* ─────────────────────────────  hero  ────────────────────────────── */

.tgn-hero { position: relative; display: grid; grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ); align-items: center; gap: 30px; max-width: 1280px; min-height: 560px; margin: 0 auto; padding: 60px 120px 40px 34px; }
.tgn-hero__karty { position: relative; height: 440px; }
.tgn-karta-hero { position: absolute; top: 50%; left: 50%; width: 220px; aspect-ratio: 3 / 5; transform-origin: 50% 100%; filter: drop-shadow( 0 30px 40px rgba( 0, 0, 0, .6 ) ); }
.tgn-karta-hero img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }
.tgn-karta-hero--1 { transform: translate( -92%, -52% ) rotate( -14deg ); z-index: 1; }
.tgn-karta-hero--2 { transform: translate( -50%, -58% ); z-index: 3; width: 250px; box-shadow: 0 0 60px rgba( 253, 226, 145, .25 ); border-radius: 12px; }
.tgn-karta-hero--3 { transform: translate( -8%, -52% ) rotate( 14deg ); z-index: 2; }

/* ─────────────────────────────  dziedziny  ───────────────────────── */

.tgn-dziedziny { --widac: 8; padding: 26px 20px 20px; }
.tgn-dziedziny__tor { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; cursor: grab; }
.tgn-dziedziny__tor::-webkit-scrollbar { display: none; }
.tgn-dziedziny__tor.jest-ciagniety { cursor: grabbing; scroll-snap-type: none; }
.tgn-dziedziny__tor .tgn-dziedzina { flex: 0 0 calc( 100% / var( --widac ) ); scroll-snap-align: start; }
/* strzałki: zasłona z tła panelu + cienki chevron; znikają, gdy nie ma dokąd przewijać */
.tgn-dziedziny { position: relative; overflow: hidden; }
.tgn-dziedziny__strz { position: absolute; top: 16px; bottom: 60px; z-index: 2; display: grid; place-items: center; width: 78px; margin: 0; padding: 0; border: 0; background: linear-gradient( 90deg, #0b0722 30%, rgba( 11, 7, 34, .82 ) 62%, rgba( 11, 7, 34, 0 ) ); color: var( --zloto-etyk ); cursor: pointer; transition: color .2s, opacity .25s; }
.tgn-dziedziny__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 ); transition: transform .2s, margin .2s; }
.tgn-dziedziny__strz:hover { color: var( --zloto ); }
.tgn-dziedziny__strz:hover::before { margin-left: 0; }
.tgn-dziedziny__strz:focus { outline: none; }
.tgn-dziedziny__strz:focus-visible { outline: 2px solid var( --zloto ); outline-offset: -8px; border-radius: 4px; }
.tgn-dziedziny__strz:disabled { opacity: 0; pointer-events: none; }
.tgn-dziedziny__strz--l { left: 0; }
.tgn-dziedziny__strz--p { right: 0; transform: scaleX( -1 ); }
@media ( prefers-reduced-motion: reduce ) { .tgn-dziedziny__strz, .tgn-dziedziny__strz::before { transition: none; } }
.tgn-dziedziny__stopka { display: flex; align-items: center; gap: 16px; margin: 16px 10px 0; }
.tgn-dziedziny__pasek { position: relative; flex: 1 1 auto; height: 2px; border-radius: 999px; background: rgba( 230, 196, 138, .14 ); }
.tgn-dziedziny__pasek i { position: absolute; top: -1px; height: 4px; border-radius: 999px; background: linear-gradient( 90deg, var( --zloto-ciemne ), var( --zloto ) ); transition: left .18s ease, width .18s ease; }
.tgn-dziedziny__licznik { flex: 0 0 auto; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var( --tekst-slaby ); }
@media ( prefers-reduced-motion: reduce ) { .tgn-dziedziny__pasek i { transition: none; } }
.tgn-dziedzina { display: grid; justify-items: center; gap: 8px; padding: 6px 10px; border-left: 1px solid rgba( 160, 111, 251, .18 ); color: var( --tekst ); text-align: center; text-decoration: none; transition: background .2s; }
.tgn-dziedzina:first-child { border-left: 0; }
.tgn-dziedzina:hover { background: rgba( 160, 111, 251, .08 ); }
.tgn-dziedzina__znak { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid rgba( 230, 196, 138, .3 ); border-radius: 999px; background: radial-gradient( circle at 50% 40%, rgba( 160, 111, 251, .25 ), rgba( 12, 8, 34, .2 ) 70% ); box-shadow: 0 0 22px rgba( 160, 111, 251, .18 ); }
.tgn-dziedzina__znak img { width: 46px; height: 46px; border-radius: 999px; }
.tgn-dziedzina__nazwa { font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; color: var( --zloto ); }
.tgn-dziedzina i { font-style: normal; font-size: 9px; color: var( --zloto-ciemne ); }
.tgn-dziedzina__opis { font-size: 11.5px; line-height: 1.45; color: var( --tekst-slaby ); }

/* ─────────────────────────────  dzisiaj  ─────────────────────────── */

.tgn-dzis__glowa { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 22px; }
.tgn-dzis__scena { position: relative; }
.tgn-dzis__kafle { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; cursor: grab; contain: inline-size; padding: 8px 2px 18px; margin: -8px -2px -18px; --widac: 6; }
.tgn-dzis__kafle::-webkit-scrollbar { display: none; }
.tgn-dzis__kafle.jest-ciagniety { cursor: grabbing; scroll-snap-type: none; }
.tgn-dzis__kafle > .tgn-kafel { flex: 0 0 calc( ( 100% - 12px * ( var( --widac ) - 1 ) ) / var( --widac ) ); min-width: 0; scroll-snap-align: start; }
/* strzałki jak w pasku dziedzin: pas z zanikaniem na obrysie toru, nie kółka poza ramką panelu */
.tgn-dzis__strz { position: absolute; top: 8px; bottom: 18px; z-index: 2; display: grid; place-items: center; width: 64px; margin: 0; padding: 0; border: 0; color: var( --zloto-ciemne ); font-size: 0; cursor: pointer; transition: color .2s, opacity .2s; }
.tgn-dzis__strz::before { content: ''; width: 13px; height: 13px; border-left: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transition: transform .2s, margin .2s; }
.tgn-dzis__strz--l { left: -2px; background: linear-gradient( 90deg, rgba( 8, 6, 26, .96 ) 30%, rgba( 8, 6, 26, 0 ) ); border-radius: 16px 0 0 16px; }
.tgn-dzis__strz--l::before { margin-left: 6px; transform: rotate( -45deg ); }
.tgn-dzis__strz--p { right: -2px; background: linear-gradient( 270deg, rgba( 8, 6, 26, .96 ) 30%, rgba( 8, 6, 26, 0 ) ); border-radius: 0 16px 16px 0; }
.tgn-dzis__strz--p::before { margin-right: 6px; transform: rotate( 135deg ); }
.tgn-dzis__strz:hover { color: var( --zloto ); }
.tgn-dzis__strz:hover::before { margin: 0; }
.tgn-dzis__strz:disabled { opacity: 0; pointer-events: none; }
.tgn-dzis__strz:focus-visible { outline: 2px solid var( --zloto ); outline-offset: -8px; border-radius: 8px; }
.tgn-dzis__stopka { display: flex; align-items: center; gap: 16px; margin: 14px 6px 0; }
.tgn-dzis__pasek { position: relative; flex: 1 1 auto; height: 2px; border-radius: 999px; background: rgba( 230, 196, 138, .14 ); }
.tgn-dzis__pasek i { position: absolute; top: -1px; height: 4px; border-radius: 999px; background: linear-gradient( 90deg, var( --zloto-ciemne ), var( --zloto ) ); transition: left .18s ease, width .18s ease; }
.tgn-dzis__stopka span { flex: 0 0 auto; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var( --tekst-slaby ); }
/* kafel — ornament: podwójny obrys, narożne gwiazdki przy etykiecie, głęboki cień, poświata na hover */
.tgn-dzis__kafle .tgn-kafel { position: relative; overflow: hidden; border: 1px solid rgba( 160, 111, 251, .32 ); background: radial-gradient( 140% 90% at 50% 0%, rgba( 60, 34, 122, .35 ), transparent 60% ), linear-gradient( 180deg, rgba( 14, 10, 36, .92 ), rgba( 6, 4, 22, .96 ) ); box-shadow: 0 16px 34px rgba( 0, 0, 0, .5 ), inset 0 1px 0 rgba( 255, 255, 255, .05 ); }
.tgn-dzis__kafle .tgn-kafel::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba( 230, 196, 138, .22 ); border-radius: 11px; pointer-events: none; -webkit-mask-image: linear-gradient( 180deg, #000 0, transparent 55%, #000 100% ); mask-image: linear-gradient( 180deg, #000 0, transparent 55%, #000 100% ); }
.tgn-dzis__kafle .tgn-kafel::after { content: ''; position: absolute; left: 20%; right: 20%; bottom: -30px; height: 60px; border-radius: 50%; background: radial-gradient( closest-side, rgba( 230, 196, 138, .18 ), transparent ); pointer-events: none; opacity: .7; transition: opacity .3s; }
.tgn-dzis__kafle .tgn-kafel:hover { border-color: var( --zloto-ciemne ); transform: translateY( -5px ); box-shadow: 0 26px 48px rgba( 0, 0, 0, .58 ), 0 0 28px rgba( 230, 196, 138, .16 ); }
.tgn-dzis__kafle .tgn-kafel:hover::after { opacity: 1; }
.tgn-dzis__kafle .tgn-kafel__nad::before, .tgn-dzis__kafle .tgn-kafel__nad::after { content: '✦'; margin: 0 8px; font-size: 8px; color: rgba( 230, 196, 138, .55 ); vertical-align: 1px; }
.tgn-dzis__kafle .tgn-kafel__obraz img, .tgn-dzis__kafle .tgn-kafel__obraz .tgn-tarcza { filter: drop-shadow( 0 12px 18px rgba( 0, 0, 0, .6 ) ); }
.tgn-kafel--ziele .tgn-kafel__obraz--karta img, .tgn-kafel--swieca .tgn-kafel__obraz--karta img { object-position: center 30%; }
.tgn-kafel__plomien { display: block; width: 26px; height: 92px; border-radius: 5px 5px 8px 8px; background: linear-gradient( 180deg, color-mix( in srgb, var( --b ), #fff 25% ), var( --b ) 40%, color-mix( in srgb, var( --b ), #000 35% ) ); box-shadow: 0 0 22px color-mix( in srgb, var( --b ), transparent 40% ); position: relative; }
.tgn-kafel__plomien::before { content: ''; position: absolute; left: 50%; top: -18px; width: 12px; height: 20px; margin-left: -6px; border-radius: 50% 50% 40% 40%; background: radial-gradient( circle at 50% 70%, #fff3c4, #e6a03a 70%, transparent 75% ); }
/* okna: retro (rozmyte planety + glify) i listy */
#astro-karta.tgn-okno .ak-hero--retro { position: relative; display: block; height: 220px; overflow: hidden; background: #0b0a18; }
#astro-karta.tgn-okno .ak-hero--retro .ak-hero__mgla { position: absolute; inset: -20px; display: flex; }
#astro-karta.tgn-okno .ak-hero--retro .ak-hero__mgla img { flex: 1 1 0; min-width: 0; height: 100%; object-fit: cover; filter: blur( 9px ) saturate( 1.1 ) brightness( .8 ); }
#astro-karta.tgn-okno .ak-hero--retro .ak-hero__glify { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 34px; background: linear-gradient( 180deg, rgba( 11, 10, 24, .1 ), rgba( 11, 10, 24, .75 ) ); }
#astro-karta.tgn-okno .ak-hero--retro .ak-hero__glify i { font: 400 56px/1 var( --serif ); font-style: normal; color: #f1d9a1; text-shadow: 0 0 26px rgba( 230, 196, 138, .55 ), 0 4px 14px rgba( 0, 0, 0, .7 ); }
#astro-karta.tgn-okno .ak-lista { margin: 0 0 12px; padding-left: 20px; text-align: left; }
#astro-karta.tgn-okno .ak-lista li { margin: 0 0 6px; font-size: 14.5px; line-height: 1.6; color: var( --tekst ); }
#astro-karta.tgn-okno .tgn-retro__lista { display: grid; gap: 8px; margin: 0 0 14px; }
#astro-karta.tgn-okno .tgn-retro__planeta { display: flex; align-items: flex-start; gap: 14px; padding: 12px 14px; border: 1px solid rgba( 230, 196, 138, .18 ); border-radius: 12px; background: rgba( 255, 255, 255, .03 ); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, background .2s; }
#astro-karta.tgn-okno .tgn-retro__planeta:hover { border-color: var( --zloto ); background: rgba( 230, 196, 138, .07 ); }
#astro-karta.tgn-okno .tgn-retro__planeta i { flex: 0 0 auto; font: 400 26px/1.1 var( --serif ); font-style: normal; color: var( --zloto ); }
#astro-karta.tgn-okno .tgn-retro__planeta b { display: block; font: 500 17px var( --serif ); color: var( --zloto-cieply ); }
#astro-karta.tgn-okno .tgn-retro__planeta small { display: block; font-size: 13px; line-height: 1.55; color: var( --tekst ); }
.tgn-kafel { display: grid; justify-items: center; align-content: start; gap: 6px; min-height: 250px; padding: 16px 12px 18px; border: 1px solid rgba( 160, 111, 251, .3 ); border-radius: 16px; background: rgba( 6, 4, 22, .6 ); color: var( --tekst ); font: inherit; text-align: center; cursor: pointer; transition: border-color .2s, transform .2s, box-shadow .2s; }
.tgn-kafel:hover { border-color: var( --zloto-ciemne ); transform: translateY( -3px ); box-shadow: 0 18px 36px rgba( 0, 0, 0, .45 ); }
.tgn-kafel__nad { margin: 0 0 8px; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var( --zloto-etyk ); }
.tgn-kafel__obraz { display: grid; place-items: center; width: 96px; height: 96px; margin: 4px 0 8px; }
.tgn-kafel__obraz img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tgn-kafel__obraz .tgn-tarcza { width: 96px; height: 96px; }
.tgn-kafel__obraz--slonce img { border-radius: 999px; }
.tgn-kafel__obraz--karta { width: 82px; height: 130px; }
.tgn-kafel__obraz--karta img { border-radius: 6px; box-shadow: 0 8px 22px rgba( 0, 0, 0, .55 ); }
.tgn-kafel__obraz--okrag { border-radius: 999px; overflow: hidden; background: radial-gradient( circle at 45% 35%, var( --kk, #2a2450 ), var( --kk2, #0b0820 ) 72% ); }
.tgn-kafel__glif { font: 400 48px var( --serif ); font-style: normal; color: var( --zloto ); }
.tgn-kafel__tytul { font: 500 19px/1.2 var( --serif ); color: var( --zloto-cieply ); }
.tgn-kafel__pod { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; line-height: 1.5; color: var( --tekst-slaby ); }
.tgn-tarcza { position: relative; display: block; border-radius: 999px; overflow: hidden; }
.tgn-tarcza img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tgn-tarcza__cien { position: absolute; inset: 0; width: 100%; height: 100%; }
.tgn-retro { display: grid; gap: 10px; margin: 10px 0 0; width: 100%; }
.tgn-retro__poz { display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: none; color: var( --tekst-mocny ); font: 300 13px var( --sans ); text-align: left; cursor: pointer; }
.tgn-retro__poz i { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba( 232, 117, 47, .5 ); border-radius: 999px; font: 400 17px var( --serif ); font-style: normal; color: var( --zar ); flex: 0 0 auto; }
.tgn-retro__poz:hover span { color: var( --zloto ); }
.tgn-retro__brak { font-size: 13px; color: var( --tekst-slaby ); }

/* ─────────────────────────────  trzy drogi  ──────────────────────── */

.tgn-drogi-sekcja { max-width: 1280px; margin: 40px auto 0; padding: 0 34px; }
.tgn-drogi { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 22px; }
.tgn-droga { display: grid; grid-template-rows: auto auto 1fr auto auto; justify-items: center; padding: 26px 26px 24px; border: 1px solid var( --obrys ); border-radius: 22px; background: var( --panel ); text-align: center; box-shadow: 0 30px 60px rgba( 0, 0, 0, .35 ); }
.tgn-droga__tytul { margin: 0; font: 500 30px var( --serif ); color: var( --zloto-cieply ); }
.tgn-droga__pod { margin: 4px 0 14px; font-size: 14px; color: var( --lawenda-jasna ); }
.tgn-droga__obraz { display: block; width: 100%; height: 190px; border-radius: 14px; background: var( --obraz ) center / cover no-repeat; -webkit-mask-image: radial-gradient( ellipse at 50% 50%, #000 55%, transparent 100% ); mask-image: radial-gradient( ellipse at 50% 50%, #000 55%, transparent 100% ); }
.tgn-droga__lista { display: grid; gap: 4px; width: max-content; max-width: 100%; margin: 14px auto 18px; text-align: left; }
.tgn-droga__link { display: flex; align-items: center; gap: 12px; padding: 6px 10px; border-radius: 10px; color: var( --tekst-mocny ); font-size: 14.5px; text-decoration: none; transition: background .2s, color .2s; width: 100%; }
.tgn-droga__link img { width: 28px; height: 28px; border-radius: 999px; }
.tgn-droga__link:hover { background: rgba( 160, 111, 251, .12 ); color: var( --zloto ); }
.tgn-droga__btn { width: 100%; text-align: center; border-radius: 999px; }

/* ─────────────────────────────  jedna data  ──────────────────────── */

.tgn-kosmo { display: grid; grid-template-columns: 300px minmax( 0, 1fr ) minmax( 280px, 380px ); gap: 26px; align-items: center; overflow: hidden; margin-top: 40px; }
.tgn-kosmo__obraz { display: block; height: 100%; min-height: 240px; margin: -30px 0 -30px -34px; background: var( --armila ) center / cover no-repeat; -webkit-mask-image: linear-gradient( 90deg, #000 55%, transparent ); mask-image: linear-gradient( 90deg, #000 55%, transparent ); }
.tgn-kosmo__form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.tgn-data { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 14px; border: 1px solid rgba( 230, 196, 138, .35 ); border-radius: 12px; background: rgba( 6, 4, 22, .7 ); }
.tgn-data i { font-style: normal; color: var( --zloto ); }
.tgn-data input { flex: 1; border: 0; background: none; color: var( --tekst-mocny ); font: 400 15px var( --sans ); color-scheme: dark; outline: none; min-width: 0; }
.tgn-kosmo__osie { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.tgn-os { display: inline-flex; align-items: center; gap: 10px; padding: 5px 14px 5px 5px; border: 1px solid rgba( 230, 196, 138, .3 ); border-radius: 999px; color: var( --tekst-mocny ); font-size: 12.5px; text-decoration: none; }
.tgn-os__para { display: inline-flex; align-items: center; }
.tgn-os__med { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var( --zloto-ciemne ); border-radius: 999px; overflow: hidden; background: #0a0722; font: 400 11px var( --serif ); font-style: normal; letter-spacing: .02em; color: var( --zloto ); box-shadow: 0 0 0 2px #0b0620; }
.tgn-os__med img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tgn-os__med--znak { margin-left: -9px; }
.tgn-os__med--znak img { object-position: 50% 44%; transform: scale( 2.1 ); }
.tgn-os:hover { border-color: var( --zloto ); }

/* ─────────────────────────────  postoje  ─────────────────────────── */

.tgn-stacje { margin-top: 30px; }
.tgn-stacje__lista { display: grid; grid-template-columns: repeat( 6, minmax( 0, 1fr ) ); gap: 12px; }
.tgn-stacja { display: grid; gap: 6px; padding: 14px 16px; border: 1px solid rgba( 160, 111, 251, .25 ); border-left: 3px solid var( --zloto ); border-radius: 12px; background: rgba( 6, 4, 22, .6 ); }
.tgn-stacja.jest-retro { border-left-color: var( --zar ); }
.tgn-stacja__gora { display: flex; align-items: center; justify-content: space-between; }
.tgn-stacja__data { font-size: 12px; letter-spacing: .08em; color: var( --zloto-etyk ); }
.tgn-stacja__glif { font: 400 20px var( --serif ); color: var( --zloto ); }
.tgn-stacja__tytul { font-weight: 400; font-size: 14px; line-height: 1.35; color: var( --tekst-mocny ); }
.tgn-stacja__pod { font-size: 11px; letter-spacing: .06em; color: var( --tekst-slaby ); }

/* ─────────────────────────────  stopka  ──────────────────────────── */

.tgn-stopka { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 30px; max-width: 1280px; margin: 40px auto 0; padding: 22px 34px 0; border-top: 1px solid rgba( 230, 196, 138, .14 ); }
.tgn-stopka__marka { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.tgn-stopka__marka span { font: 500 22px var( --serif ); letter-spacing: .18em; text-transform: uppercase; color: var( --zloto ); }
.tgn-stopka__haslo { margin: 0; font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var( --tekst-slaby ); }
.tgn-stopka__haslo i { font-style: normal; margin: 0 10px; color: var( --zloto-ciemne ); }
.tgn-stopka__spol { display: flex; gap: 14px; margin: 0; }
.tgn-stopka__spol a { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba( 230, 196, 138, .3 ); border-radius: 8px; color: var( --zloto-ciemne ); font-size: 13px; text-decoration: none; }
.tgn-stopka__grym { display: flex; align-items: center; gap: 16px; margin: 0; font-size: 11px; line-height: 1.5; color: var( --tekst-slaby ); text-align: right; }

/* okna */
#astro-karta.tgn-okno .ak-hero img { width: 100%; height: 100%; object-fit: cover; }
#astro-karta.tgn-okno .ak-hero--ksiezyc { display: grid; place-items: center; min-height: 200px; background: radial-gradient( circle at 50% 50%, rgba( 201, 184, 239, .18 ), transparent 60% ), #08061a; }
#astro-karta.tgn-okno .ak-hero--ksiezyc .tgn-tarcza { width: 150px; height: 150px; }
#astro-karta.tgn-okno .ak-hero--karta img { object-fit: contain; background: #08061a; }
#astro-karta.trn-okno .ak-panel { width: min( 660px, calc( 100vw - 28px ) ); max-height: min( 86vh, 900px ); }
#astro-karta.trn-okno .ak-hero.ak-hero--runa { display: grid; place-items: center; height: auto; padding: 26px 0 10px; background: radial-gradient( 120% 100% at 50% 0%, rgba( 60, 34, 122, .5 ), transparent 70% ); }
#astro-karta.trn-okno .ak-hero.ak-hero--runa > img { width: auto; height: clamp( 230px, 32vh, 320px ); max-width: 74%; object-fit: contain; border-radius: 12px; box-shadow: 0 20px 46px rgba( 0, 0, 0, .6 ); }
#astro-karta.trn-okno .ma-hero .ak-akapit, #astro-karta.trn-okno .ma-hero .ak-rys { text-align: left; font-size: 1.04rem; line-height: 1.78; margin-bottom: 1.2rem; }
#astro-karta.trn-okno .ma-hero .ak-cechy { font-size: 1rem; }
@media ( max-width: 600px ) { #astro-karta.trn-okno .ak-hero.ak-hero--runa > img { height: 210px; } }
#astro-karta.tgn-okno .tgn-hero__glif { font: 400 108px/1 var( --serif ); color: #f0ce7e; text-shadow: 0 0 34px rgba( 240, 206, 126, .5 ); }
#astro-karta.tgn-okno .ak-sekcja { margin: 14px 0 0; }
#astro-karta.tgn-okno .ak-sekcja > b { display: block; margin: 0 0 4px; font-weight: 400; font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: #cda474; }
#astro-karta.tgn-okno .ak-akapit--link a { color: #e6c48a; text-decoration: none; border-bottom: 1px solid rgba( 230, 196, 138, .3 ); }

@media ( max-width: 1100px ) {
	.tgn-dziedziny { --widac: 4; }
	.tgn-stacje__lista { grid-template-columns: repeat( 3, 1fr ); }
	.tgn-dzis__kafle { --widac: 3; }
	.tgn-dzis__strz { width: 44px; }
	.tgn-kosmo { grid-template-columns: 1fr; }
	.tgn-kosmo__obraz { display: none; }
	.tgn-stopka { grid-template-columns: 1fr 1fr; }
}
@media ( max-width: 800px ) {
	.tgn-hero { grid-template-columns: 1fr; padding: 40px 20px; }
	.tgn-hero__karty { height: 300px; }
	.tgn-karta-hero { width: 150px; }
	.tgn-karta-hero--2 { width: 170px; }
		.tgn-panel, .tgn-drogi-sekcja { margin-left: 14px; margin-right: 14px; padding: 22px 18px; }
	.tgn-drogi-sekcja { padding: 0; }
	.tgn-drogi { grid-template-columns: 1fr; }
	.tgn-dzis__glowa { flex-direction: column; align-items: flex-start; }
	.tgn-dziedziny { --widac: 2; }
	.tgn-dziedziny__strz { display: none; }
	.tgn-stacje__lista { grid-template-columns: 1fr 1fr; }
	.tgn-dzis__kafle { --widac: 2; }
	.tgn-dzis__strz { display: none; }
	.tgn-kosmo__form { grid-template-columns: 1fr; }
	.tgn-stopka { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}

body:has( .tgn-strona ) .wp-block-post-content > .tgn-strona, body:has( .tgn-strona ) .entry-content > .tgn-strona, .tgn-strona { max-width: 1520px !important; margin-left: auto !important; margin-right: auto !important; }
.tgn-hero, .tgn-panel, .tgn-drogi-sekcja, .tgn-stopka { max-width: none; }
.tgn-hero { padding-left: 28px; }

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