/*! © 2026 Krzysztof Górski. Wszelkie prawa zastrzeżone. */
/* Smukłość i płynność: miękkie przejścia między stronami, smuklejszy nagłówek przy przewijaniu,
   łagodne pojawianie się sekcji, spokojniejsze łamanie tekstu, cienki pasek przewijania */

/* przejścia między podstronami (Chrome, Edge, Safari 18+): nagłówek i dolny pasek stoją, treść łagodnie się przenika */
@view-transition { navigation: auto; types: strona; }
html:active-view-transition-type(strona) .site-header { view-transition-name: naglowek; }
html:active-view-transition-type(strona) .dock-wrap { view-transition-name: pasek; }
html:active-view-transition-type(strona)::view-transition-old(root) { animation: vt-out .16s ease-in both; }
html:active-view-transition-type(strona)::view-transition-new(root) { animation: vt-in .32s cubic-bezier(.2,.7,.2,1) both; }
html:active-view-transition-type(strona)::view-transition-group(naglowek),
html:active-view-transition-type(strona)::view-transition-group(pasek) { animation-duration: .25s; }
@keyframes vt-out { to { opacity: 0; } }
@keyframes vt-in { from { opacity: 0; transform: translateY(8px); } }
/* zwykłe przejście: stara strona lekko się oddala, nowa łagodnie „podpływa” (jak w iOS) */
html:active-view-transition-type(strona)::view-transition-old(root) { animation: vt-out2 .22s cubic-bezier(.4,0,1,1) both; transform-origin: 50% 40%; }
html:active-view-transition-type(strona)::view-transition-new(root) { animation: vt-in2 .38s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 40%; }
@keyframes vt-out2 { to { opacity: 0; transform: scale(.975); } }
@keyframes vt-in2 { from { opacity: 0; transform: scale(1.015); } }
/* otwieranie z kafelka: kafelek rośnie do pełnego ekranu, potem odsłania nową stronę */
html:active-view-transition-type(kafel)::view-transition-group(kafel) { animation-duration: .46s; animation-timing-function: cubic-bezier(.22,.9,.24,1); z-index: 10; }
html:active-view-transition-type(kafel)::view-transition-image-pair(kafel) { border-radius: 22px; overflow: hidden; animation: vt-rad .46s cubic-bezier(.22,.9,.24,1) both; }
html:active-view-transition-type(kafel)::view-transition-old(kafel) { animation: vt-k-old .46s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(kafel)::view-transition-new(kafel) { animation: vt-k-new .62s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(kafel)::view-transition-old(root) { animation: vt-k-root .4s cubic-bezier(.4,0,.6,1) both; transform-origin: 50% 50%; }
html:active-view-transition-type(kafel)::view-transition-new(root) { animation: vt-k-nroot .62s linear both; }
@keyframes vt-k-nroot { 0%, 50% { opacity: 0; } 100% { opacity: 1; } }
@keyframes vt-rad { from { border-radius: 22px; } to { border-radius: 0; } }
@keyframes vt-k-old { 0% { opacity: 1; } 40% { opacity: 0; } 100% { opacity: 0; } }
@keyframes vt-k-new { 0% { opacity: 0; } 30% { opacity: 1; } 70% { opacity: 1; } 100% { opacity: 0; } }
@keyframes vt-k-root { to { opacity: .35; transform: scale(.94); filter: blur(2px); } }
/* zamykanie (powrót): strona kurczy się z powrotem do kafelka */
html:active-view-transition-type(zamknij)::view-transition-group(kafel) { animation-duration: .42s; animation-timing-function: cubic-bezier(.3,.7,.2,1); z-index: 10; }
html:active-view-transition-type(zamknij)::view-transition-image-pair(kafel) { overflow: hidden; animation: vt-rad2 .42s cubic-bezier(.3,.7,.2,1) both; }
html:active-view-transition-type(zamknij)::view-transition-old(kafel) { animation: vt-z-old .42s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(zamknij)::view-transition-new(kafel) { animation: vt-z-new .42s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(zamknij)::view-transition-old(root) { animation: vt-out .18s ease-in both; }
html:active-view-transition-type(zamknij)::view-transition-new(root) { animation: vt-z-root .42s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 50%; }
@keyframes vt-rad2 { from { border-radius: 0; } to { border-radius: 22px; } }
@keyframes vt-z-old { 0% { opacity: 0; } 20% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; } }
@keyframes vt-z-new { 0% { opacity: 0; } 60% { opacity: 0; } 100% { opacity: 1; } }
@keyframes vt-z-root { from { opacity: .4; transform: scale(.95); filter: blur(2px); } }
html:active-view-transition-type(zamknij0)::view-transition-group(kafel), html:active-view-transition-type(zamknij0)::view-transition-old(kafel) { animation: none; opacity: 0; }
html:active-view-transition-type(zamknij0)::view-transition-old(root) { animation: vt-out .18s ease-in both; }
html:active-view-transition-type(zamknij0)::view-transition-new(root) { animation: vt-z-root .42s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 50%; }
#vt-panel { display: block; }

/* smuklejszy nagłówek po przewinięciu */
.site-header .header-inner { transition: min-height .35s cubic-bezier(.2,.7,.2,1); }
html.pl-sc .site-header .header-inner { min-height: 58px; }
html.pl-sc .site-header { -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }
@media (max-width: 760px) { html.pl-sc .site-header .header-inner { min-height: 54px; } }

/* tekst: nagłówki równo łamane, akapity bez sierotek na końcu */
h1, h2, h3, .section-head p, .sp-lead, .km-lead { text-wrap: balance; }
p, li, figcaption { text-wrap: pretty; }

/* miękkie reakcje na najechanie i dotknięcie */
:where(a, button, summary, .btn, [role="button"]) { transition-property: color, background-color, border-color, box-shadow, opacity, transform; transition-duration: .2s; transition-timing-function: cubic-bezier(.2,.7,.2,1); -webkit-tap-highlight-color: transparent; }
:where(.btn, button):active { transform: scale(.98); }
:where(a, button, summary, input, select, textarea):focus-visible { outline-offset: 3px; }

/* łagodne pojawianie się treści przy przewijaniu */
.pl-rv { opacity: .01; transform: translateY(12px); }
.pl-rv.pl-in { opacity: 1; transform: none; transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); transition-delay: var(--pl-d, 0ms); }

/* cienki, dyskretny pasek przewijania */
html { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--brass-dot, #C9A45A) 55%, transparent) transparent; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--brass-dot, #C9A45A) 50%, transparent); border-radius: 9px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* zdjęcia: łagodne pojawianie się po wczytaniu */
img[loading="lazy"] { transition: opacity .5s ease; }

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .pl-rv { opacity: 1 !important; transform: none !important; }
  .site-header .header-inner { transition: none; }
}

/* ── wypukłość: wybrane elementy lekko uniesione nad tłem (światło z góry, miękki cień pod spodem) ── */
:root {
  --lift-edge: inset 0 1px 0 rgba(255,255,255,.07);
  --lift-sh: 0 1px 2px rgba(0,0,0,.28), 0 10px 26px -10px rgba(0,0,0,.55);
  --lift-sh-hi: 0 2px 4px rgba(0,0,0,.3), 0 20px 40px -14px rgba(0,0,0,.65);
  --lift-glow: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 55%);
}
html[data-theme=light] {
  --lift-edge: inset 0 1px 0 rgba(255,255,255,.35);
  --lift-sh: 0 1px 2px rgba(17,27,44,.06), 0 12px 28px -14px rgba(17,27,44,.22);
  --lift-sh-hi: 0 2px 4px rgba(17,27,44,.07), 0 22px 40px -16px rgba(17,27,44,.3);
  --lift-glow: none;
}
@media (prefers-color-scheme: light) {
  html:not([data-theme]) {
    --lift-edge: inset 0 1px 0 rgba(255,255,255,.35);
    --lift-sh: 0 1px 2px rgba(17,27,44,.06), 0 12px 28px -14px rgba(17,27,44,.22);
    --lift-sh-hi: 0 2px 4px rgba(17,27,44,.07), 0 22px 40px -16px rgba(17,27,44,.3);
    --lift-glow: none;
  }
}

/* karty informacyjne */
html .tile, html .office, html .inv-card, html #pomoc .hl-grid a, 
html .sp .sp-card, html .sp .sp-steps li, html .sp .sp-date, html .sp .sp-form-wrap, html .sp .sp-ncard, html .sp .sp-gcard, 
html .km-card, html .km-day, html .km-wabox, html .km-form-wrap, html .kf-cta, html .parish-check, html .wa {
  background-image: var(--lift-glow);
  box-shadow: var(--lift-edge), var(--lift-sh);
}
html .tile-next { box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 2px 4px rgba(0,0,0,.25), 0 18px 36px -14px color-mix(in srgb, var(--field, #1B3A6B) 85%, #000); }

/* klikalne karty: przy najechaniu unoszą się wyżej */
html #pomoc .hl-grid a, html .sp .sp-ncard, html .sp .sp-gcard, html .inv-card {
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s cubic-bezier(.2,.7,.2,1), border-color .2s;
}
@media (hover: hover) {
  html #pomoc .hl-grid a:hover, html .sp .sp-ncard:hover, html .sp .sp-gcard:hover { transform: translateY(-3px); box-shadow: var(--lift-edge), var(--lift-sh-hi); }
}
html #pomoc .hl-grid a:active, html .sp .sp-ncard:active, html .sp .sp-gcard:active { transform: translateY(0); box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.2); }

/* przyciski główne: lekko wypukłe, przy wciśnięciu „wchodzą” w stronę */
html .btn-primary {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -2px 0 rgba(0,0,0,.18), 0 2px 3px rgba(0,0,0,.2), 0 10px 22px -10px rgba(0,0,0,.55);
}
@media (hover: hover) { .btn-primary:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 -2px 0 rgba(0,0,0,.18), 0 3px 5px rgba(0,0,0,.22), 0 16px 28px -12px rgba(0,0,0,.6); } }
html .btn-primary:active { transform: translateY(1px) scale(.99); box-shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 1px rgba(0,0,0,.15); }
html .btn-secondary { box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.15); }

/* wybór szkoły i dni w kalendarzu */
html .km-chip { box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.18); }
html .km-chip[aria-pressed=true], html .km-chip.on { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 6px 14px -6px rgba(0,0,0,.5); }
html .cal-day.today, html .cal-day.is-today, html .home-day.today { box-shadow: var(--lift-edge), var(--lift-sh); }

/* dolny pasek na telefonie: unosi się nad treścią */
html .dock { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.3), 0 18px 40px -12px rgba(0,0,0,.7); }

@media (prefers-reduced-motion: reduce) {
  html #pomoc .hl-grid a:hover, html .sp .sp-ncard:hover, html .sp .sp-gcard:hover, html .btn-primary:hover { transform: none; }
}

/* podpis w stopce: delikatnie się szkli — przesuwa się po nim pasmo światła */
html .footer-credit .kp-szklo {
  display: inline-block;
  background: linear-gradient(100deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,.38) 38%, rgba(255,246,220,.9) 46%, #F1D9A0 50%, rgba(255,246,220,.9) 54%, rgba(255,255,255,.38) 62%, rgba(255,255,255,.38) 100%) 0 0 / 250% 100% no-repeat;
  -webkit-background-clip: text !important; background-clip: text !important;
  color: transparent !important; -webkit-text-fill-color: transparent;
  animation: kp-szkli 6s cubic-bezier(.45,0,.25,1) infinite;
}
@keyframes kp-szkli { 0%, 10% { background-position: 100% 0; } 60%, 100% { background-position: 0% 0; } }
@media (prefers-reduced-motion: reduce) { html .footer-credit .kp-szklo { animation: none; background-position: 100% 0; } }

/* ruchoma siatka zdjęć w tle sekcji „Wspólnoty” */
#dla-ciebie.has-gbg { position: relative; isolation: isolate; overflow: clip; }
#dla-ciebie .gbg { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
#dla-ciebie .gbg-tilt { position: absolute; inset: -30% -12%; display: flex; gap: 14px; justify-content: center;
  transform: translate3d(var(--gbg-x, 0), var(--gbg-y, 0), 0) rotate(-7deg); }
#dla-ciebie .gbg-col { flex: 1 1 0; max-width: 260px; overflow: visible; }
#dla-ciebie .gbg-track { display: flex; flex-direction: column; gap: 14px; animation: gbg-up var(--gbg-t, 50s) linear infinite; will-change: transform; }
#dla-ciebie .gbg-dn .gbg-track { animation-name: gbg-dn; }
#dla-ciebie .gbg-off .gbg-track { animation-play-state: paused; }
#dla-ciebie .gbg-i { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; opacity: 0; transition: opacity 1.2s ease; filter: saturate(.75); }
#dla-ciebie .gbg-i.gbg-tall { aspect-ratio: 3 / 4; }
#dla-ciebie .gbg-i.gbg-ok { opacity: .42; }
/* przyciemnienie, żeby treść była czytelna, i miękkie wtopienie w górę i dół sekcji */
#dla-ciebie .gbg::after { content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, var(--bg) 0%, transparent 22%, transparent 78%, var(--bg) 100%),
    radial-gradient(120% 90% at 30% 40%, color-mix(in srgb, var(--bg) 72%, transparent) 0%, color-mix(in srgb, var(--bg) 86%, transparent) 100%); }
@keyframes gbg-up { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, calc(-50% - 7px), 0); } }
@keyframes gbg-dn { from { transform: translate3d(0, calc(-50% - 7px), 0); } to { transform: translate3d(0, 0, 0); } }
@media (max-width: 640px) { #dla-ciebie .gbg-tilt { gap: 10px; inset: -20% -22%; } #dla-ciebie .gbg-track { gap: 10px; } #dla-ciebie .gbg-i.gbg-ok { opacity: .44; } #dla-ciebie .gbg-i { border-radius: 12px; } }
@media (prefers-reduced-motion: reduce) { #dla-ciebie .gbg-track { animation: none; } }


/* ── O parafii: historia na osi czasu ── */
#historia .hi-head { text-align: center; max-width: 620px; margin: 0 auto 44px; }
#historia .hi-head h2 { margin: 0 0 12px; }
#historia .hi-head p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.hi-line { position: relative; list-style: none; margin: 0 auto; padding: 0; max-width: 980px; }
.hi-line::before { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 2px; transform: translateX(-1px); background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--brass-dot, #C9A45A) 65%, transparent) 6%, color-mix(in srgb, var(--brass-dot, #C9A45A) 65%, transparent) 94%, transparent); }
.hi-it { position: relative; width: 50%; box-sizing: border-box; padding: 0 44px 34px 0; }
.hi-it:nth-child(even) { margin-left: 50%; padding: 0 0 34px 44px; }
.hi-dot { position: absolute; top: 10px; right: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--bg); border: 2px solid var(--brass-dot, #C9A45A); box-shadow: 0 0 0 4px var(--bg), 0 0 14px color-mix(in srgb, var(--brass-dot, #C9A45A) 50%, transparent); }
.hi-it:nth-child(even) .hi-dot { right: auto; left: -7px; }
.hi-same .hi-dot { width: 10px; height: 10px; top: 12px; right: -5px; border-width: 2px; }
.hi-same:nth-child(even) .hi-dot { left: -5px; }
.hi-it:nth-child(odd) .hi-card { text-align: right; }
.hi-y { margin: 0 0 6px; font-family: var(--display); font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; line-height: 1; letter-spacing: -.01em; color: var(--brass-dot, #C9A45A); }
.hi-card h3 { margin: 0 0 6px; font-family: var(--display); font-size: 19px; line-height: 1.25; color: var(--ink); }
.hi-t { margin: 0; color: var(--ink-2); line-height: 1.6; font-size: 16px; }
.hi-ph { display: inline-block; margin-top: 14px; width: min(100%, 340px); border-radius: 12px; overflow: hidden; box-shadow: 0 18px 36px -20px rgba(0,0,0,.85), inset 0 0 0 1px rgba(255,255,255,.06); }
.hi-ph img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.hi-ph:hover img { transform: scale(1.04); }
.hi-rv { opacity: .01; transform: translateY(14px); }
.hi-rv.hi-in { opacity: 1; transform: none; transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
.hi-more { text-align: center; margin: 18px 0 0; }
@media (max-width: 760px) {
  .hi-line::before { left: 7px; }
  .hi-it, .hi-it:nth-child(even) { width: auto; margin-left: 0; padding: 0 0 28px 34px; }
  .hi-dot, .hi-it:nth-child(even) .hi-dot { left: 0; right: auto; }
  .hi-same .hi-dot, .hi-same:nth-child(even) .hi-dot { left: 2px; }
  .hi-it:nth-child(odd) .hi-card { text-align: left; }
}

/* ── strona główna: kronika w trybie przewijanym ── */
#kronika-home .kr-bar { display: flex; justify-content: flex-end; margin: -6px 0 14px; position: static; background: none; box-shadow: none; padding: 0; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
#kronika-home .kr-bar::before, #kronika-home .kr-bar::after { display: none; }
#kronika-home .section-head { position: static; }
#kronika-home .kr-h .kr-nav { display: inline-flex; }
#kronika-home .kr-text p { margin: 0; }
#kronika-home .krh-link { margin: 12px 0 0; font-size: 14.5px; font-weight: 700; }
#kronika-home .krh-link a { color: var(--brass-dot, #C9A45A); text-decoration: none; }
#kronika-home .krh-link a:hover { text-decoration: underline; }
#kronika-home .krh-more { margin: 10px 0 0; }
#kronika-home a.kr-ph { display: block; }
#dla-ciebie .section-head { padding-top: 20px; }

/* ── nagłówek po przewinięciu: półprzezroczysta, matowa tafla — treść pod nim prześwieca rozmyta ── */
html .site-header { transition: background-color .4s ease, border-color .4s ease, box-shadow .4s ease; }
html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 42%, transparent); border-bottom-color: rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(20px) saturate(1.7); backdrop-filter: blur(20px) saturate(1.7);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 30px -18px rgba(0,0,0,.6); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 92%, transparent); } }
@media (max-width: 760px) { html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 58%, transparent); } }

/* stopka: łagodne, kolejne pojawianie się napisów */
.site-footer.ft-rv .ft-it { opacity: 0; transform: translateY(14px); filter: blur(4px); }
.site-footer.ft-rv.ft-in .ft-it { opacity: 1; transform: none; filter: none;
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease; transition-delay: var(--ft-d, 0ms); }
.site-footer.ft-rv .footer-credit.ft-it { transform: none; }


/* ── opływowość 2: miękkie przewijanie, mgiełka zdjęć, głębia ── */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis.lenis-stopped:not(.lenis-autoToggle) { overflow: clip; }
.lenis.lenis-autoToggle { transition-property: overflow; transition-duration: 1ms; transition-behavior: allow-discrete; }
img.pl-mg { opacity: 0; filter: blur(14px) saturate(.8); transition: opacity .7s cubic-bezier(.2,.7,.2,1), filter .9s cubic-bezier(.2,.7,.2,1); }
img.pl-mg.pl-ok { opacity: 1; filter: none; }
img.pl-px { scale: 1.1; translate: 0 var(--plx, 0); will-change: translate; }
@media (prefers-reduced-motion: reduce) { img.pl-mg { opacity: 1; filter: none; } img.pl-px { scale: none; translate: none; } }
.pl-pxw { overflow: clip; }
.bento:has(+ .access-bar) { padding-bottom: 0; }
.today .wrap:has(> .access-bar) { padding-bottom: 30px; }
.access-bar { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px 0; margin: 12px 0 0; padding: 14px 0; border: 1px solid var(--line, rgba(255,255,255,.1)); border-radius: 20px; background: color-mix(in srgb, var(--ink, #fff) 3%, transparent); justify-content: center; }
.access-bar p { margin: 0; padding: 0 28px; display: flex; align-items: center; justify-content: flex-start; gap: 12px;
}
.access-bar p + p { border-left: 1px solid var(--line, rgba(255,255,255,.1)); }
.access-bar p { max-width: none; text-wrap: wrap; font-size: 14.5px; line-height: 1.35; color: var(--ink-2); }
.access-bar .ab-ic { display: inline-flex; gap: 4px; flex: none; font-style: normal; }
.access-bar svg { width: 21px; height: 21px; flex: none; color: var(--brass-dot, #C9A45A); }
.access-bar b { font-weight: 600; color: var(--ink, inherit); }
@media (max-width: 900px) { .access-bar { grid-template-columns: 1fr; padding: 16px 0; gap: 14px; } .access-bar p { align-items: flex-start; justify-content: flex-start; padding: 0 18px; } .access-bar p + p { border-left: 0; border-top: 1px solid var(--line, rgba(255,255,255,.1)); padding-top: 14px; } .access-bar .ab-ic { width: 46px; } }
.access-bar p > span { display: flex; flex-direction: column; gap: 1px; }
.access-bar p > span b { font-size: 15.5px; }
.access-bar p { align-items: center !important; }

/* ── opływowość 3 ── */
/* jedno tempo ruchu na całej stronie */
:root { --ease: cubic-bezier(.22, .8, .24, 1); --pl-ease: cubic-bezier(.22, .8, .24, 1); }
/* łamanie tekstu */
h1, h2, h3, .tile b, .section-lead { text-wrap: balance; }
a[href^="tel:"] { white-space: nowrap; }
.pill { white-space: normal; text-wrap: balance; }

/* zarysy podczas wczytywania */
.pl-sk:empty { position: relative; min-height: 140px; border-radius: 20px; overflow: hidden; background: color-mix(in srgb, var(--ink, #fff) 5%, transparent); }
:is(h2, p).pl-sk:empty { min-height: 0; height: 1.1em; width: min(420px, 70%); border-radius: 10px; }
p.pl-sk:empty { height: .9em; width: min(560px, 85%); }
.pl-sk:empty::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--ink, #fff) 9%, transparent) 45%, transparent 70%); background-size: 220% 100%; animation: pl-sk 1.6s var(--pl-ease) infinite; }
@keyframes pl-sk { from { background-position: 120% 0; } to { background-position: -100% 0; } }
html.pl-sk-end .pl-sk:empty { min-height: 0; height: auto; background: none; }
html.pl-sk-end .pl-sk:empty::after { display: none; }
.pl-sk > * { animation: pl-in .55s var(--pl-ease) both; }
.pl-sk > :nth-child(2) { animation-delay: .05s; } .pl-sk > :nth-child(3) { animation-delay: .1s; } .pl-sk > :nth-child(n+4) { animation-delay: .15s; }
@keyframes pl-in { from { opacity: 0; transform: translateY(8px); } }

/* kafelki „Dziś” */
.tile .pl-season { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 13.5px; }
.tile .pl-season i { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--sc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc) 22%, transparent), 0 0 12px color-mix(in srgb, var(--sc) 55%, transparent); }
.tile .pl-cd { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 13.5px; }
.tile .pl-cd[hidden] { display: none; }
.tile .pl-cd i { width: 8px; height: 8px; border-radius: 50%; flex: none; background: #7EE0A1; box-shadow: 0 0 0 0 rgba(126,224,161,.6); animation: pl-pulse 2.2s ease-out infinite; }
.tile .pl-cd .pl-cd-v { font-style: normal; font-weight: 600; color: var(--on-field, #fff); white-space: nowrap; }
@keyframes pl-pulse { 70% { box-shadow: 0 0 0 7px rgba(126,224,161,0); } 100% { box-shadow: 0 0 0 0 rgba(126,224,161,0); } }
.bento .tile { display: flex; flex-direction: column; }

/* reakcja na dotyk */
@media (hover: none) {
  :where(.tile, .btn, .invite a, .invite li, .sp-ncard, .sp-gcard, .album-cover, .kr-it, .dock a, .km-card, .comm-card, .access-bar p) { transition: transform .18s var(--pl-ease), filter .18s var(--pl-ease); -webkit-tap-highlight-color: transparent; }
  :where(.tile, .btn, .invite a, .invite li, .sp-ncard, .sp-gcard, .album-cover, .kr-it, .km-card, .comm-card):active { transform: scale(.975); filter: brightness(1.08); }
  :where(.dock a):active { transform: scale(.9); }
}

/* potwierdzenie wysłania formularza */
.sp-done:not([hidden]) h3::before, .km-done:not([hidden]):not(:empty)::before, .kf-done .kf-tick { content: ""; display: block; width: 56px; height: 56px; margin: 0 0 14px; border-radius: 50%; font-size: 0;
  background: #3E9B5B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px no-repeat;
  box-shadow: 0 10px 30px -10px rgba(62,155,91,.7); animation: pl-tick .7s var(--pl-ease) both; }
@keyframes pl-tick { 0% { transform: scale(.3); opacity: 0; } 60% { transform: scale(1.08); opacity: 1; } 100% { transform: scale(1); } }

/* pasek postępu czytania i „do góry” */
.pl-prog { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 1000; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #C9A45A, #E9CF8E); pointer-events: none; }
.pl-up { position: fixed; right: 22px; bottom: 24px; z-index: 900; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; color: var(--ink, #fff);
  border: 1px solid color-mix(in srgb, var(--ink, #fff) 16%, transparent); background: color-mix(in srgb, var(--field, #0E1A2E) 70%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 10px 30px -12px rgba(0,0,0,.6); opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; transition: opacity .35s var(--pl-ease), transform .35s var(--pl-ease), border-color .2s; }
.pl-up svg { width: 20px; height: 20px; }
.pl-up.on { opacity: 1; transform: none; pointer-events: auto; }
@media (hover: hover) { .pl-up:hover { border-color: #C9A45A; color: #E9CF8E; } }
@media (max-width: 760px) { .pl-up { right: 14px; bottom: calc(96px + env(safe-area-inset-bottom)); width: 42px; height: 42px; } }
@media print { .pl-up, .pl-prog { display: none; } }
@media (prefers-reduced-motion: reduce) { .pl-sk:empty::after, .tile .pl-cd i { animation: none; } .pl-sk > * { animation: none; } }

/* ── Komunia Św. 2027 na stronie głównej: pasek ze zdjęciem kościoła i szklana karta ── */
.kom-promo { position: relative; padding: 56px 0; overflow: hidden; isolation: isolate; background: var(--bg-2, #13203A); border-top: 1px solid var(--line-2, rgba(255,255,255,.06)); }
.kom-promo .kp-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(520px 260px at 14% 55%, rgba(201,164,90,.22), transparent 70%), radial-gradient(560px 300px at 62% 30%, rgba(46,110,190,.28), transparent 70%), radial-gradient(480px 260px at 92% 80%, rgba(120,90,200,.16), transparent 70%); }
.kom-promo .kp-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 26px 30px; border-radius: 28px; text-decoration: none; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.28);
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.04), 0 24px 60px -30px rgba(0,0,0,.7);
  transition: transform .35s var(--pl-ease, ease), background .35s; }
.kom-promo .kp-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.22), transparent 55%); }
@media (hover: hover) { .kom-promo .kp-card:hover { transform: translateY(-2px); background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.09)); } }
.kom-promo .kp-art { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
.kom-promo .kp-art svg { width: 34px; height: 34px; }
.kom-promo .kp-txt { display: grid; gap: 4px; min-width: 0; }
.kom-promo .kp-k { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.75); }
.kom-promo .kp-t { font-family: var(--display); font-size: clamp(26px, 3.2vw, 34px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; color: #fff; }
.kom-promo .kp-d { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.82); max-width: 58ch; text-wrap: pretty; }
.kom-promo .kp-go { display: grid; gap: 8px; justify-items: center; }
.kom-promo .kp-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 999px; font-weight: 700; white-space: nowrap; color: #14202F; background: #fff; box-shadow: 0 8px 20px -10px rgba(0,0,0,.5); }
.kom-promo .kp-more { font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.8); white-space: nowrap; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kom-promo .kp-card { background: rgba(16,26,44,.82); } }
@media (max-width: 760px) {
  .kom-promo { padding: 24px 0; }
  .kom-promo .kp-card { grid-template-columns: 1fr; gap: 14px; padding: 18px 18px 16px; border-radius: 22px; }
  .kom-promo .kp-art { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 14px; } .kom-promo .kp-art svg { width: 24px; height: 24px; }
  .kom-promo .kp-k, .kom-promo .kp-t { padding-right: 56px; }
  .kom-promo .kp-txt { gap: 6px; }
  .kom-promo .kp-t { font-size: 28px; }
  .kom-promo .kp-d { font-size: 15px; line-height: 1.45; }
  .kom-promo .kp-go { grid-template-columns: 1fr; justify-items: stretch; gap: 10px; margin-top: 2px; }
  .kom-promo .kp-btn { justify-content: center; width: 100%; min-height: 50px; }
  .kom-promo .kp-more { text-align: center; padding: 2px 0; }
}
html[data-theme=light] .kom-promo .kp-card { color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.5)); border-color: rgba(20,72,124,.14); box-shadow: inset 0 1px 0 #fff, 0 20px 50px -30px rgba(20,40,80,.4); }
html[data-theme=light] .kom-promo .kp-t { color: var(--ink); }
html[data-theme=light] .kom-promo .kp-d, html[data-theme=light] .kom-promo .kp-k, html[data-theme=light] .kom-promo .kp-more { color: var(--ink-2); }
html[data-theme=light] .kom-promo .kp-art { color: #14487C; background: rgba(20,72,124,.07); border-color: rgba(20,72,124,.14); }
html[data-theme=light] .kom-promo .kp-btn { background: #14487C; color: #fff; }
/* menu: wyróżniony link + plakietka */
#menu a.mg-kom { color: #F3E2B0 !important; font-weight: 600; }
#menu a.mg-kom .mg-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; font: 700 10.5px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; vertical-align: 2px; color: #1A1406; background: linear-gradient(180deg, #F0D58F, #C9A45A); }
html[data-theme=light] #menu a.mg-kom { color: #8F6F26 !important; }
.dock a.dk-kom { color: #E9CF8E; }
html #menu.mm a.mg-kom { background: rgba(201,164,90,.14) !important; box-shadow: inset 0 0 0 1px rgba(201,164,90,.5) !important; }

/* menu: „Dla posługujących” — panel i kalendarz liderów */
#menu .mg-staff { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
#menu .mg-staff-h { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(238,241,248,.5); margin-right: 6px; }
#menu .mg-staff a.mg-staff-a { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 8px 14px !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 600; color: rgba(238,241,248,.85) !important; background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.12) !important; text-decoration: none; }
#menu .mg-staff a.mg-staff-a::before, #menu .mg-staff a.mg-staff-a::after { display: none !important; }
#menu .mg-staff a.mg-staff-a svg { width: 17px; height: 17px; color: #D9BD7E; flex: none; }
@media (hover: hover) { #menu .mg-staff a.mg-staff-a:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; } }
#menu.mm .mg-staff { margin: 22px 14px 0; padding-top: 14px; }
html[data-theme=light] #menu .mg-staff { border-color: rgba(0,0,0,.1); }
html[data-theme=light] #menu .mg-staff-h { color: #6B7080; }
html[data-theme=light] #menu .mg-staff a.mg-staff-a { color: #22263A !important; background: rgba(0,0,0,.04) !important; border-color: rgba(0,0,0,.1) !important; }
/* „Dla posługujących” na telefonie: lista jak pozostałe grupy menu */
@media (max-width: 1240px) {
#menu.mm .mg-staff { display: block; margin: 26px 0 0; padding: 0; border-top: 0; }
#menu.mm .mg-staff-h { display: block; margin: 0 0 10px 12px; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: rgba(238,241,248,.55); }
#menu.mm .mg-staff-l { display: grid; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.045); }
#menu.mm .mg-staff a.mg-staff-a { display: flex !important; width: 100% !important; gap: 16px; padding: 14px 16px !important; min-height: 56px !important; border-radius: 0 !important; border: 0 !important; background: none !important; font-size: 16.5px !important; font-weight: 600; color: #EEF1F8 !important; position: relative; }
#menu.mm .mg-staff a.mg-staff-a + a.mg-staff-a { border-top: 1px solid rgba(255,255,255,.07) !important; }
#menu.mm .mg-staff a.mg-staff-a svg { width: 22px; height: 22px; margin-left: 4px; }
#menu.mm .mg-staff a.mg-staff-a::after { content: "" !important; display: block !important; position: static !important; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid rgba(238,241,248,.35); border-top: 2px solid rgba(238,241,248,.35); transform: rotate(45deg); background: none !important; }
#menu.mm .mg-staff a.mg-staff-a:active { background: rgba(255,255,255,.06) !important; }
}
@media (min-width: 1241px) { #menu .mg-staff-l { display: contents; } }
/* menu: cztery kolumny (Kontakt i dojazd osobno) */
@media (min-width: 1241px) {
  html #menu.menu-sheet .mg.mg-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto 1fr; gap: 0 34px; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(3) { grid-column: 3; grid-row: 1; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col-kd { grid-column: 3; grid-row: 2; margin-top: 22px; }
  html #menu.menu-sheet .mg.mg-4 > .mg-staff { grid-row: 3; }
}
/* kolory etapów życia (jak na ekranie Kairos On) */
#invite-list li.kk, .comm-card.kk { position: relative; }
#invite-list li.kk::before, .comm-card.kk::before { content: ""; position: absolute; left: 20px; right: 20px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: var(--cc); box-shadow: 0 0 16px var(--cc); opacity: .9; pointer-events: none; }
#invite-list li.kk .kicker, .comm-card.kk .who { color: var(--cc) !important; }
.kk-new { position: absolute; top: 0; right: 18px; padding: 3px 9px 4px; border-radius: 0 0 9px 9px; font: 700 10px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: #0E1A2E; background: var(--cc); }
html[data-kk] .ws-hero h1, html[data-kk] .sp-hero-k { text-decoration: none; }
html[data-kk] main::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, transparent, var(--cc), transparent); opacity: .8; }
/* menu: dobre słowo na pożegnanie */
#menu .mg-bless { font-family: "Newsreader", Georgia, serif; font-style: italic; font-size: 19px; color: #E8C987; margin: 0; }
@media (min-width: 1241px) { html #menu.menu-sheet .mg-bless { grid-column: 1 / -1; align-self: center; order: 98; margin: 22px 0 0; } html #menu.menu-sheet:has(.mg-bless) .menu-close { margin-top: -38px; } }
@media (max-width: 1240px) { #menu .mg-bless { text-align: center; margin: 26px 20px 8px; font-size: 18px; } }
html[data-theme=light] #menu .mg-bless { color: #8F6F26; }

#menu .mg-bless .mg-sig { font-family: var(--sans); font-style: normal; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: rgba(232,201,135,.6); margin-left: 10px; white-space: nowrap; }
@media (max-width: 1240px) { #menu .mg-bless .mg-sig { display: block; margin: 6px 0 0; } }
/* karty wspólnot jak na ekranie Kairos On */
#invite-list li.kk, .comm-card.kk { border-radius: 24px !important; overflow: hidden; isolation: isolate; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.35) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(255,255,255,.07), 0 24px 50px -30px rgba(0,0,0,.75) !important;
  transition: transform .35s cubic-bezier(.22,.8,.24,1), border-color .3s, background .3s; }
#invite-list li.kk::after, .comm-card.kk::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 20% -15%, rgba(255,255,255,.2), transparent 55%); }
#invite-list li.kk::before, .comm-card.kk::before { left: 22px; right: 22px; }
#invite-list li.kk .kicker, .comm-card.kk .who { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; }
#invite-list li.kk h3, #invite-list li.kk h3 a, .comm-card.kk h3, .comm-card.kk h3 a { color: #fff !important; }
#invite-list li.kk p, .comm-card.kk p { color: rgba(232,236,246,.72) !important; }
#invite-list li.kk p a { color: var(--cc) !important; }
.kk-n { display: block; margin-top: 14px; font-size: 13.5px; font-weight: 600; color: var(--cc); }
@media (hover: hover) { #invite-list li.kk:hover, .comm-card.kk:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--cc) 70%, white) !important; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { #invite-list li.kk, .comm-card.kk { background: rgba(22,34,58,.9) !important; } }
html[data-theme=light] #invite-list li.kk, html[data-theme=light] .comm-card.kk { color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.6)) !important; border-color: rgba(20,72,124,.14) !important; box-shadow: inset 0 1px 0 #fff, 0 20px 40px -30px rgba(20,40,80,.4) !important; }
html[data-theme=light] #invite-list li.kk h3, html[data-theme=light] #invite-list li.kk h3 a, html[data-theme=light] .comm-card.kk h3, html[data-theme=light] .comm-card.kk h3 a { color: var(--ink) !important; }
html[data-theme=light] #invite-list li.kk p, html[data-theme=light] .comm-card.kk p { color: var(--ink-2) !important; }

/* ===== Podstrona wspólnoty w kolorze etapu (ws2) ===== */
html.ws2-on main::before { display: none; }
html:not([style*="--cc"]) .ws2 { --cc: #C9A45A; }
.ws2 { padding-top: clamp(18px, 3vw, 34px); }
.ws2 .ws2-wrap { display: block; }
.ws2 .ws-hero { position: relative; top: auto; isolation: isolate; overflow: hidden; border-radius: 30px; padding: clamp(26px, 4.4vw, 58px) clamp(22px, 4.4vw, 60px) clamp(26px, 4vw, 50px);
  color: #fff; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--cc) 42%, transparent) 0%, transparent 55%), radial-gradient(80% 80% at 0% 100%, color-mix(in srgb, var(--cc) 20%, transparent), transparent 60%), linear-gradient(160deg, #0F2140 0%, #0A1626 100%);
  border: 1px solid color-mix(in srgb, var(--cc) 30%, rgba(255,255,255,.08)); box-shadow: 0 30px 70px -30px color-mix(in srgb, var(--cc) 45%, rgba(0,0,0,.6)); }
.ws2 .ws-hero::before { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -120px; top: -160px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--cc) 35%, transparent); box-shadow: 0 0 0 60px color-mix(in srgb, var(--cc) 5%, transparent), 0 0 0 130px color-mix(in srgb, var(--cc) 3%, transparent); }
.ws2 .ws-hero::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--cc), transparent); }
.ws2 .ws-back { margin: 0 0 22px; font-size: 15px; }
.ws2 .ws-back a { color: rgba(255,255,255,.72); text-decoration: none; font-weight: 600; }
.ws2 .ws-back a:hover { color: #fff; }
.ws2 .ws-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; max-width: none; }
.ws2 .ws-stage { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px 6px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cc); background: color-mix(in srgb, var(--cc) 14%, transparent); border: 1px solid color-mix(in srgb, var(--cc) 40%, transparent); }
.ws2 .ws-stage::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cc); box-shadow: 0 0 12px var(--cc); }
.ws2 .ws-stage:empty { display: none; }
.ws2 .ws-new { font-style: normal; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; color: #0A1626; background: var(--cc); }
.ws2 .ws-new::before { content: "✦ "; }
.ws2 .ws-hero h2, .ws2 .ws-hero h1.as-h2 { color: #fff; font-size: clamp(38px, 6.4vw, 76px); line-height: 1; letter-spacing: -.025em; margin: 0; max-width: 16ch; text-wrap: balance; }
.ws2 .ws-kicker { color: rgba(255,255,255,.7); text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 17px; margin: 10px 0 0; }
.ws2 .ws-for { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(21px, 2.4vw, 28px); line-height: 1.3; color: color-mix(in srgb, var(--cc) 55%, #fff); margin: 14px 0 0; max-width: 34ch; }
.ws2 .ws-for:empty { display: none; }
.ws2 .ws-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 28px 0 0; max-width: 860px; }
.ws2 .ws-fact { position: relative; padding: 14px 16px 14px 18px; border-radius: 18px; background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.ws2 .ws-fact::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--cc); }
.ws2 .ws-fact small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.58); margin-bottom: 4px; }
.ws2 .ws-fact b { display: block; font-size: 16px; line-height: 1.35; font-weight: 700; color: #fff; }
.ws2 .ws-hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; max-width: none; }
.ws2 .ws-hero-cta .btn { min-height: 52px; padding: 0 26px; border-radius: 999px; font-size: 16.5px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.ws2 .ws-go { background: var(--cc); color: #0A1626; border: 0; box-shadow: 0 12px 30px -10px var(--cc); }
.ws2 .ws-go:hover { filter: brightness(1.08); transform: translateY(-1px); }
.ws2 .ws-go span { transition: transform .3s cubic-bezier(.22,1,.36,1); }
.ws2 .ws-go:hover span { transform: translateX(4px); }
.ws2 .ws-tel { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.ws2 .ws-tel:hover { background: rgba(255,255,255,.14); }
.ws2 .ws-promise { margin: 16px 0 0; font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.75); max-width: 60ch; }
.ws2 .ws-promise:empty { display: none; }

.ws2 .ws-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: clamp(22px, 4vw, 56px); max-width: none; margin-top: clamp(30px, 4vw, 54px); align-items: start; }
.ws2 .ws-main { display: grid; gap: 26px; min-width: 0; }
.ws2 .ws-desc p { font-size: 18.5px; line-height: 1.75; }
.ws2 .ws-desc p:first-child { font-size: clamp(20px, 2vw, 23px); line-height: 1.55; color: var(--ink); font-weight: 500; }
.ws2 .ws-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ws2 .ws-steps-h { grid-column: 1 / -1; font-family: 'Bricolage Grotesque', var(--font-display, sans-serif); font-weight: 700; font-size: 21px; color: var(--ink); margin-bottom: 2px; }
.ws2 .ws-step { position: relative; padding: 18px 18px 16px; border-radius: 20px; background: color-mix(in srgb, var(--cc) 9%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 28%, var(--line)); }
.ws2 .ws-step-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--cc); color: #0A1626; font-weight: 800; font-size: 15px; margin-bottom: 12px; box-shadow: 0 6px 16px -6px var(--cc); }
.ws2 .ws-step b { display: block; font-size: 17px; color: var(--ink); }
.ws2 .ws-step p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.ws2 .ws-box { border-radius: 22px; padding: 22px 24px; background: var(--bg); border: 1px solid color-mix(in srgb, var(--cc) 22%, var(--line)); position: relative; overflow: hidden; }
.ws2 .ws-box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--cc), color-mix(in srgb, var(--cc) 20%, transparent)); }
.ws2 .ws-box h3 { font-size: 20px; }
.ws2 .ws-box li b { color: color-mix(in srgb, var(--cc) 70%, var(--ink)); }
.ws2 .ws-meet-soon { display: block !important; padding: 12px 14px !important; border-radius: 14px; background: color-mix(in srgb, var(--cc) 10%, transparent); border: 1px dashed color-mix(in srgb, var(--cc) 50%, transparent) !important; font-size: 15.5px; line-height: 1.5; }
.ws2 .ws-side { position: sticky; top: 100px; }
.ws2 .ws-join { padding: 26px 24px 24px; background: radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--cc) 22%, transparent), transparent 60%), color-mix(in srgb, var(--cc) 7%, var(--bg)); border-color: color-mix(in srgb, var(--cc) 38%, var(--line)); box-shadow: 0 24px 50px -30px color-mix(in srgb, var(--cc) 70%, transparent); }
.ws2 .ws-join h3 { font-size: 23px; margin-bottom: 8px; }
.ws2 .ws-join #ws-join-p { font-size: 15.5px; line-height: 1.6; color: var(--ink-2); margin: 0 0 14px; }
.ws2 .ws-actions { display: grid; gap: 8px; }
.ws2 .ws-actions .btn { width: 100%; justify-content: center; min-height: 48px; border-radius: 999px; }
.ws2 .ws-actions .zw-btn { background: var(--cc); color: #0A1626; border: 0; font-weight: 800; box-shadow: 0 10px 24px -10px var(--cc); }
.ws2 .ws-actions .zw-btn svg { stroke: currentColor; }
.ws2 .ws-actions .btn:not(.zw-btn) { background: transparent; color: var(--ink); border: 1px solid color-mix(in srgb, var(--cc) 35%, var(--line)); box-shadow: none; }
.ws2 .ws-actions .btn:not(.zw-btn):hover { background: color-mix(in srgb, var(--cc) 10%, transparent); }
html.ws2-on .wmm-ank { border-radius: 22px; }

.ws2 .ws-others { margin-top: clamp(40px, 5vw, 64px); }
.ws2 .ws-others h3 { font-size: 22px; color: var(--ink); margin: 0 0 14px; }
.ws2 .ws-ocs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.ws2 .ws-oc { position: relative; display: block; padding: 16px 44px 16px 18px; border-radius: 18px; text-decoration: none; color: var(--ink); background: color-mix(in srgb, var(--oc) 7%, var(--bg)); border: 1px solid color-mix(in srgb, var(--oc) 26%, var(--line)); transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .3s; overflow: hidden; }
.ws2 .ws-oc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--oc); }
.ws2 .ws-oc-plain { background: var(--bg); border-color: var(--line); }
.ws2 .ws-oc-plain::before { background: var(--line); }
.ws2 .ws-oc:hover { transform: translateY(-2px); border-color: var(--oc); box-shadow: 0 14px 30px -18px var(--oc); }
.ws2 .ws-oc small { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--oc) 75%, var(--ink)); min-height: 14px; }
.ws2 .ws-oc small em { font-style: normal; letter-spacing: .02em; text-transform: none; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: var(--oc); color: #0A1626; }
.ws2 .ws-oc b { display: block; font-size: 16px; line-height: 1.3; margin-top: 4px; }
.ws2 .ws-oc i { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-style: normal; font-weight: 800; color: var(--oc); transition: transform .3s; }
.ws2 .ws-oc:hover i { transform: translate(4px, -50%); }

@media (max-width: 900px) {
  .ws2 .ws-body { grid-template-columns: minmax(0, 1fr); }
  .ws2 .ws-side { position: static; }
}
@media (max-width: 600px) {
  .ws2 .ws-hero { border-radius: 24px; padding: 22px 18px 24px; margin: 0 -4px; }
  .ws2 .ws-back { margin-bottom: 16px; }
  .ws2 .ws-hero h2, .ws2 .ws-hero h1.as-h2 { font-size: clamp(34px, 11vw, 46px); }
  .ws2 .ws-facts { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 20px; }
  .ws2 .ws-fact { padding: 10px 14px 11px 16px; }
  .ws2 .ws-fact small { margin-bottom: 2px; }
  .ws2 .ws-fact b { font-size: 15px; }
  .ws2 .ws-hero-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 20px; }
  .ws2 .ws-hero-cta .btn { justify-content: center; padding: 0 18px; }
  .ws2 .ws-steps { grid-template-columns: minmax(0, 1fr); }
  .ws2 .ws-step { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; padding: 14px 16px; }
  .ws2 .ws-step-n { grid-row: span 2; margin: 0; }
  .ws2 .ws-step p { margin-top: 2px; }
  .ws2 .ws-ocs { grid-template-columns: minmax(0, 1fr); }
}

.ws2 .ws-hero .ws-promise { max-width: 62ch !important; text-wrap: pretty; }
.ws2 .ws-hero .ws-for { max-width: 34ch !important; }
.ws2 #ws-meet-list.ws-cut li:nth-child(n+5) { display: none; }
.ws2 .ws-more { margin-top: 12px; background: none; border: 1px solid color-mix(in srgb, var(--cc) 40%, var(--line)); color: var(--ink); border-radius: 999px; padding: 9px 18px; font: inherit; font-weight: 700; font-size: 14.5px; cursor: pointer; }
.ws2 .ws-more:hover { background: color-mix(in srgb, var(--cc) 10%, transparent); }

/* ===== Dopracowanie (październik) ===== */
/* rytm sekcji i złoty akcent nad nagłówkami */
main > .section, main > section.section { padding-block: clamp(64px, 7.5vw, 100px); }
main > .verse-band { padding-block: clamp(72px, 8vw, 104px); }
.section .section-head > h2::before { content: ""; display: block; width: 160px; height: 3px; border-radius: 3px; margin-bottom: 20px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
@keyframes dp-line { from { transform: scaleX(0); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .section .section-head > h2::before { animation: none; } }
.ws2 .ws-hero > h2::before { display: none; }

/* Msze */
#msze .time-list li { transition: background .4s ease; }
#msze .tl-badge { display: inline-flex; align-items: center; align-self: center; margin-left: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; vertical-align: middle; font-family: var(--font-body, inherit); }
#msze .tl-kairos { color: #0A1626; background: #E3C27A; }
#msze li.occasional small { white-space: normal; }
#msze .tl-next { position: relative; }
#msze .tl-next::before { content: ""; position: absolute; left: -16px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 4px rgba(60,203,127,.18); animation: dp-pulse 2.4s ease-in-out infinite; }
#msze .tl-when { display: inline-flex; align-self: center; margin-left: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: #3CCB7F; background: rgba(60,203,127,.12); border: 1px solid rgba(60,203,127,.35); white-space: nowrap; vertical-align: middle; font-family: var(--font-body, inherit); letter-spacing: 0; }
@keyframes dp-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(60,203,127,.22); } 50% { box-shadow: 0 0 0 7px rgba(60,203,127,0); } }
@media (prefers-reduced-motion: reduce) { #msze .tl-next::before { animation: none; } }

/* Kancelaria */
#kancelaria .office .hours { color: var(--ink) !important; opacity: 1; font-weight: 700; }
#kancelaria .of-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#kancelaria .of-call { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; color: #0A1626; background: #E3C27A; box-shadow: 0 8px 20px -10px rgba(227,194,122,.8); transition: transform .4s cubic-bezier(.22,1,.36,1), filter .2s; }
#kancelaria .of-call:hover { transform: translateY(-1px); filter: brightness(1.06); }
#kancelaria .of-call svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }

/* Czy należysz */
#czy-nalezisz .pc-formcol { padding: clamp(20px, 2.6vw, 30px); border-radius: 24px; background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid var(--line); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
#czy-nalezisz .pc-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; }
#czy-nalezisz label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin: 0 0 6px; }
#czy-nalezisz input { height: 50px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: 16px; width: 100%; box-sizing: border-box; transition: border-color .25s, box-shadow .25s; }
#czy-nalezisz input::placeholder { color: var(--ink-2); opacity: .55; }
#czy-nalezisz input:focus { outline: none; border-color: #C9A45A; box-shadow: 0 0 0 4px rgba(201,164,90,.18); }
#czy-nalezisz .pc-btn { height: 50px; padding: 0 26px; border: 0; border-radius: 999px; background: #E3C27A !important; color: #0A1626 !important; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 10px 24px -12px rgba(227,194,122,.9); transition: transform .4s cubic-bezier(.22,1,.36,1), filter .2s; }
#czy-nalezisz .pc-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
#czy-nalezisz .pc-result { border-radius: 16px; padding: 14px 18px; font-weight: 600; animation: dp-in .5s cubic-bezier(.22,1,.36,1); }
#czy-nalezisz .pc-yes::before { content: "✓  "; font-weight: 800; }
@keyframes dp-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Duszpasterze — spójne karty (bez zdjęcia: inicjały w złotym znaku) */
#faces-list .avatar:not(:has(img)) { background: linear-gradient(160deg, rgba(227,194,122,.28), rgba(227,194,122,.08)) !important; color: #E3C27A !important; border: 1px solid rgba(227,194,122,.45); font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; letter-spacing: .02em; }
#faces-list .avatar img { box-shadow: 0 0 0 2px rgba(227,194,122,.55); }

/* Kronika na stronie głównej — równe karty, bez pustej przestrzeni */
#kronika-home .kr.kr-h .kr-gal { display: none; }
#kronika-home .kr.kr-h .kr-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
#kronika-home .kr.kr-h .kr-text p { margin: 0; }
#kronika-home .kr.kr-h .kr-ph img { width: 100%; height: 100%; object-fit: cover; }
#kronika-home .kr-card { transition: border-color .3s, transform .45s cubic-bezier(.22,1,.36,1); }
#kronika-home .kr-card:hover { border-color: rgba(201,164,90,.5); }

/* Stopka — lżejsze linki i nagłówki kolumn */
.site-footer .ft-col { min-width: 0; }
.site-footer .ft-h { margin: 0 0 12px; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E3C27A; opacity: .9; }
.site-footer .footer-links a { position: relative; display: inline-block; text-decoration: none !important; border-bottom: 0 !important;
  color: transparent !important; -webkit-text-fill-color: transparent;
  background: linear-gradient(100deg, #E3C27A 0%, #F6E7BF 38%, #FFF8E8 46%, rgba(244,246,252,.92) 54%, rgba(244,246,252,.92) 100%) 100% 0 / 260% 100% no-repeat !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  transition: background-position .9s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), opacity .45s ease, filter .45s ease; }
.site-footer .footer-links a::before { content: ""; position: absolute; left: -17px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  background: linear-gradient(#E3C27A, #E3C27A) center / 2.2px 100% no-repeat, linear-gradient(#E3C27A, #E3C27A) center / 100% 2.2px no-repeat;
  filter: drop-shadow(0 0 6px rgba(227,194,122,.8)); opacity: 0; transform: rotate(-90deg) scale(.2); transition: opacity .35s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.site-footer .footer-links a::after { content: ""; position: absolute; left: -24px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
  background: radial-gradient(circle, rgba(227,194,122,.28), transparent 70%); opacity: 0; transform: scale(.4); transition: opacity .5s ease, transform .7s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.site-footer .footer-links:hover a { opacity: .42; filter: blur(.2px); }
.site-footer .footer-links a:hover, .site-footer .footer-links a:focus-visible { opacity: 1 !important; filter: none; background-position: 0 0 !important; transform: translateX(8px); outline: none; }
.site-footer .footer-links a:hover::before, .site-footer .footer-links a:focus-visible::before { opacity: 1; transform: rotate(0) scale(1); }
.site-footer .footer-links a:hover::after, .site-footer .footer-links a:focus-visible::after { opacity: 1; transform: scale(1); }
.site-footer .footer-links a.footer-admin-link { opacity: .55; }
.site-footer .ft-h { transition: letter-spacing .7s cubic-bezier(.22,1,.36,1), color .4s; }
.site-footer .ft-col:hover .ft-h { letter-spacing: .22em; color: #F3E3BC; }
@media (prefers-reduced-motion: reduce) { .site-footer .footer-links a, .site-footer .footer-links a::before, .site-footer .footer-links a::after { transition: none !important; } }
@media print { .site-footer .footer-links a { color: #000 !important; -webkit-text-fill-color: #000; background: none !important; } }
.site-footer .footer-links a.footer-admin-link { opacity: .6; }
#faces-list .role { color: #E3C27A !important; }
#msze .tl-next small { min-width: 150px; }
#msze .time-list li { flex-wrap: wrap; }
@media (max-width: 620px) {
  #msze .tl-next small { min-width: 0; }
  #msze .time-list li:has(.tl-badge), #msze .time-list li:has(.tl-when) { row-gap: 6px; }
  #msze .tl-badge, #msze .tl-when { order: 3; margin-left: 0; font-size: 11.5px; }
  #msze .time-list li small { max-width: 52%; }
  #msze .tl-next::before { display: none; }
}
#kp-offline { position: fixed; left: 50%; top: 78px; transform: translateX(-50%); z-index: 9999; width: max-content; max-width: calc(100% - 32px); text-align: center; padding: 9px 16px; border-radius: 14px; font-size: 14px; font-weight: 600; color: #0A1626; background: #E3C27A; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }

/* ===== Dostępność ===== */
.kp-skip { position: fixed; left: 16px; top: 12px; z-index: 10000; padding: 12px 18px; border-radius: 12px; background: #E3C27A; color: #0A1626 !important; font-weight: 800; text-decoration: none; transform: translateY(-160%); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.kp-skip:focus { transform: none; outline: 3px solid #fff; outline-offset: 2px; }
main:focus { outline: none; }
.kp-big-btn { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 9px 12px; border-radius: 999px; border: 1px solid rgba(227,194,122,.45); background: rgba(227,194,122,.08); color: inherit; font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: background .3s, border-color .3s; }
.kp-big-btn:hover { background: rgba(227,194,122,.16); border-color: #E3C27A; }
.kp-big-btn b { display: inline-flex; align-items: baseline; gap: 1px; font-family: 'Bricolage Grotesque', sans-serif; font-size: 18px; color: #E3C27A; line-height: 1; }
.kp-big-btn b small { font-size: 12px; }
.kp-big-btn[aria-pressed="true"] { background: #E3C27A; color: #0A1626; border-color: #E3C27A; }
.kp-big-btn[aria-pressed="true"] b { color: #0A1626; }
.kp-big-m { margin: 14px 6px 4px; }
.kp-big-f { display: flex; margin: 0 auto 14px; color: rgba(244,246,252,.85); }
html.kp-big main, html.kp-big .site-footer { zoom: 1.15; }
@media (max-width: 600px) { html.kp-big main, html.kp-big .site-footer { zoom: 1.12; } }
/* EN — lepszy kontrast znaczka */
.time-list .en-badge { background: #C42F37; }
html.kp-big #faces-list, html.kp-big #faces-list li { min-width: 0; max-width: 100%; }
html.kp-big #faces-list li { overflow-wrap: anywhere; }

/* ===== Logos — bogata podstrona ===== */
.ws2 .ws-hero .ws-kicker.ws-kicker-on { display: block; margin: 8px 0 0; font-size: clamp(17px, 1.8vw, 21px); font-weight: 700; color: rgba(255,255,255,.82); letter-spacing: 0; text-transform: none; }
.lg { display: grid; gap: 16px; }
.lg p { margin: 0; font-size: 17.5px; line-height: 1.75; color: var(--ink-2); }
.lg b { color: var(--ink); }
.ws2 .ws-desc .lg .lg-lead { font-size: clamp(20px, 2vw, 23px); line-height: 1.55; color: var(--ink); font-weight: 500; }
.lg-key { margin: 6px 0; padding: 20px 22px 20px 24px; border-radius: 20px; position: relative; font-size: 19px; line-height: 1.6; color: var(--ink); background: color-mix(in srgb, var(--cc) 10%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 35%, var(--line)); }
.lg-key::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 4px; border-radius: 4px; background: var(--cc); }
.lg-key b { color: color-mix(in srgb, var(--cc) 55%, var(--ink)); }
.lg-h { margin: 26px 0 2px; font-size: clamp(22px, 2.3vw, 27px); line-height: 1.2; color: var(--ink); letter-spacing: -.01em; }
.lg-h::before { content: ""; display: block; width: 26px; height: 3px; border-radius: 3px; margin-bottom: 14px; background: var(--cc); }
.lg-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.lg-who div { padding: 16px; border-radius: 18px; background: color-mix(in srgb, var(--cc) 8%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 28%, var(--line)); }
.lg-who b { display: block; font-family: 'Bricolage Grotesque', sans-serif; font-size: 34px; line-height: 1; color: var(--cc); margin-bottom: 6px; }
.lg-who span { display: block; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
.lg .lg-strong { font-size: 19px; font-weight: 700; color: var(--ink); }
.lg-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.lg-list li { position: relative; padding: 10px 12px 10px 38px; border-radius: 14px; background: var(--bg); border: 1px solid var(--line); font-size: 15.5px; line-height: 1.45; color: var(--ink); }
.lg-list li::before { content: "✓"; position: absolute; left: 12px; top: 9px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 800; color: #0A1626; background: var(--cc); }
.lg .lg-note { padding: 14px 16px; border-radius: 16px; border: 1px dashed color-mix(in srgb, var(--cc) 50%, var(--line)); font-size: 16px; }
.lg-day { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 0; position: relative; }
.lg-day::before { content: ""; position: absolute; left: 30px; top: 20px; bottom: 20px; width: 2px; background: linear-gradient(var(--cc), color-mix(in srgb, var(--cc) 20%, transparent)); }
.lg-day li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 16px; align-items: start; padding: 10px 0; position: relative; }
.lg-day time { display: grid; place-items: center; height: 40px; border-radius: 12px; font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; font-size: 16px; color: #0A1626; background: var(--cc); position: relative; z-index: 1; box-shadow: 0 6px 16px -8px var(--cc); }
.lg-day b { display: block; font-size: 18px; color: var(--ink); margin-top: 8px; }
.lg-day span { display: block; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); margin-top: 2px; }
.lg .lg-small { font-size: 14px; color: var(--ink-2); opacity: .8; }
.lg-word { margin: 24px 0 8px; padding: 30px 24px 26px; border-radius: 24px; text-align: center; background: radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--cc) 22%, transparent), transparent 70%), linear-gradient(160deg, #0F2140, #0A1626); border: 1px solid color-mix(in srgb, var(--cc) 30%, transparent); }
.lg-word blockquote { margin: 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(22px, 2.8vw, 31px); line-height: 1.35; color: #fff; }
.lg-word figcaption { margin-top: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--cc); }
.lg .lg-aside { margin-top: 6px; padding: 14px 16px; border-radius: 16px; background: var(--bg-2); font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }
.lg-end { margin-top: 14px; padding: 24px; border-radius: 22px; background: color-mix(in srgb, var(--cc) 9%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 30%, var(--line)); text-align: center; display: grid; gap: 10px; }
.lg-end p:first-child { font-size: 18px; line-height: 1.7; color: var(--ink); }
.lg .lg-end-b { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(21px, 2.3vw, 26px); font-weight: 700; color: var(--ink); line-height: 1.25; }
@media (max-width: 600px) {
  .lg-who { grid-template-columns: minmax(0, 1fr); }
  .lg-who div { display: flex; align-items: center; gap: 14px; padding: 12px 14px; }
  .lg-who b { margin: 0; font-size: 28px; min-width: 52px; }
  .lg-list { grid-template-columns: minmax(0, 1fr); }
  .lg-day li { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; }
  .lg-day::before { left: 27px; }
  .lg p { font-size: 16.5px; }
}

/* Flagi przy językach */
.kp-flag { flex: none; display: inline-block; width: 22px; height: 15px; border-radius: 3.5px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 2px 6px -2px rgba(0,0,0,.5); }
.kp-flag svg { display: block; width: 100%; height: 100%; }
.lang-menu a.kp-has-flag { justify-content: flex-start; gap: 12px; }
.lang-menu a.kp-has-flag.active::after { margin-left: auto; }
.lang-menu a.kp-has-flag:hover .kp-flag { transform: scale(1.08); }
.kp-flag { transition: transform .35s cubic-bezier(.22,1,.36,1); }
.menu-lang a.kp-has-flag { gap: 8px; padding-left: 12px; }

/* ===== Taizé — parafia goszcząca ===== */
.tz { --tz: #F2B36B; padding-top: clamp(18px, 3vw, 34px); }
.tz-hero { position: relative; isolation: isolate; overflow: hidden; border-radius: 30px; padding: clamp(26px, 4.4vw, 60px); color: #fff;
  background: radial-gradient(90% 90% at 100% 0%, rgba(242,179,107,.38), transparent 60%), radial-gradient(70% 80% at 0% 100%, rgba(232,131,58,.18), transparent 60%), linear-gradient(160deg, #1A1F3A 0%, #0B1222 100%);
  border: 1px solid rgba(242,179,107,.28); box-shadow: 0 30px 70px -30px rgba(242,179,107,.45); }
.tz-hero::before { content: ""; position: absolute; z-index: -1; right: -60px; top: -60px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(255,214,150,.35), rgba(255,214,150,0) 65%); filter: blur(4px); animation: tz-glow 6s ease-in-out infinite alternate; }
@keyframes tz-glow { from { transform: scale(.92); opacity: .75; } to { transform: scale(1.06); opacity: 1; } }
.tz-badge { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 18px; padding: 7px 14px 7px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFD9A8; background: rgba(242,179,107,.14); border: 1px solid rgba(242,179,107,.45); }
.tz-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tz); box-shadow: 0 0 12px var(--tz); }
.tz-hero h1 { margin: 0; color: #fff; font-size: clamp(36px, 5.6vw, 70px); line-height: 1.02; letter-spacing: -.025em; max-width: 15ch; text-wrap: balance; }
.tz-hero h1 span { color: #FFD9A8; }
.tz-when { margin: 14px 0 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.3vw, 27px); color: #FFE3BD; }
.tz-lead { margin: 16px 0 0; max-width: 60ch; font-size: 17.5px; line-height: 1.65; color: rgba(255,255,255,.82); }
.tz-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 26px; max-width: 880px; }
.tz-facts div { position: relative; padding: 14px 16px 14px 18px; border-radius: 18px; background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.tz-facts div::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--tz); }
.tz-facts small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.tz-facts b { font-size: 16px; line-height: 1.35; color: #fff; }
.tz-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.tz .btn { min-height: 50px; padding: 0 24px; border-radius: 999px; font-weight: 800; font-size: 16px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.tz-go { background: var(--tz); color: #1A1206; border: 0; box-shadow: 0 12px 30px -12px var(--tz); }
.tz-go:hover { filter: brightness(1.06); transform: translateY(-1px); }
.tz-hero .tz-tel { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.tz-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(22px, 4vw, 56px); margin-top: clamp(30px, 4vw, 54px); align-items: start; }
.tz-main > p { font-size: 18px; line-height: 1.75; color: var(--ink-2); margin: 0 0 12px; }
.tz-h { margin: 34px 0 14px; font-size: clamp(23px, 2.4vw, 29px); line-height: 1.2; color: var(--ink); }
.tz-main .tz-h:first-child { margin-top: 0; }
.tz-h::before { content: ""; display: block; width: 120px; height: 3px; border-radius: 3px; margin-bottom: 14px; background: linear-gradient(90deg, var(--tz), rgba(242,179,107,0)); }
.tz-day { list-style: none; margin: 0; padding: 0; position: relative; }
.tz-day::before { content: ""; position: absolute; left: 47px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(var(--tz), rgba(242,179,107,.15)); }
.tz-day li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 10px 0; position: relative; }
.tz-day time { display: grid; place-items: center; height: 40px; padding: 0 6px; border-radius: 12px; font-weight: 800; font-size: 13.5px; white-space: nowrap; color: #1A1206; background: var(--tz); position: relative; z-index: 1; }
.tz-day b { display: block; font-size: 18px; color: var(--ink); margin-top: 8px; }
.tz-day span { display: block; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); margin-top: 2px; }
.tz-small { font-size: 14px !important; opacity: .8; }
.tz-help { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tz-help li { padding: 18px 20px; border-radius: 20px; background: color-mix(in srgb, var(--tz) 8%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 28%, var(--line)); }
.tz-help b { display: block; font-size: 18px; color: var(--ink); margin-bottom: 4px; }
.tz-help span { font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.tz-word { margin: 34px 0 6px; padding: 30px 24px 26px; border-radius: 24px; text-align: center; background: radial-gradient(120% 120% at 50% 0%, rgba(242,179,107,.22), transparent 70%), linear-gradient(160deg, #1A1F3A, #0B1222); border: 1px solid rgba(242,179,107,.3); }
.tz-word blockquote { margin: 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.5vw, 27px); line-height: 1.4; color: #fff; }
.tz-word figcaption { margin-top: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--tz); }
.tz-en { margin-top: 30px; padding: 20px 22px; border-radius: 20px; border: 1px dashed color-mix(in srgb, var(--tz) 50%, var(--line)); }
.tz-en h2 { margin: 0 0 8px; font-size: 19px; color: var(--ink); }
.tz-en p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.tz-side { position: sticky; top: 100px; display: grid; gap: 14px; }
.tz-card { display: grid; gap: 10px; padding: 24px; border-radius: 22px; background: radial-gradient(120% 80% at 100% 0%, rgba(242,179,107,.18), transparent 60%), color-mix(in srgb, var(--tz) 6%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 35%, var(--line)); }
.tz-card h3 { margin: 0; font-size: 22px; color: var(--ink); }
.tz-card p { margin: 0 0 4px; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.tz-card .tz-tel { background: transparent; color: var(--ink); border: 1px solid color-mix(in srgb, var(--tz) 35%, var(--line)); }
.tz-links a { color: var(--ink); text-decoration: none; font-weight: 600; padding: 8px 0; border-top: 1px solid var(--line-2); }
.tz-links a:hover { color: var(--tz); }
.tz-floor { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; margin: 22px 0 6px; padding: 22px 24px; border-radius: 24px; background: radial-gradient(120% 140% at 0% 50%, rgba(242,179,107,.24), transparent 65%), linear-gradient(160deg, #1A1F3A, #0B1222); border: 1px solid rgba(242,179,107,.35); }
.tz-floor > b { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(46px, 6vw, 64px); line-height: 1; color: #FFD9A8; white-space: nowrap; }
.tz-floor p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.8); }
.tz-floor strong { display: block; color: #fff; font-size: 18px; margin-bottom: 2px; }
.tz-ask { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 8px; }
.tz-ask li { position: relative; padding: 0 0 0 30px; font-size: 17.5px; line-height: 1.6; color: var(--ink-2); }
.tz-ask li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #1A1206; background: var(--tz); }
.tz-ask b { color: var(--ink); }
.tz-heart { margin: 14px 0 0 !important; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(21px, 2.4vw, 26px) !important; color: var(--ink) !important; }
.tz-themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tz-themes > div { position: relative; overflow: hidden; padding: 18px 18px 18px 20px; border-radius: 20px; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 65%), color-mix(in srgb, var(--c) 6%, var(--bg)); border: 1px solid color-mix(in srgb, var(--c) 35%, var(--line)); }
.tz-themes > div::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 3px; background: var(--c); }
.tz-themes b { display: block; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: 22px; color: var(--c); margin-bottom: 6px; }
.tz-themes span { display: block; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }
.tz-help a { color: var(--tz); }
.tz-centrum h4 { margin: 6px 0 0; padding-top: 12px; border-top: 1px solid var(--line-2); font-size: 16px; color: var(--ink); }
.tz-centrum a { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--tz) 60%, transparent); }
.tz-centrum small { color: var(--ink-3, var(--ink-2)); opacity: .85; }
@media (max-width: 600px) { .tz-themes { grid-template-columns: minmax(0, 1fr); } .tz-floor { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 20px; } }
@media (max-width: 900px) { .tz-body { grid-template-columns: minmax(0, 1fr); } .tz-side { position: static; } }
@media (max-width: 600px) {
  .tz-hero { border-radius: 24px; padding: 24px 18px; margin: 0 -4px; }
  .tz-facts { grid-template-columns: minmax(0, 1fr); }
  .tz-cta { display: grid; }
  .tz-day li { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  .tz-day time { font-size: 12.5px; padding: 0 4px; }
  .tz-day::before { left: 43px; }
}
/* strona główna: karta Taizé obok Komunii + znaczek w powitaniu */
.kom-promo .wrap { display: grid; gap: 14px; }
.kp-card.kp-taize { --kpc: #F2B36B; background: radial-gradient(80% 140% at 100% 0%, rgba(242,179,107,.26), transparent 60%), linear-gradient(160deg, rgba(26,31,58,.9), rgba(11,18,34,.92)) !important; border-color: rgba(242,179,107,.4) !important; }
.kp-card.kp-taize .kp-k { color: #FFD9A8 !important; }
.kp-card.kp-taize .kp-art { color: #FFD9A8 !important; border-color: rgba(242,179,107,.45) !important; background: rgba(242,179,107,.12) !important; }
.kp-card.kp-taize .kp-btn { background: #F2B36B !important; color: #1A1206 !important; }
.hero-taize { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px; padding: 7px 14px 7px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; color: #FFE3BD !important; background: rgba(242,179,107,.14); border: 1px solid rgba(242,179,107,.42); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .3s, transform .4s cubic-bezier(.22,1,.36,1); width: max-content; max-width: 100%; }
.hero-taize:hover { background: rgba(242,179,107,.24); transform: translateY(-1px); }
.hero-taize i { width: 8px; height: 8px; border-radius: 50%; background: #F2B36B; box-shadow: 0 0 10px #F2B36B; flex: none; }
#menu a.mg-tz { color: #FFD9A8 !important; font-weight: 600; }
#menu a.mg-tz .mg-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; font: 700 10.5px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #1A1206; background: #F2B36B; vertical-align: 1px; }
.hero-name .hero-taize { display: flex; margin: 0 0 16px; letter-spacing: 0; text-transform: none; }
/* Taizé — formularz domu goszczącego */
.tz-formsec { margin-top: 30px; scroll-margin-top: 90px; }
.tzf { display: grid; gap: 14px; padding: clamp(20px, 3vw, 30px); border-radius: 24px; background: radial-gradient(120% 70% at 100% 0%, rgba(242,179,107,.16), transparent 60%), color-mix(in srgb, var(--tz) 5%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 38%, var(--line)); box-shadow: 0 24px 50px -32px rgba(242,179,107,.6); }
.tzf h3 { margin: 0; font-size: clamp(22px, 2.4vw, 27px); color: var(--ink); }
.tzf-lead { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.tzf-f { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.tzf-f > span, .tzf-f legend { font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--ink); padding: 0; margin-bottom: 6px; }
.tzf-f small, .tzf-hint { font-size: 13px; color: var(--ink-2); margin: -4px 0 0; }
.tzf input:not([type=checkbox]), .tzf select, .tzf textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: 16px; }
.tzf textarea { min-height: 96px; resize: vertical; }
.tzf input:focus, .tzf select:focus, .tzf textarea:focus { outline: none; border-color: var(--tz); box-shadow: 0 0 0 4px rgba(242,179,107,.2); }
.tzf-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tzf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tzf-chips label { position: relative; cursor: pointer; }
.tzf-chips input { position: absolute; opacity: 0; pointer-events: none; }
.tzf-chips span { display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-size: 14.5px; transition: background .2s, border-color .2s, color .2s; }
.tzf-chips input:checked + span { background: var(--tz); border-color: var(--tz); color: #1A1206; font-weight: 700; }
.tzf-chips input:focus-visible + span { outline: 3px solid rgba(242,179,107,.5); outline-offset: 2px; }
.tzf-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ink); cursor: pointer; }
.tzf-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: #E8A04F; }
.tzf-rodo { font-size: 13px; color: var(--ink-2); }
.tzf-msg { margin: 0; font-size: 14.5px; font-weight: 600; }
.tzf-msg:empty { display: none; }
.tzf-bad { color: #FF8A8F; }
.tzf-send { justify-self: start; min-width: 220px; }
.tzf-done { text-align: center; justify-items: center; padding: 36px 24px; }
.tzf-ok { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; font-weight: 800; color: #1A1206; background: var(--tz); box-shadow: 0 10px 30px -10px var(--tz); }
.tzf-done p { margin: 0; color: var(--ink-2); }
@media (max-width: 600px) { .tzf-2 { grid-template-columns: minmax(0, 1fr); } .tzf-send { justify-self: stretch; } }
/* Taizé — logo */
.site-header .tz-head img { width: 19px; height: auto; display: block; opacity: .92; transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .3s; }
.site-header .tz-head:hover img { opacity: 1; transform: rotate(-8deg) scale(1.08); }
.kp-card.kp-taize .kp-art-tz img { width: 24px; height: auto; display: block; }
.tz-logo { float: right; width: clamp(150px, 22vw, 260px); height: auto; margin: 0 0 16px 24px; padding: 14px 18px; box-sizing: content-box; background: #fff; border-radius: 20px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.6); }
@media (max-width: 760px) { .tz-logo { float: none; display: block; width: 200px; margin: 0 0 18px; } }
/* Taizé — ładniejsze listy wyboru (strzałka z odstępem od krawędzi) */
.tzf select { -webkit-appearance: none; appearance: none; padding: 10px 52px 10px 18px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2B36B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center; background-size: 18px 18px; }
.tzf input:not([type=checkbox]), .tzf textarea { padding-left: 18px; padding-right: 18px; }
.tzf { padding: clamp(22px, 3.4vw, 36px); }
.tzf-2 { gap: 16px; }
.tz-logo { background: linear-gradient(160deg, #EFE9DE, #E2DACB); box-shadow: 0 18px 40px -18px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.35); }

/* ===== Przegląd wizualny (19.10) ===== */
/* godziny Mszy: na komputerze bez łamania wierszy */
#msze .time-list li { flex-wrap: nowrap; }
@media (max-width: 620px) { #msze .time-list li { flex-wrap: wrap; } }
/* strona główna: kancelaria i „czy należysz” są w kafelkach, na podstronach Kancelaria i Kontakt */
main:has(> .today) > #kancelaria, main:has(> .today) > #czy-nalezisz, main:has(.today) #kancelaria.section, main:has(.today) #czy-nalezisz.section { display: none; }
/* spowiedź jako karta pod godzinami Mszy */
.msze-spow { margin-top: 28px; padding: 20px 22px; border-radius: 20px; background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border: 1px solid var(--line); position: relative; }
.msze-spow::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 3px; background: #E3C27A; }
.msze-spow h2 { font-size: 20px; margin: 0 0 8px; }
.msze-spow h2::before { display: none !important; }
.msze-spow p { margin: 0 0 6px; font-size: 15.5px !important; line-height: 1.6 !important; color: var(--ink-2); max-width: none; }
.msze-spow p.lead { color: var(--ink); }
/* stopka: „Wyznacz trasę” i „Większy tekst” obok siebie */
.site-footer .ft-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.site-footer .ft-actions .ft-route { margin: 0 !important; }
.site-footer .kp-big-f { display: inline-flex; margin: 0; padding: 8px 14px 8px 10px; font-size: 13.5px; }
/* menu: „Większy tekst” */
#menu .mg-staff .kp-big-m { margin: 0 0 0 auto; padding: 8px 14px 8px 10px; font-size: 13.5px; }
@media (max-width: 1240px) { #menu .kp-big-m { margin: 18px 20px 4px; } #menu.mm .mg-staff-h { margin-left: 6px !important; } }
/* ikona Taizé w menu na telefonie */
#menu .mm-ic img { width: 19px; height: auto; display: block; }
@media (min-width: 1241px) { #menu .mg-tz .mm-ic { display: none !important; } }
/* telefon: wspólnoty Kairos On jako przewijany pasek kart (krótsza strona główna) */
@media (max-width: 600px) {
  main:has(.today) #invite-list .inv-sub { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; grid-template-columns: none; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 2px 12px; margin: 0 -2px; }
  main:has(.today) #invite-list .inv-sub::-webkit-scrollbar { display: none; }
  main:has(.today) #invite-list .inv-sub > li { scroll-snap-align: start; height: auto; }
  main:has(.today) #invite-list .inv-group::after { content: "Przesuń w bok →"; display: block; margin: 2px 4px 0; font-size: 12.5px; font-weight: 600; color: rgba(238,241,248,.5); text-align: right; }
  html[lang]:not([lang="pl"]) #invite-list .inv-group::after { content: "→"; }
  /* stopka: dwie kolumny linków obok siebie */
  .site-footer .footer-inner { display: grid; grid-template-columns: 1fr 1fr !important; gap: 26px 18px; }
  .site-footer .footer-inner > div:first-child { grid-column: 1 / -1; }
  .site-footer .footer-inner > .ft-col:last-child { grid-column: 1 / -1; }
  .site-footer .footer-links a { font-size: 15px; }
}
.tzf-info { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 14px; font-size: 14.5px; line-height: 1.5; color: var(--ink); background: rgba(242,179,107,.1); border: 1px solid rgba(242,179,107,.3); }
.tzf-info span { flex: none; font-size: 17px; line-height: 1.3; }
.tzf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* menu języków — liquid glass */
body .lang-menu { padding: 8px; min-width: 210px; border-radius: 22px; isolation: isolate; overflow: hidden;
  background: linear-gradient(155deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 38%, rgba(255,255,255,.03) 62%, rgba(255,255,255,.10) 100%), rgba(14,20,38,.6);
  -webkit-backdrop-filter: blur(34px) saturate(190%); backdrop-filter: blur(34px) saturate(190%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(255,255,255,.06), inset 0 0 0 .5px rgba(255,255,255,.08), 0 24px 60px -12px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.22);
  transform-origin: top right; animation: lmGlass .42s cubic-bezier(.22,1,.36,1); }
body .lang-menu::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
  background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.22), transparent 55%), radial-gradient(90% 50% at 110% 110%, rgba(140,156,245,.16), transparent 60%); }
body .lang-menu a { position: relative; padding: 10px 14px; border-radius: 14px; color: #fff; transition: background .25s, transform .3s cubic-bezier(.22,1,.36,1); }
body .lang-menu a:hover, body .lang-menu a:focus-visible { background: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); transform: translateX(2px); outline: none; }
body .lang-menu a.active { background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 0 0 1px rgba(255,255,255,.08); }
body .lang-menu a.active::after { color: #E3C27A; font-weight: 900; }
body .lang-menu .kp-flag { box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 2px 6px rgba(0,0,0,.3); }
@keyframes lmGlass { from { opacity: 0; transform: translateY(-6px) scale(.96); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); } to { opacity: 1; transform: none; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { body .lang-menu { background: rgba(16,22,40,.96); } }
@media (prefers-reduced-motion: reduce) { body .lang-menu { animation: none; } body .lang-menu a { transition: none; } }
/* dolny pasek (telefon) — liquid glass, owalny */
@media (max-width: 760px) {
  html body .dock-wrap { left: 14px; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 0 10px; border-radius: 999px; isolation: isolate;
    background: linear-gradient(160deg, rgba(255,255,255,.17) 0%, rgba(255,255,255,.05) 40%, rgba(255,255,255,.03) 65%, rgba(255,255,255,.11) 100%), rgba(14,20,38,.62);
    -webkit-backdrop-filter: blur(30px) saturate(190%); backdrop-filter: blur(30px) saturate(190%);
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(255,255,255,.07), 0 22px 50px -14px rgba(0,0,0,.7), 0 4px 14px rgba(0,0,0,.28); }
  html body .dock-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
    background: radial-gradient(70% 120% at 18% -30%, rgba(255,255,255,.24), transparent 60%), radial-gradient(60% 120% at 100% 130%, rgba(227,194,122,.16), transparent 60%); }
  html body .dock-wrap > .dock { border-radius: 999px; padding: 7px 0; }
  html body .dock-wrap > .dock a { padding: 8px 2px 9px; border-radius: 999px; transition: background .3s, transform .2s, box-shadow .3s; }
  html body .dock-wrap > .dock a:active { background: rgba(255,255,255,.12); }
  html body .dock-wrap > .dock a.dk-here { background: rgba(255,255,255,.13); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), inset 0 0 0 1px rgba(255,255,255,.08); }
  html body .dock-wrap > .dock a.dk-here svg { color: #E3C27A; }
  html body .dock-wrap .dk-arrow { width: 30px; height: 30px; border-radius: 50%; color: #E3C27A;
    background: linear-gradient(160deg, rgba(255,255,255,.22), rgba(255,255,255,.06)), rgba(14,20,38,.55);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 4px 12px rgba(0,0,0,.35); }
  html body .dock-wrap .dk-arrow.l { left: 6px; } html body .dock-wrap .dk-arrow.r { right: 6px; }
  html body .dock-wrap .dk-track { bottom: 5px; width: 40px; height: 3px; margin-left: -20px; background: rgba(255,255,255,.14); }
  html body .dock-wrap .dk-track i { background: linear-gradient(90deg, #E3C27A, #F3DDA6); }
  html body .dock-wrap > .dock.dk-more-r { -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent 97%); mask-image: linear-gradient(90deg, #000 80%, transparent 97%); }
  html body .dock-wrap > .dock.dk-more-l { -webkit-mask-image: linear-gradient(90deg, transparent 3%, #000 20%); mask-image: linear-gradient(90deg, transparent 3%, #000 20%); }
  html body .dock-wrap > .dock.dk-more-l.dk-more-r { -webkit-mask-image: linear-gradient(90deg, transparent 3%, #000 20%, #000 80%, transparent 97%); mask-image: linear-gradient(90deg, transparent 3%, #000 20%, #000 80%, transparent 97%); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { @media (max-width: 760px) { html body .dock-wrap { background: rgba(14,20,38,.96); } } }
/* nagłówek strony (h1) wygląda jak dotychczasowy nagłówek sekcji */
h1.as-h2 { font-size: clamp(32px, 4vw, 48px); }
.section .section-head > h1.as-h2::before { content: ""; display: block; width: 160px; height: 3px; border-radius: 3px; margin-bottom: 20px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
@media (prefers-reduced-motion: reduce) { .section .section-head > h1.as-h2::before { animation: none; } }
.km h1.as-h2, .sp h1.as-h2 { margin: 0 0 16px; }
.ws2 .ws-hero > h1.as-h2::before { display: none; }
/* dolny pasek: tryb zwinięty przy przewijaniu w dół (jak w Instagramie) */
@media (max-width: 760px) {
  html body .dock-wrap { transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s; }
  html body .dock-wrap > .dock a { transition: padding .4s cubic-bezier(.22,1,.36,1), gap .4s cubic-bezier(.22,1,.36,1), background .3s, transform .2s; }
  html body .dock-wrap .dk-lb { display: block; max-height: 16px; overflow: hidden; transition: max-height .4s cubic-bezier(.22,1,.36,1), opacity .25s; }
  html body .dock-wrap.dk-compact > .dock { padding-block: 4px; }
  html body .dock-wrap.dk-compact > .dock a { padding-block: 9px; gap: 0; }
  html body .dock-wrap.dk-compact .dk-lb { max-height: 0; opacity: 0; }
  html body .dock-wrap.dk-compact { transform: translateY(4px) scale(.97); }
  html body .dock-wrap.dk-compact .dk-track { opacity: 0; }
  html body .dock-wrap .dk-track { transition: opacity .3s; }
  html body .dock-wrap.dk-compact .dk-arrow { width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) { html body .dock-wrap, html body .dock-wrap > .dock a, html body .dock-wrap .dk-lb { transition: none; } }
/* Msze: kolumny nie mogą wychodzić poza kontener (dzień powszedni wychodził za prawą krawędź) */
@media (min-width: 621px) { #msze .times { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(28px, 4vw, 64px); } }
#msze .time-list li > * { min-width: 0; }
#msze .times-group { grid-template-columns: minmax(0, 1fr); min-width: 0; }
@media (min-width: 761px) { #msze .section-inner { display: block; } #msze .section-head { max-width: 640px; margin-bottom: 34px; position: static; } #msze .tl-badge, #msze .tl-when { margin-right: auto; } }
/* Komunia: data urodzenia — „dzień” nie może być ucięty; dłuższe pole na uwagi */
@media (max-width: 480px) { html body .km .km-dmy { grid-template-columns: 1.1fr 1.4fr 1fr; gap: 6px; } html body .km .km-dmy select { padding-left: 10px; padding-right: 22px; background-position: right 7px center; font-size: 15px; } }
.km textarea { min-height: 96px; }
/* Wesprzyj: podpis pod kodem QR na białej karcie był zbyt jasny */
.donate-qr .muted, .donate-qr p.small { color: #3A4256 !important; }
/* Napisz: „Jesteśmy też tutaj” w osobnej linii na telefonie, przyciski równo pod spodem */
@media (max-width: 600px) { .kh-soc small { flex-basis: 100%; margin: 0 0 2px; } }
/* większe pola dotyku na telefonie (bez zmiany wyglądu) */
@media (pointer: coarse) {
  .hs-dots .hs-dot { position: relative; }
  .hs-dots .hs-dot::after { content: ""; position: absolute; inset: -14px -8px; }
  .km .km-ics { display: inline-flex; align-items: center; min-height: 40px; }
}
/* menu: szkło tylko na telefonie (na komputerze menu zostaje jak było) */
@media (max-width: 760px) {
/* menu na smartfonie — kafelki liquid glass */
html body #menu.mm { background:
    radial-gradient(70% 28% at 0% 4%, rgba(43,108,176,.38), transparent 70%),
    radial-gradient(60% 24% at 100% 22%, rgba(201,164,90,.2), transparent 70%),
    radial-gradient(70% 26% at 0% 52%, rgba(140,156,245,.18), transparent 70%),
    radial-gradient(60% 26% at 100% 78%, rgba(43,108,176,.26), transparent 70%),
    radial-gradient(70% 24% at 10% 100%, rgba(201,164,90,.14), transparent 70%), #0D1525;
  background-attachment: local; }
html body #menu.mm .mm-top { background: rgba(13,21,37,.55); -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%); border-bottom-color: rgba(255,255,255,.1); }
html body #menu.mm .mm-x { background: linear-gradient(160deg, rgba(255,255,255,.18), rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
#menu.mm .mm-quick > a, #menu.mm .mg-col > a.mg-a, #menu.mm .mm-list, #menu.mm .mg-staff-l {
  position: relative; border-radius: 22px;
  background: linear-gradient(155deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.025) 68%, rgba(255,255,255,.08) 100%);
  -webkit-backdrop-filter: blur(18px) saturate(175%); backdrop-filter: blur(18px) saturate(175%);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 26px -14px rgba(0,0,0,.7); }
#menu.mm .mm-quick > a { border-radius: 20px; }
#menu.mm .mm-list > a, #menu.mm .mg-staff-l > a { background: transparent; }
#menu.mm .mm-list > a + a::before { border-color: rgba(255,255,255,.08); }
#menu.mm .mm-quick > a:active, #menu.mm .mg-col > a.mg-a:active, #menu.mm .mm-list > a:active, #menu.mm .mg-staff-l > a:active { background: rgba(255,255,255,.12); }
#menu.mm .mm-quick > a svg, #menu.mm .mg-col > a.mg-a svg { filter: drop-shadow(0 2px 6px rgba(227,194,122,.25)); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { #menu.mm .mm-quick > a, #menu.mm .mg-col > a.mg-a, #menu.mm .mm-list, #menu.mm .mg-staff-l { background: rgba(255,255,255,.07); } }
/* (nadpisanie stylów wstrzykiwanych przez menu-mobile.js) */
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join {
  border-radius: 22px !important;
  background: linear-gradient(155deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.025) 68%, rgba(255,255,255,.085) 100%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(175%); backdrop-filter: blur(18px) saturate(175%);
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 26px -14px rgba(0,0,0,.75) !important; }
html body #menu.mm .mm-quick a { border-radius: 20px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 999px !important; }
html body #menu.mm .mm-cta .menu-donate { box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 24px -12px rgba(201,164,90,.7) !important; }
html body #menu.mm .mm-list { border-radius: 22px; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(155deg, rgba(227,194,122,.28), rgba(227,194,122,.08)) !important; border-color: rgba(227,194,122,.4) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active { background: rgba(255,255,255,.16) !important; transform: scale(.97) !important; }
html body #menu.mm .menu-lang a { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.1) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
html body #menu.mm .menu-lang a.active { background: #EEF1F8 !important; }
html body #menu.mm .mm-soc a { border-radius: 50% !important; background: linear-gradient(155deg, rgba(255,255,255,.15), rgba(255,255,255,.04) 55%, rgba(255,255,255,.08)) !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 8px 20px -12px rgba(0,0,0,.7) !important; }
html body #menu.mm .mg-col:first-child a { padding-inline: 10px !important; }
/* menu na smartfonie — wersja „iOS / macOS”: mniej zaokrąglone, spokojniejsze szkło, cienkie krawędzie */
html body #menu.mm { background:
    radial-gradient(80% 30% at 0% 0%, rgba(43,108,176,.22), transparent 70%),
    radial-gradient(70% 26% at 100% 40%, rgba(201,164,90,.1), transparent 70%),
    radial-gradient(80% 30% at 0% 85%, rgba(43,108,176,.14), transparent 70%), #0C1422; background-attachment: local; }
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join {
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045)) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
  border: .5px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.22), 0 1px 2px rgba(0,0,0,.25) !important; }
html body #menu.mm .mm-quick a { border-radius: 13px !important; }
html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04)) !important;
  border: .5px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.25) !important; }
html body #menu.mm .mm-list > a + a::before { background: rgba(255,255,255,.09) !important; height: .5px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 12px !important; }
html body #menu.mm .mm-cta .menu-donate { background: linear-gradient(180deg, #D7B56C, #C29E54) !important; box-shadow: inset 0 .5px 0 rgba(255,255,255,.45), 0 1px 2px rgba(0,0,0,.3) !important; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(180deg, rgba(227,194,122,.2), rgba(227,194,122,.1)) !important; border-color: rgba(227,194,122,.35) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active, html body #menu.mm .mm-list > a:active { background: rgba(255,255,255,.14) !important; transform: none !important; }
html body #menu.mm .mm-soc a { background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045)) !important; border: .5px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 .5px 0 rgba(255,255,255,.22) !important; }
html body #menu.mm .menu-lang a { border: .5px solid rgba(255,255,255,.12) !important; box-shadow: none !important; }
html body #menu.mm .mm-x { background: rgba(255,255,255,.1); border: .5px solid rgba(255,255,255,.14); box-shadow: none; }
html body #menu.mm .mm-top { background: rgba(12,20,34,.72); border-bottom: .5px solid rgba(255,255,255,.1); }
html body #menu.mm .mm-quick > a svg, html body #menu.mm .mg-col > a.mg-a svg { filter: none; }
/* menu na smartfonie — szkło jak na karcie „Komunia Św. 2027” (zaokrąglenia umiarkowane, w stylu iOS) */
html body #menu.mm { background:
    radial-gradient(90% 34% at 0% 0%, rgba(43,108,176,.42), transparent 70%),
    radial-gradient(80% 30% at 100% 36%, rgba(30,80,150,.32), transparent 70%),
    radial-gradient(70% 26% at 0% 68%, rgba(201,164,90,.14), transparent 70%),
    radial-gradient(90% 34% at 100% 100%, rgba(43,108,176,.3), transparent 70%), #0B1424; background-attachment: local; }
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l, html body #menu.mm .mm-soc a {
  position: relative; isolation: isolate;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.28) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 40px -26px rgba(0,0,0,.75) !important; }
html body #menu.mm .mm-quick a::after, html body #menu.mm .mg-col:first-child a::after, html body #menu.mm .mm-list::after, html body #menu.mm .mg-staff-l::after, html body #menu.mm .mm-cta .menu-join::after {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.2), transparent 55%); }
html body #menu.mm .mm-quick a { border-radius: 16px !important; }
html body #menu.mm .mg-col:first-child a { border-radius: 18px !important; }
html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { border-radius: 18px !important; overflow: hidden; }
html body #menu.mm .mm-list > a, html body #menu.mm .mg-staff-l > a { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body #menu.mm .mm-list > a + a::before { background: rgba(255,255,255,.12) !important; height: 1px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 14px !important; }
html body #menu.mm .mm-soc a { border-radius: 50% !important; }
/* ikona kafelka w szklanym kwadraciku, jak na karcie Komunii */
html body #menu.mm .mg-col:first-child a .mm-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
html body #menu.mm .mg-col:first-child a .mm-ic svg { width: 20px; height: 20px; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(180deg, rgba(227,194,122,.26), rgba(227,194,122,.1)), rgba(14,24,42,.28) !important; border-color: rgba(227,194,122,.45) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active { background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.1)), rgba(14,24,42,.28) !important; }
html body #menu.mm .mm-list > a:active, html body #menu.mm .mg-staff-l > a:active { background: rgba(255,255,255,.1) !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { background: rgba(26,38,62,.92) !important; } }
}
/* ===== Kalendarz adwentowy dla dzieci (adwent.html) ===== */
.adv { margin-top: 44px; padding: clamp(20px, 3vw, 32px); border-radius: 26px; position: relative; isolation: isolate;
  background: radial-gradient(120% 80% at 0% 0%, rgba(140,156,245,.16), transparent 60%), radial-gradient(90% 70% at 100% 100%, rgba(227,194,122,.14), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 60px -34px rgba(0,0,0,.8); }
.adv-k { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #E3C27A; }
.adv-t { margin: 0 0 8px; font-size: clamp(26px, 3.4vw, 36px); line-height: 1.1; color: var(--ink); }
.adv-lead { margin: 0 0 18px; max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.adv-skyw { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px -24px rgba(0,0,0,.8); }
.adv-sky { display: block; width: 100%; height: auto; }
.adv-st path { fill: rgba(255,255,255,.22); transition: fill .4s; }
.adv-st.on path { fill: #FFE29A; filter: drop-shadow(0 0 3px rgba(255,226,154,.9)); animation: adv-tw 3.2s ease-in-out var(--d, 0s) infinite; transform-box: fill-box; transform-origin: center; }
.adv-big path { fill: rgba(255,255,255,.28); }
.adv-big.on path { fill: #FFF1C4; filter: drop-shadow(0 0 8px #FFD87A); }
.adv-pop path { animation: adv-pop .9s cubic-bezier(.2,1.6,.4,1) both !important; transform-box: fill-box; transform-origin: center; }
@keyframes adv-tw { 0%, 100% { opacity: 1; } 50% { opacity: .65; } }
@keyframes adv-pop { from { transform: scale(.2); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.adv-count { position: absolute; right: 12px; top: 12px; display: grid; justify-items: end; padding: 8px 12px; border-radius: 14px; color: #fff; font-size: 14px;
  background: rgba(10,18,40,.45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.18); }
.adv-count b { font-size: 22px; line-height: 1; color: #FFE29A; }
.adv-count span { font-size: 11px; letter-spacing: .04em; color: rgba(255,255,255,.75); }
.adv-soon, .adv-fin { margin: 14px 0 0; padding: 12px 16px; border-radius: 14px; font-size: 15.5px; line-height: 1.5; color: var(--ink); background: rgba(227,194,122,.1); border: 1px solid rgba(227,194,122,.3); }
.adv-grid { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; }
.adv-w { width: 100%; min-height: 76px; display: grid; justify-items: start; align-content: space-between; gap: 2px; padding: 9px 10px; border-radius: 14px; cursor: pointer; text-align: left; font: inherit; color: var(--ink);
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); position: relative; transition: transform .2s, background .3s, border-color .3s; }
.adv-w:hover { transform: translateY(-2px); }
.adv-n { font-family: var(--display); font-size: 22px; font-weight: 700; line-height: 1; }
.adv-dt { font-size: 11.5px; color: var(--ink-2); padding-right: 16px; }
.adv-ic { position: absolute; right: 8px; bottom: 7px; font-size: 14px; line-height: 1; }
.adv-open { border-color: rgba(227,194,122,.55); }
.adv-open .adv-ic { color: #E3C27A; }
.adv-ok { background: linear-gradient(160deg, rgba(255,226,154,.32), rgba(227,194,122,.12)); border-color: rgba(255,226,154,.6); }
.adv-ok .adv-ic { color: #FFE29A; text-shadow: 0 0 8px rgba(255,226,154,.8); }
.adv-lock { opacity: .55; }
.adv-lock .adv-ic { font-size: 11px; }
.adv-today { box-shadow: 0 0 0 2px #E3C27A, 0 0 18px -2px rgba(227,194,122,.7); }
.adv-last { border-color: rgba(255,226,154,.45); background: radial-gradient(90% 90% at 100% 0%, rgba(255,226,154,.18), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); }
.adv-note { margin: 12px 0 0; font-size: 13px; color: var(--ink-2); opacity: .85; }
.adv-dlg { width: min(92vw, 440px); padding: 0; border: 0; border-radius: 24px; background: transparent; color: var(--ink); }
.adv-dlg::backdrop { background: rgba(5,10,24,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.adv-box { position: relative; margin: 0; padding: 26px 22px 22px; border-radius: 24px; background: radial-gradient(120% 70% at 50% 0%, rgba(255,226,154,.18), transparent 60%), #111B30; border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 30px 70px -20px rgba(0,0,0,.8); }
.adv-dk { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #E3C27A; }
.adv-dtx { margin: 0 0 18px; font-size: 19px; line-height: 1.5; color: #fff; }
.adv-acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.adv-do { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; font: inherit; font-weight: 800; color: #1A1206; background: linear-gradient(180deg, #FFE29A, #E3C27A); box-shadow: 0 10px 24px -10px rgba(227,194,122,.8); cursor: pointer; }
.adv-undo { min-height: 40px; padding: 0 16px; border-radius: 999px; font: inherit; color: var(--ink-2); background: transparent; border: 1px solid rgba(255,255,255,.2); cursor: pointer; }
.adv-litmsg { font-weight: 700; color: #FFE29A; }
.adv-x { position: absolute; right: 10px; top: 8px; width: 40px; height: 40px; border: 0; border-radius: 50%; font-size: 26px; line-height: 1; color: var(--ink-2); background: transparent; cursor: pointer; }
@media (max-width: 600px) { .adv-count { right: 8px; top: 8px; padding: 5px 9px; border-radius: 11px; font-size: 12px; } .adv-count b { font-size: 17px; } .adv-count span { display: none; } .adv { margin-top: 32px; border-radius: 22px; } .adv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; } .adv-w { min-height: 70px; padding: 8px; } .adv-n { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .adv-st.on path, .adv-pop path { animation: none !important; } .adv-w { transition: none; } }
@media (min-width: 900px) {
  .adv { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 28px; align-items: start; }
  .adv > .adv-head { grid-column: 1 / -1; }
  .adv > .adv-skyw { grid-column: 1; grid-row: 2 / span 4; }
  .adv > .adv-soon, .adv > .adv-fin, .adv > .adv-grid, .adv > .adv-note { grid-column: 2; }
  .adv > .adv-soon, .adv > .adv-fin { margin-top: 0; margin-bottom: 12px; }
  .adv > .adv-grid { margin-top: 0; grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
/* ===== Powiadomienia z parafii ===== */
.kp-push-btn { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px 9px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: inherit; font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: background .3s, border-color .3s; }
.kp-push-btn svg { width: 18px; height: 18px; color: #E3C27A; flex: none; }
.kp-push-btn:hover { background: rgba(255,255,255,.12); }
.kp-push-btn[aria-pressed="true"] { border-color: rgba(60,203,127,.55); background: rgba(60,203,127,.12); }
.kp-push-btn[aria-pressed="true"] svg { color: #3CCB7F; }
.site-footer .kp-push-f { padding: 8px 14px 8px 10px; font-size: 13.5px; color: rgba(244,246,252,.85); }
#menu .kp-push-m { margin: 10px 20px 4px; }
@media (min-width: 1241px) { #menu .kp-push-m { display: none; } }
.kp-push-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 16px; padding: 20px 22px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
.kp-push-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.35); }
.kp-push-ic svg { width: 26px; height: 26px; color: #E3C27A; }
.kp-push-tx h3 { margin: 0 0 4px; font-size: 19px; color: var(--ink); }
.kp-push-tx p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); max-width: 60ch; }
.kp-push-c { white-space: nowrap; background: linear-gradient(180deg, #F0D48E, #E3C27A); color: #1A1206; border: 0; padding: 12px 18px 12px 14px; }
.kp-push-c svg { color: #1A1206; }
.kp-push-c[aria-pressed="true"] { background: rgba(255,255,255,.08); color: var(--ink); border: 1px solid rgba(255,255,255,.2); }
.kp-push-c[aria-pressed="true"] svg { color: #3CCB7F; }
@media (max-width: 700px) { .kp-push-card { grid-template-columns: auto minmax(0, 1fr); padding: 18px; align-items: start; } .kp-push-c { grid-column: 1 / -1; justify-self: start; } .kp-push-ic { width: 44px; height: 44px; border-radius: 14px; } }
.kp-push-msg { position: fixed; left: 50%; bottom: calc(100px + env(safe-area-inset-bottom)); z-index: 10000; width: min(92vw, 460px); transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  display: flex; gap: 12px; align-items: center; padding: 14px 14px 14px 18px; border-radius: 18px; color: #fff; font-size: 14.5px; line-height: 1.5;
  background: rgba(14,22,40,.82); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 20px 50px -20px rgba(0,0,0,.8); transition: opacity .3s, transform .4s cubic-bezier(.22,1,.36,1); }
.kp-push-msg.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.kp-push-msg p { margin: 0; flex: 1; }
.kp-push-msg button { flex: none; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; font: inherit; font-size: 13px; cursor: pointer; }
@media (min-width: 761px) { .kp-push-msg { bottom: 28px; } }
/* ===== „Zapytaj parafię” — asystent ===== */
.kp-ask-fab { position: fixed; left: 20px; bottom: 24px; z-index: 60; display: inline-flex; align-items: center; gap: 9px; height: 48px; padding: 0 18px 0 14px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 14.5px; font-weight: 700; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)), rgba(14,24,42,.6); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 14px 34px -14px rgba(0,0,0,.75); transition: transform .3s cubic-bezier(.22,1,.36,1), opacity .3s; }
.kp-ask-fab svg { width: 22px; height: 22px; color: #E3C27A; }
.kp-ask-fab:hover { transform: translateY(-2px); }
.kp-ask-fab.on { opacity: 0; pointer-events: none; transform: scale(.9); }
.kp-ask { position: fixed; left: 20px; bottom: 24px; z-index: 61; width: min(400px, calc(100vw - 40px)); height: min(600px, calc(100dvh - 120px)); display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.03)), rgba(12,20,36,.88); -webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 30px 80px -24px rgba(0,0,0,.85);
  opacity: 0; transform: translateY(14px) scale(.98); transform-origin: bottom left; transition: opacity .22s, transform .3s cubic-bezier(.22,1,.36,1); }
.kp-ask.show { opacity: 1; transform: none; }
.kp-ask-h { display: flex; align-items: center; gap: 10px; padding: 14px 12px 12px 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.kp-ask-h b { flex: 1; font-size: 16px; }
.kp-ask-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: rgba(227,194,122,.14); border: 1px solid rgba(227,194,122,.35); }
.kp-ask-ic svg { width: 18px; height: 18px; color: #E3C27A; }
.kp-ask-clr { padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: transparent; color: rgba(255,255,255,.75); font: inherit; font-size: 12.5px; cursor: pointer; }
.kp-ask-x { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.kp-ask-list { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 14px 14px 6px; display: flex; flex-direction: column; gap: 10px; }
.kp-ask-m { max-width: 88%; padding: 10px 13px; border-radius: 16px; font-size: 14.5px; line-height: 1.55; }
.kp-ask-m p { margin: 0; } .kp-ask-m p + p { margin-top: 8px; }
.kp-ask-m a { color: #F0D48E; text-decoration: underline; text-underline-offset: 2px; word-break: break-word; }
.kp-ask-m.a { align-self: flex-start; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-bottom-left-radius: 6px; }
.kp-ask-m.u { align-self: flex-end; background: linear-gradient(180deg, #F0D48E, #E3C27A); color: #1A1206; border-bottom-right-radius: 6px; }
.kp-ask-sug { display: flex; flex-wrap: wrap; gap: 7px; }
.kp-ask-sug button { padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(227,194,122,.4); background: rgba(227,194,122,.08); color: #fff; font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
.kp-ask-wait { display: flex; gap: 5px; padding: 14px; }
.kp-ask-wait i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.7); animation: kp-ask-dot 1s infinite ease-in-out; }
.kp-ask-wait i:nth-child(2) { animation-delay: .15s; } .kp-ask-wait i:nth-child(3) { animation-delay: .3s; }
.kp-ask-wait .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@keyframes kp-ask-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.kp-ask-f { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px 6px; }
.kp-ask-f textarea { flex: 1; resize: none; min-height: 44px; max-height: 120px; padding: 11px 14px; border-radius: 22px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.07); color: #fff; font: inherit; font-size: 16px; line-height: 1.4; }
.kp-ask-f textarea::placeholder { color: rgba(255,255,255,.5); }
.kp-ask-f button { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: #1A1206; background: linear-gradient(180deg, #F0D48E, #E3C27A); }
.kp-ask-f button svg { width: 20px; height: 20px; }
.kp-ask-note { margin: 0; padding: 2px 16px 12px; font-size: 11.5px; color: rgba(255,255,255,.55); }
@media (max-width: 760px) {
  .kp-ask-fab { left: 14px; bottom: calc(96px + env(safe-area-inset-bottom)); height: 42px; padding: 0 14px 0 11px; font-size: 13.5px; }
  html:not(.kp-has-dock) body .kp-ask-fab { bottom: calc(18px + env(safe-area-inset-bottom)); }
  .kp-ask { left: 8px; right: 8px; bottom: 8px; width: auto; height: min(78dvh, 640px); border-radius: 22px; }
}
html:has(#menu:popover-open) .kp-ask-fab { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .kp-ask, .kp-ask-fab { transition: none; } .kp-ask-wait i { animation: none; } }
@media print { .kp-ask-fab, .kp-ask { display: none !important; } }
/* Napisz/Kontakt: ikonki w kafelkach dokładnie na środku (reguła „.kh-c span” zmieniała je w zwykły blok) */
.kh-c span.kh-ic { display: grid; place-items: center; margin: 0; line-height: 1; font-size: 0; color: #E2C27F; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.3); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.kh-c span.kh-ic svg { display: block; margin: 0; }
.kp-card.kp-adw { --kpc: #8C9CF5; background: radial-gradient(80% 140% at 100% 0%, rgba(140,156,245,.3), transparent 60%), radial-gradient(60% 120% at 0% 100%, rgba(255,226,154,.14), transparent 60%), linear-gradient(160deg, rgba(22,40,90,.88), rgba(10,20,48,.92)) !important; border-color: rgba(160,175,255,.4) !important; }
.kp-card.kp-adw .kp-k { color: #FFE29A !important; }
.kp-card.kp-adw .kp-art { color: #FFE29A !important; border-color: rgba(255,226,154,.45) !important; background: rgba(255,226,154,.12) !important; }
.kp-card.kp-adw .kp-btn { background: linear-gradient(180deg, #FFE29A, #E3C27A) !important; color: #1A1206 !important; }
.kom-promo .kp-push-card { margin-top: 0; }
/* ===== Bierzmowanie ===== */
.bz-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 6px 0 34px; }
.bz-path { position: relative; padding: 22px 22px 20px 72px; border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
.bz-path h3 { margin: 0 0 6px; font-size: 19px; color: var(--ink); }
.bz-path p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.bz-num { position: absolute; left: 20px; top: 20px; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-family: var(--display); font-weight: 800; font-size: 18px; color: #1A1206; background: linear-gradient(180deg, #F3D9A0, #E3C27A); }
.bz-path-2 { border-color: rgba(227,194,122,.4); background: radial-gradient(90% 120% at 100% 0%, rgba(227,194,122,.16), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); }
.bz-info { margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bz-info ul { margin: 0 0 10px; padding-left: 18px; display: grid; gap: 6px; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.bz-info ul b { color: var(--ink); }
.bz-info p { font-size: 14.5px; }
.bz-stage { border: 0; margin: 0 0 6px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bz-stage legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: var(--ink); }
.bz-stage label { cursor: pointer; }
.bz-stage input { position: absolute; opacity: 0; pointer-events: none; }
.bz-stage span { display: grid; gap: 2px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.03); transition: border-color .2s, background .2s, box-shadow .2s; }
.bz-stage b { font-size: 18px; color: var(--ink); }
.bz-stage small { font-size: 13.5px; color: var(--ink-2); }
.bz-stage input:checked + span { border-color: #E3C27A; background: rgba(227,194,122,.12); box-shadow: 0 0 0 1px #E3C27A inset; }
.bz-stage input:focus-visible + span { outline: 2px solid #E3C27A; outline-offset: 2px; }
.bz-h { margin: 22px 0 10px; font-size: 15px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #E3C27A; }
.sp-f small { font-weight: 400; }
@media (max-width: 900px) { .bz-info { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .bz-paths { grid-template-columns: minmax(0, 1fr); } .bz-path { padding: 18px 18px 18px 66px; } }
.bz-info ul { list-style: disc; } .bz-info li::marker { color: #E3C27A; }
/* menu języków: odstęp między pozycjami, bez przesuwania przy najechaniu (podświetlenia nie nachodzą na siebie) */
body .lang-menu:not([hidden]) { display: grid; gap: 4px; }
body .lang-menu a { margin: 0; transform: none !important; }
body .lang-menu a:hover, body .lang-menu a:focus-visible { transform: none !important; background: rgba(255,255,255,.08); box-shadow: none; }
body .lang-menu a.active, body .lang-menu a.active:hover { background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.22); }
/* Zamów Mszę: krótsza lista terminów, ofiara zwinięta, błędy przy polu */
.slotpick-more { display: block; width: 100%; margin: 6px 0 4px; padding: 11px 12px; border-radius: 10px; border: 1px dashed color-mix(in srgb, var(--brass-dot, #C9A45A) 60%, var(--line)); background: transparent; color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.slotpick-more:hover { background: rgba(201,164,90,.08); }
.int-off { margin: 4px 0 14px; border: 1px solid var(--line); border-radius: 14px; padding: 0 14px; background: rgba(255,255,255,.02); }
.int-off > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 14px 24px 14px 0; position: relative; font-weight: 700; color: var(--ink); }
.int-off > summary::-webkit-details-marker { display: none; }
.int-off > summary::after { content: "+"; position: absolute; right: 2px; top: 10px; font-size: 22px; font-weight: 400; color: var(--brass-dot, #C9A45A); }
.int-off[open] > summary::after { content: "−"; }
.int-off > summary small { font-weight: 400; font-size: 13.5px; color: var(--ink-2); }
.int-off[open] { padding-bottom: 12px; }
.int-bad, .int-f textarea.int-bad, .int-f input.int-bad { border-color: #E5484D !important; box-shadow: 0 0 0 3px rgba(229,72,77,.18) !important; }
.slotpick.int-bad { border-color: #E5484D !important; }
.nf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.nf-a { display: grid; gap: 3px; padding: 16px 18px; border-radius: 18px; text-decoration: none; color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); transition: border-color .2s, transform .2s; }
.nf-a:hover { border-color: #E3C27A; transform: translateY(-2px); }
.nf-a b { font-size: 17px; } .nf-a span { font-size: 14px; color: var(--ink-2); }
/* Strona główna: kolęda na pierwszym ekranie */
.hero-open .hero-note-wrap { grid-area: note; display: grid; gap: 14px; justify-items: start; }
.hero-kol { display: inline-grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; max-width: 520px; padding: 11px 16px 11px 12px; border-radius: 18px; text-decoration: none; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.3); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 14px 30px -18px rgba(0,0,0,.7); transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s; }
.hero-kol:hover { transform: translateY(-2px); border-color: rgba(227,194,122,.6); }
.hk-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #E3C27A; background: rgba(227,194,122,.14); border: 1px solid rgba(227,194,122,.35); }
.hk-ic svg { width: 22px; height: 22px; }
.hk-tx { display: grid; gap: 1px; min-width: 0; }
.hk-tx b { display: flex; align-items: center; gap: 7px; font-size: 15px; }
.hk-tx > span { font-size: 13.5px; color: rgba(255,255,255,.78); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hk-go { color: #E3C27A; font-weight: 700; }
.hk-dot { width: 9px; height: 9px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 0 rgba(60,203,127,.6); animation: hk-pulse 1.8s infinite; flex: none; }
@keyframes hk-pulse { 70% { box-shadow: 0 0 0 9px rgba(60,203,127,0); } 100% { box-shadow: 0 0 0 0 rgba(60,203,127,0); } }
.hero-kol.hk-live { border-color: rgba(60,203,127,.5); }
:root[data-theme=light] .hero-open:not(.has-photo) .hero-kol { color: var(--ink); background: rgba(255,255,255,.7); border-color: rgba(20,72,124,.16); }
:root[data-theme=light] .hero-open:not(.has-photo) .hk-tx > span { color: var(--ink-2); }
@media (max-width: 600px) { .hero-kol { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .hk-dot { animation: none; } }
html body #menu.mm .mm-search { display: flex; align-items: center; gap: 10px; width: calc(100% - 28px); margin: 12px 14px 4px; padding: 12px 14px; border-radius: 14px; font: inherit; font-size: 15px; text-align: left; cursor: pointer; color: rgba(255,255,255,.62);
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
html body #menu.mm .mm-search svg { width: 18px; height: 18px; color: #E3C27A; flex: none; }
@media (min-width: 1241px) { #menu .mm-search { display: none !important; } }
.hero-open .hero-note-wrap > .hero-open-note { grid-area: auto; margin: 0; }
.hero-open .hero-note-wrap > .hero-kol { grid-area: auto; width: 100%; max-width: 520px; box-sizing: border-box; }
#intention-form .slotpick { max-height: none; overflow: visible; }

/* ===== Wyniki ankiety WMM (wmm-wyniki.html) ===== */
.wr-page{--g:#E3C27A;padding-top:clamp(18px,4vw,40px)}
.wr-back{margin:0 0 14px;font-size:14px}.wr-back a{color:var(--ink-2);text-decoration:none}.wr-back a:hover{color:var(--ink)}
#wmm-res{max-width:1080px;margin:0 auto}
.wr-wait{text-align:center;padding:60px 0;color:var(--ink-2)}
.wr-gate{max-width:440px;margin:clamp(10px,6vw,60px) auto;text-align:center;padding:34px 26px 30px;border-radius:26px;border:1px solid rgba(227,194,122,.35);background:linear-gradient(180deg,rgba(227,194,122,.12),rgba(227,194,122,.03)),var(--bg-2);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.wr-gate h1{font-size:clamp(28px,6vw,38px);margin:4px 0 8px}
.wr-gate p{color:var(--ink-2);margin:0 0 18px}
.wr-lock{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;color:#E3C27A;background:rgba(227,194,122,.14);border:1px solid rgba(227,194,122,.4)}
.wr-lock svg{width:26px;height:26px}
.wr-pw{display:block;text-align:left;margin:0 0 12px}.wr-pw span{display:block;font-size:13px;font-weight:600;margin:0 0 6px;color:var(--ink-2)}
.wr-pw input{width:100%;box-sizing:border-box;font-size:18px;letter-spacing:.12em;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:center}
.wr-pw input:focus{outline:2px solid #E3C27A;outline-offset:1px}
.wr-err{color:#E5484D!important;font-size:14px;margin:0 0 12px!important}
.wr-gate .btn{width:100%;justify-content:center}
.wr-kick{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#C9A55A;margin:0 0 6px}
.wr-hero{text-align:center;padding:clamp(18px,4vw,40px) 0 clamp(16px,3vw,28px)}
.wr-hero h1{font-size:clamp(40px,9vw,76px);line-height:1;margin:6px 0 14px;background:linear-gradient(120deg,#E3C27A,#F6E3B4 45%,#C9A55A);-webkit-background-clip:text;background-clip:text;color:transparent}
.wr-lead{font-size:clamp(17px,2.4vw,20px);color:var(--ink-2);margin:0 auto;max-width:640px}
.wr-head{font-family:var(--serif,Georgia,serif);font-style:italic;font-size:clamp(19px,2.8vw,24px);max-width:760px;margin:18px auto 0;line-height:1.4}
.wr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 clamp(30px,5vw,54px)}
.wr-kpi{position:relative;text-align:center;padding:20px 12px 18px;border-radius:22px;background:var(--bg-2);border:1px solid var(--line-2,var(--line));opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.wr-kpi.in{opacity:1;transform:none}
.wr-kpi svg{width:min(120px,70%);display:block;margin:0 auto;transform:rotate(-90deg)}
.wr-ring-bg{fill:none;stroke:var(--line);stroke-width:9}
.wr-ring{fill:none;stroke:var(--c);stroke-width:9;stroke-linecap:round;stroke-dashoffset:var(--full);transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1) .15s}
.wr-kpi.in .wr-ring{stroke-dashoffset:var(--off)}
.wr-kpi>b{position:absolute;left:0;right:0;top:calc(20px + min(60px,35%) - 22px);font-size:clamp(26px,4vw,34px);font-weight:800;line-height:1}
.wr-kpi>b small{font-size:.5em;font-weight:700;margin-left:1px}
.wr-kl{display:block;font-weight:700;margin-top:12px;font-size:15px}
.wr-ks{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.35}
.wr-sec{margin:0 0 clamp(34px,5vw,56px)}
.wr-sec>h2{font-size:clamp(24px,3.6vw,32px);margin:0 0 6px;display:flex;flex-direction:column;gap:2px}
.wr-sec>h2 span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C9A55A;font-family:var(--sans);font-weight:700}
.wr-sub{color:var(--ink-2);margin:0 0 16px;font-size:15px}
.wr-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wr-th{border-radius:20px;padding:18px 18px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 16%,transparent),color-mix(in srgb,var(--c) 4%,transparent)),var(--bg-2);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.wr-th.in,.wr-q.in{opacity:1;transform:none}
.wr-th h3{margin:0 0 10px;font-size:18px;display:flex;align-items:center;gap:9px}
.wr-th h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 25%,transparent);flex:none}
.wr-th ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.5}.wr-th li{margin:0 0 6px}
.wr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.wr-q{border-radius:20px;padding:18px;background:var(--bg-2);border:1px solid var(--line-2,var(--line));opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;min-width:0}
.wr-q h3{font-size:16.5px;margin:0 0 3px;line-height:1.3}
.wr-n{font-size:12.5px;color:var(--ink-2);margin:0 0 12px}
.wr-big{margin:0 0 10px;font-size:14px;color:var(--ink-2)}.wr-big b{font-size:26px;color:var(--ink);margin-right:4px}
.wr-stack{display:flex;height:34px;border-radius:12px;overflow:hidden;background:var(--line)}
.wr-stack i{flex:0 0 0;background:var(--c);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;color:#10192b;white-space:nowrap;overflow:hidden;transition:flex-basis 1.1s cubic-bezier(.2,.8,.2,1)}
.wr-q.in .wr-stack i{flex-basis:var(--w)}
.wr-leg{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px;font-size:13.5px}
.wr-leg li{display:flex;align-items:center;gap:8px}.wr-leg li b{margin-left:auto;font-variant-numeric:tabular-nums}
.wr-leg li>i{width:11px;height:11px;border-radius:4px;background:var(--c);flex:none}
.wr-pie{display:flex;align-items:center;gap:18px}.wr-pie svg{width:110px;flex:none;transform:rotate(0)}.wr-pie .wr-leg{flex:1;margin:0}
.wr-bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.wr-bars li{display:grid;grid-template-columns:1fr 46px;grid-template-areas:"l p" "t t";gap:4px 8px;font-size:13.5px;align-items:end}
.wr-bl{grid-area:l;line-height:1.3}.wr-bars b{grid-area:p;text-align:right;font-variant-numeric:tabular-nums}
.wr-bt{grid-area:t;height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.wr-bt i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#C9A55A,#E3C27A);transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.wr-q.in .wr-bt i{width:var(--w)}
.wr-bars li.top .wr-bl{font-weight:700}
.wr-next{border-radius:24px;padding:clamp(20px,4vw,32px);border:1px solid rgba(227,194,122,.4);background:linear-gradient(160deg,rgba(227,194,122,.16),rgba(227,194,122,.03)),var(--bg-2)}
.wr-next ol{margin:12px 0 14px;padding:0;list-style:none;counter-reset:n;display:grid;gap:10px}
.wr-next li{counter-increment:n;display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.wr-next li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:#E3C27A;color:#10192b}
.wr-foot{text-align:center;font-size:13px;color:var(--ink-2);margin:0 0 40px}
.wr-out{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
@media (max-width:900px){.wr-kpis{grid-template-columns:repeat(2,1fr)}.wr-themes{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wr-grid,.wr-themes{grid-template-columns:1fr}.wr-kpis{gap:10px}.wr-kpi{padding:16px 8px 14px}.wr-kl{font-size:14px}}
@media (prefers-reduced-motion:reduce){.wr-kpi,.wr-q,.wr-th{opacity:1;transform:none;transition:none}.wr-ring,.wr-stack i,.wr-bt i{transition:none}}
.wmm-a .wmm-res{margin-left:8px}
.wmm-pw{font-size:13px;opacity:.8;margin-top:6px!important}
.wr-bars b small{font-size:.75em;font-weight:600;opacity:.75}
.wr-thanks{margin:4px 0 6px;padding:14px 18px;border-radius:16px;background:rgba(127,209,168,.12);border:1px solid rgba(127,209,168,.35);font-size:16px}
.wr-thanks b{color:#7FD1A8}
/* ===== Stałe grupki WMM ===== */
.gk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 clamp(30px,5vw,50px)}
.gk-card{border-radius:22px;padding:16px 18px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 18%,transparent),color-mix(in srgb,var(--c) 4%,transparent)),var(--bg-2);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .5s ease,transform .5s ease}
.gk-card.in{opacity:1;transform:none}
.gk-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.gk-no{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:17px;background:var(--c);color:#10192b}
.gk-tag{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c);text-align:right}
.gk-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gk-card li{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.gk-card li i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.gk-card li.gk-free{font-weight:500;font-size:14px;color:var(--ink-2);font-style:italic}
.gk-card li.gk-free i{background:transparent;border:1.5px dashed var(--c);width:8px;height:8px}
.gk-open{border-style:dashed}
@media (max-width:1000px){.gk-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gk-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.gk-card{opacity:1;transform:none;transition:none}}
/* nagłówek: skracanie nazwy do „Parafia Królowej Pokoju” */
.site-header .brand .bk-x { display: inline-block; vertical-align: top; overflow: hidden; white-space: pre; max-width: var(--w, 6em); opacity: 1;
  transition: max-width 1.1s cubic-bezier(.65,0,.35,1), opacity .7s ease, filter .7s ease; }
.site-header .brand.bk-short .bk-x { max-width: 0; opacity: 0; filter: blur(3px); }
.site-header .brand.bk-gone .bk-x { display: none; }
.site-header .brand.bk-anim b { background: none !important; -webkit-text-fill-color: currentColor !important; color: color-mix(in oklab, var(--ink) 86%, transparent) !important; filter: none !important; }
.site-header .brand.bk-anim b * { -webkit-text-fill-color: currentColor !important; }
@media (prefers-reduced-motion: reduce) { .site-header .brand .bk-x { transition: none; } }

/* stopka: przy najechaniu na link przygasa cała stopka, a wybrany link się powiększa */
.site-footer .footer-inner > *, .site-footer .footer-credit { transition: opacity .45s ease, filter .45s ease; }
.site-footer:has(.footer-links a:hover) .footer-inner > div:first-child,
.site-footer:has(.footer-links a:hover) .footer-credit,
.site-footer:has(.footer-links a:hover) .ft-h { opacity: .35; filter: saturate(.6); }
.site-footer:has(.footer-links a:hover) .footer-links a { opacity: .32; filter: blur(.3px); }
.site-footer .footer-links a:hover, .site-footer .footer-links a:focus-visible { transform: translateX(8px) scale(1.14) !important; transform-origin: left center; }
@media (prefers-reduced-motion: reduce) { .site-footer .footer-links a:hover { transform: none !important; } }
/* ===== Strona główna: „Na skróty” — najczęściej wybierane miejsca, zaraz pod „Dziś” ===== */
.today .skroty { margin-top: 12px; }
.sk-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.sk-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; height: 100%; box-sizing: border-box; padding: 16px 16px 15px; border-radius: 20px; text-decoration: none !important; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)), rgba(14,24,42,.55); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s, background .3s; }
.sk-tile:hover, .sk-tile:focus-visible { transform: translateY(-3px); border-color: rgba(227,194,122,.55); outline: none; }
.sk-tile:active { transform: scale(.97); }
.sk-ic { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; margin-bottom: 8px; color: #E3C27A; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.28); }
.sk-ic svg { width: 21px; height: 21px; }
.sk-tile b { font-size: 16px; line-height: 1.2; font-weight: 700; }
.sk-tile small { font-size: 12.5px; line-height: 1.3; color: rgba(255,255,255,.62); }
.sk-tile.sk-hot { border-color: rgba(227,194,122,.6); background: linear-gradient(160deg, rgba(227,194,122,.24), rgba(227,194,122,.05)), rgba(14,24,42,.55); }
.sk-tile.sk-hot .sk-ic { background: #E3C27A; color: #10192b; border-color: #E3C27A; }
@media (max-width: 1000px) { .sk-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .sk-grid { gap: 9px; } .sk-tile { padding: 13px 12px 12px; border-radius: 17px; } .sk-ic { width: 34px; height: 34px; margin-bottom: 6px; } .sk-tile b { font-size: 14.5px; } .sk-tile small { font-size: 11.5px; } }
html[data-theme=light] .sk-tile { color: #1b2333; background: #fff; border-color: rgba(20,30,50,.12); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
html[data-theme=light] .sk-tile small { color: #5b6476; }
/* telefon: krótsza strona główna — bez podpisu pod tarczą i bez kodu QR (telefonem nie zeskanuje się własnego ekranu) */
@media (max-width: 760px) { .hero .dial-caption, figcaption.dial-caption { display: none; } #spolecznosc .wa-qr { display: none; } }
@media (max-width: 760px) { .today > .wrap { display: flex; flex-direction: column; } .today .skroty { order: -1; margin: 0 0 12px; } }
/* „Na skróty” na telefonie: jeden spójny panel, kafelki w dwóch kolumnach — ikona z lewej, napis z prawej, równa wysokość */
@media (max-width: 760px) {
  .today .skroty { margin: 0 0 14px; padding: 14px 12px 12px; border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), rgba(10,18,34,.55);
    border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 30px rgba(0,0,0,.25); }
  .today .skroty::before { content: "Na skróty"; display: block; margin: 0 4px 10px; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E3C27A; }
  .sk-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; } .sk-grid > li { min-width: 0; }
  .sk-tile { min-width: 0; flex-direction: row; align-items: center; gap: 10px; min-height: 60px; padding: 10px 10px; border-radius: 16px;
    background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.10); box-shadow: none; }
  .sk-tile > span.sk-ic { margin: 0; flex: none; width: 36px; height: 36px; border-radius: 11px; }
  .sk-tile b { font-size: 14.5px; line-height: 1.15; display: block; }
  .sk-tile small { display: block; font-size: 11.5px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sk-tile .sk-t { min-width: 0; display: block; }
  .sk-tile.sk-hot { background: linear-gradient(135deg, rgba(227,194,122,.22), rgba(227,194,122,.06)); border-color: rgba(227,194,122,.5); }
}
html[data-theme=light] .today .skroty { background: #fff; border-color: rgba(20,30,50,.10); }
@media (max-width: 760px) {
  .sk-tile small { display: none; }
  .sk-tile b { white-space: nowrap; font-size: 15px; letter-spacing: -.01em; }
  .sk-tile { min-height: 56px; padding: 9px 12px 9px 9px; }
  .sk-grid { gap: 9px; }
}
@media (max-width: 360px) { .sk-tile b { font-size: 13.5px; } .sk-tile > span.sk-ic { width: 32px; height: 32px; } }
@media (max-width: 760px) {
  .today .skroty { padding: 12px 10px 10px; }
  .sk-tile { gap: 8px; padding: 8px 10px 8px 8px; }
  .sk-tile > span.sk-ic { width: 32px; height: 32px; border-radius: 10px; }
  .sk-tile > span.sk-ic svg { width: 19px; height: 19px; }
  .sk-tile .sk-t { overflow: hidden; }
}
@media (max-width: 382px) { .sk-tile b { font-size: 13px; } .sk-tile { gap: 7px; padding: 7px 8px 7px 7px; } .sk-tile > span.sk-ic { width: 28px; height: 28px; } .sk-tile > span.sk-ic svg { width: 17px; height: 17px; } }
@media (max-width: 330px) { .sk-tile b { font-size: 12px; } .sk-tile { gap: 6px; padding: 6px 6px 6px 6px; } .sk-tile > span.sk-ic { width: 26px; height: 26px; } }
.sk-tile .sk-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sk-tile .sk-t b, .sk-tile .sk-t small { display: block; }
/* ===== Wyniki ankiety parafialnej ===== */
.wa-link { margin: 14px 0 0; }
.wa-facts { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; margin: 14px 0 6px; }
.wa-fact { border-radius: 22px; padding: 20px 22px; background: var(--bg-2); border: 1px solid var(--line-2, var(--line)); opacity: 0; transform: translateY(14px); transition: opacity .6s, transform .6s; }
.wa-fact.in { opacity: 1; transform: none; }
.wa-fact small { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #C9A55A; }
.wa-fact b { display: block; font-size: clamp(34px, 6vw, 52px); line-height: 1.05; margin: 8px 0 6px; font-weight: 800; }
.wa-fact span { display: block; font-size: 14px; color: var(--ink-2); }
.wa-fact.wa-f1 { border-color: rgba(227,194,122,.5); background: linear-gradient(150deg, rgba(227,194,122,.22), rgba(227,194,122,.04)), var(--bg-2); }
.wa-fact.wa-f1 b { color: #E3C27A; }
.wa-hl .wr-bt i { background: linear-gradient(90deg, #6FB7F2, #8C9CF5) !important; }
.wa-star { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #10192b; background: #E3C27A; padding: 2px 7px; border-radius: 999px; margin-left: 6px; vertical-align: 1px; }
.wa-legend { margin: 12px 0 0; font-size: 12.5px; color: var(--ink-2); display: flex; align-items: center; gap: 8px; }
.wa-legend i { width: 18px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #6FB7F2, #8C9CF5); }
.wa-msze .wr-grid { grid-template-columns: repeat(3, 1fr); }
.wa-note { margin-top: 14px; }
@media (max-width: 1000px) { .wa-msze .wr-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .wa-facts { grid-template-columns: 1fr; } .wa-msze .wr-grid { grid-template-columns: 1fr; } }
.wr-bars li { grid-template-columns: 1fr auto; } .wr-bars b { white-space: nowrap; min-width: 40px; }
.wa-live { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center; max-width: 720px; margin: 20px auto 0; padding: 14px 18px; border-radius: 18px;
  background: rgba(127,209,168,.10); border: 1px solid rgba(127,209,168,.35); text-align: left; }
.wa-live p { margin: 0; flex: 1 1 260px; font-size: 15px; color: var(--ink-2); }
.wa-live p b { color: var(--ink); }
.wa-live .btn { flex: none; }
.wa-dot { width: 11px; height: 11px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 0 rgba(60,203,127,.6); animation: waPulse 2s infinite; flex: none; }
@keyframes waPulse { 0% { box-shadow: 0 0 0 0 rgba(60,203,127,.55); } 70% { box-shadow: 0 0 0 10px rgba(60,203,127,0); } 100% { box-shadow: 0 0 0 0 rgba(60,203,127,0); } }
@media (prefers-reduced-motion: reduce) { .wa-dot { animation: none; } }
@media (max-width: 560px) { .wa-live { text-align: left; } .wa-live .btn { width: 100%; justify-content: center; } }
.wa-msze { margin-top: 18px; }
/* Taizé: znak mieni się złotem (nagłówek i karta na stronie głównej) */
.tz-head, .kp-art-tz { position: relative; }
.tz-head img, .kp-art-tz img { opacity: 0; }
.tz-head::after, .kp-art-tz::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 21px; transform: translate(-50%, -50%); pointer-events: none;
  -webkit-mask: url(../img/taize/taize-znak-jasny.png) center / contain no-repeat; mask: url(../img/taize/taize-znak-jasny.png) center / contain no-repeat;
  background: linear-gradient(115deg, #E9A75A 0%, #F2B36B 30%, #FFF6E2 46%, #FFE2B0 54%, #F2B36B 70%, #E9A75A 100%) 0 0 / 300% 100%;
  animation: tzShine 3.8s ease-in-out infinite; filter: drop-shadow(0 0 3px rgba(242,179,107,.55)); }
.kp-art-tz::after { width: 26px; height: 27px; }
.tz-head:hover::after { animation-duration: 1.6s; filter: drop-shadow(0 0 6px rgba(242,179,107,.85)); }
@keyframes tzShine { 0% { background-position: 100% 0; } 55%, 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .tz-head::after, .kp-art-tz::after { animation: none; background-position: 50% 0; } }
@supports not ((mask: url(x)) or (-webkit-mask: url(x))) { .tz-head img, .kp-art-tz img { opacity: 1; } .tz-head::after, .kp-art-tz::after { display: none; } }
/* Kolęda — okienko budynku: dodatkowe pola schowane */
.kol-extra { margin: 6px 0 4px; border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; padding: 8px 12px; }
.kol-extra > summary { cursor: pointer; font-weight: 600; font-size: 14.5px; list-style: none; display: flex; align-items: center; gap: 8px; }
.kol-extra > summary::-webkit-details-marker { display: none; }
.kol-extra > summary::before { content: "+"; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: rgba(227,194,122,.18); color: #E3C27A; flex: none; }
.kol-extra[open] > summary::before { content: "−"; }
.kol-extra[open] > summary { margin-bottom: 8px; }
/* Kolęda — „Kiedy kolęda u mnie?” */
.kol-find2 { margin: 0 0 28px; padding: 18px; border-radius: 20px; border: 1px solid rgba(227,194,122,.4); background: linear-gradient(160deg, rgba(227,194,122,.12), rgba(227,194,122,.02)), var(--bg); }
.kol-find2 .kol-h3 { margin: 0 0 4px; }
.kol-find-lead { margin: 0 0 12px; color: var(--ink-2); font-size: 15px; }
.kol-find-row { display: grid; grid-template-columns: 1fr 120px auto; gap: 10px; align-items: end; }
.kol-find-row .kol-f { margin: 0; }
.kol-find-row .kol-btn { height: 46px; }
.kol-find2 .kol-res { margin-top: 12px; }
@media (max-width: 560px) { .kol-find-row { grid-template-columns: 1fr 96px; } .kol-find-row .kol-btn { grid-column: 1 / -1; width: 100%; } }
/* ===== Strona główna: „okładka” Królowej Pokoju po najechaniu na nazwę parafii ===== */
.km-layer { position: absolute; inset: 0; z-index: 6; overflow: hidden; pointer-events: none; visibility: hidden; }
html.km-on .km-layer { visibility: visible; }
.km-bg { position: absolute; inset: 0; opacity: var(--km, 0);
  background: radial-gradient(60% 70% at 78% 40%, #FBE7AE 0%, rgba(251,231,174,0) 60%), linear-gradient(135deg, #FFFDF8 0%, #FBF4E2 45%, #F4DE9E 100%); }
.km-grain { position: absolute; inset: 0; opacity: calc(var(--km, 0) * .35); mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .3 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.km-wrap { position: absolute; inset: 0; max-width: 1240px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 64px); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: clamp(24px, 5vw, 80px); }
.km-txt { color: #12233F; opacity: var(--km-txt, 0); transform: translateY(calc((1 - var(--km-txt, 0)) * 18px)); }
.km-k { margin: 0 0 18px; font-size: 13px; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: #A87A1E; }
.km-h { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(56px, 8.4vw, 132px); line-height: .9; letter-spacing: -.04em; color: #12233F; }
.km-p { margin: 26px 0 0; max-width: 30ch; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: #4A556B; }
.km-line { display: block; margin-top: 26px; height: 2px; width: calc(var(--km-txt, 0) * 120px); background: #C99A3B; }
.km-layer .km-poster { position: relative; margin: 0; height: min(78%, 680px); aspect-ratio: 953 / 1402; align-self: center; background: none !important; box-shadow: none !important; border: 0 !important;
  transform: translateY(calc((1 - var(--km, 0)) * 24px)) rotate(calc((1 - var(--km, 0)) * 2deg)); }
.km-poster .km-grid { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(9, 1fr); grid-template-rows: repeat(13, 1fr); border-radius: 22px; overflow: hidden; background: none;
  box-shadow: 0 40px 80px -30px rgba(120,80,10,calc(var(--km, 0) * .55)), 0 0 0 1px rgba(201,154,59,calc(var(--km, 0) * .4)); }
.km-poster .km-grid i { display: block; opacity: 0; transform: scale(.55); background-image: url(../img/krolowa-pokoju.webp); background-size: 900% 1300%; background-repeat: no-repeat; margin: -.5px;
  transition: opacity .25s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.km-frame { position: absolute; inset: -14px; border: 1px solid rgba(169,122,30,calc(var(--km, 0) * .7)); border-radius: 30px; }
html.km-on #hero-slider .hs-track, html.km-on #hero-slider .hs-nav { opacity: max(0, calc(1 - var(--km, 0) * 2.2)); }
@media (max-width: 1000px) { .km-wrap { grid-template-columns: 1fr; justify-items: center; } .km-txt { display: none; } }
@media (prefers-reduced-motion: reduce) { .km-poster .km-grid i { transition: none; } }

@media (max-width: 760px) { .today .skroty { margin-top: 26px !important; } }

  background: radial-gradient(120% 90% at 100% 0%, rgba(227,194,122,.35), transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(140,156,245,.22), transparent 60%), linear-gradient(150deg, #1E2C4A, #121C31);
  border: 1px solid rgba(227,194,122,.35); box-shadow: 0 24px 60px -30px rgba(0,0,0,.6); }
  background: linear-gradient(90deg, #F6E3B4, #E3C27A 60%, #C9A55A); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* ===== WMM: opis wspólnoty — zaproszenie, zasady, skąd pomysł, „miesiąc we Wspólnocie” ===== */
.m3 { --g: #E3C27A; margin: 0 0 clamp(40px, 6vw, 80px); padding-top: clamp(70px, 10vw, 130px); }
.m3-rv { opacity: 0; transform: translateY(26px); transition: opacity .9s ease, transform 1s cubic-bezier(.22,1,.36,1); }
.m3-rv.in { opacity: 1; transform: none; }
.m3-kick { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; color: #C9A55A; }
/* zaproszenie */
.m3-inv { text-align: center; max-width: 860px; margin: 0 auto; padding: 0 8px; }
.m3-lead { margin: 0 auto; font-size: clamp(21px, 2.5vw, 30px); line-height: 1.5; font-weight: 500; text-wrap: balance; color: var(--ink, #F2F4F8); }
.m3-lead em { font-style: normal; color: var(--g); }
.m3-big { margin: clamp(20px, 3vw, 30px) 0 0; font-family: var(--display); font-weight: 800; font-size: clamp(48px, 9vw, 112px); line-height: .95; letter-spacing: -.035em;
  background: linear-gradient(100deg, #F8EAC4 0%, #E3C27A 45%, #B88A35 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* cztery zasady */
.m3-vals { list-style: none; margin: clamp(56px, 8vw, 100px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.m3-vals li { display: flex; flex-direction: column; gap: 8px; padding: 26px 22px 24px; border-radius: 24px; background: var(--bg-2, rgba(255,255,255,.04)); border: 1px solid var(--line-2, rgba(255,255,255,.09)); }
.m3-vals li:nth-child(2) { transition-delay: .08s; } .m3-vals li:nth-child(3) { transition-delay: .16s; } .m3-vals li:nth-child(4) { transition-delay: .24s; }
.m3-vi { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: var(--g); background: rgba(227,194,122,.12); margin-bottom: 8px; }
.m3-vi svg { width: 24px; height: 24px; }
.m3-vals b { font-size: 18px; line-height: 1.25; }
.m3-vals span:last-child { font-size: 15px; line-height: 1.6; color: var(--ink-2, #B9C2D3); }
/* skąd pomysł */
.m3-story { margin-top: clamp(70px, 10vw, 130px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.m3-map { position: relative; aspect-ratio: 16 / 11; border-radius: 28px; overflow: hidden; background: radial-gradient(80% 90% at 75% 40%, rgba(227,194,122,.16), transparent 60%), radial-gradient(70% 80% at 20% 80%, rgba(140,156,245,.14), transparent 60%), var(--bg-2, #121C31); border: 1px solid var(--line-2, rgba(255,255,255,.09)); }
.m3-map::before { content: ""; position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1.2px); background-size: 18px 18px; }
.m3-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.m3-map .m3-route { fill: none !important; stroke: #E3C27A !important; stroke-width: 2.5; stroke-dasharray: 6 8; stroke-linecap: round; animation: m3Route 1.6s linear infinite; }
@keyframes m3Route { to { stroke-dashoffset: -28; } }
.m3-map .m3-pin { fill: #121C31 !important; stroke: #E3C27A !important; stroke-width: 3; }
.m3-map .m3-pin-b { fill: #E3C27A !important; }
.m3-map .m3-pulse { fill: none !important; stroke: #E3C27A !important; stroke-width: 2; transform-origin: 252px 92px; animation: m3Pulse 2.4s ease-out infinite; }
@keyframes m3Pulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
.m3-city { position: absolute; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.m3-wro { left: 13%; top: 74%; color: var(--ink-2, #B9C2D3); }
.m3-lodz { left: 70%; top: 52%; color: var(--g); font-size: 15px; }
.m3-st { transition-delay: .12s; }
.m3-st h3 { margin: 0 0 18px; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
.m3-st p { margin: 0 0 14px; font-size: 17px; line-height: 1.75; color: var(--ink-2, #B9C2D3); }
.m3-st a { color: var(--g); }
/* miesiąc we Wspólnocie */
.m3-month { margin-top: clamp(80px, 11vw, 140px); }
.m3-mh { text-align: center; margin-bottom: clamp(30px, 5vw, 56px); }
.m3-mh h3 { margin: 0; font-size: clamp(30px, 4.2vw, 50px); line-height: 1.05; letter-spacing: -.03em; }
.m3-mlead { margin: 14px 0 0; font-size: 17px; color: var(--ink-2, #B9C2D3); }
.m3-mgrid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.m3-wheel { --c: #E3C27A; position: relative; max-width: 380px; width: 100%; margin: 0 auto; aspect-ratio: 1; }
.m3-ring { width: 100%; height: 100%; overflow: visible; }
.m3-arc { fill: none; stroke: var(--c); stroke-width: 16; stroke-linecap: round; opacity: .28; cursor: pointer; transition: opacity .4s, stroke-width .4s; }
.m3-arc.on { opacity: 1; stroke-width: 22; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--c) 60%, transparent)); }
.m3-dot { cursor: pointer; }
.m3-dot circle { fill: #10192B; stroke: var(--c); stroke-width: 2; transition: fill .35s; }
.m3-dot svg { color: var(--c); transition: color .35s; }
.m3-dot.on circle { fill: var(--c); }
.m3-dot.on svg { color: #10192B; }
.m3-center { position: absolute; inset: 27%; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 8px; text-align: center;
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--c) 22%, transparent), transparent 70%), var(--bg-2, #121C31); border: 1px solid color-mix(in srgb, var(--c) 35%, transparent); transition: background .5s, border-color .5s; }
.m3-cn { display: grid; place-items: center; width: 54px; height: 54px; color: var(--c); }
.m3-cn svg { width: 46px; height: 46px; }
.m3-center span { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.m3-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.m3-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px 9px 10px; border-radius: 999px; font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; color: var(--ink, #F2F4F8);
  background: transparent; border: 1px solid var(--line, rgba(255,255,255,.16)); transition: background .3s, border-color .3s, color .3s; }
.m3-tab:hover { border-color: var(--c); }
.m3-tab:focus-visible { outline: 2px solid var(--c); outline-offset: 2px; }
.m3-ti { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--c); background: color-mix(in srgb, var(--c) 16%, transparent); }
.m3-ti svg { width: 15px; height: 15px; }
.m3-tab.on { background: var(--c); border-color: var(--c); color: #10192B; }
.m3-tab.on .m3-ti { background: rgba(16,25,43,.12); color: #10192B; }
.m3-panel { min-height: 320px; padding: clamp(24px, 3vw, 34px); border-radius: 26px; border: 1px solid color-mix(in srgb, var(--c, #E3C27A) 35%, transparent);
  background: linear-gradient(165deg, color-mix(in srgb, var(--c, #E3C27A) 14%, transparent), transparent 60%), var(--bg-2, #121C31); }
.m3-panel > * { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .6s cubic-bezier(.22,1,.36,1); }
.m3-panel.in > * { opacity: 1; transform: none; }
.m3-panel.in > *:nth-child(2) { transition-delay: .06s; } .m3-panel.in > *:nth-child(3) { transition-delay: .12s; } .m3-panel.in > *:nth-child(4) { transition-delay: .18s; }
.m3-dk { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.m3-panel h4 { margin: 0 0 12px; font-size: clamp(24px, 2.8vw, 32px); line-height: 1.15; letter-spacing: -.02em; }
.m3-dp { margin: 0; font-size: 16.5px; line-height: 1.7; color: var(--ink-2, #B9C2D3); }
.m3-plan { list-style: none; margin: 22px 0 0; padding: 0; position: relative; }
.m3-plan::before { content: ""; position: absolute; left: 93px; top: 14px; bottom: 14px; width: 2px; background: linear-gradient(var(--c), color-mix(in srgb, var(--c) 15%, transparent)); }
.m3-plan li { position: relative; display: grid; grid-template-columns: 80px 1fr; gap: 32px; align-items: baseline; padding: 9px 0; opacity: 0; transform: translateX(-8px); transition: opacity .5s ease var(--d), transform .6s cubic-bezier(.22,1,.36,1) var(--d); }
.m3-panel.in .m3-plan li { opacity: 1; transform: none; }
.m3-plan li::before { content: ""; position: absolute; left: 88px; top: 16px; width: 12px; height: 12px; border-radius: 50%; box-sizing: border-box; background: #121C31; border: 2px solid var(--c); }
.m3-plan li:first-child::before { background: var(--c); }
.m3-plan b { text-align: right; font-size: 15px; color: var(--c); font-variant-numeric: tabular-nums; white-space: nowrap; }
.m3-plan span { font-size: 17px; font-weight: 600; }
.m3-plan small { display: block; margin-top: 2px; font-size: 13.5px; font-weight: 400; color: var(--ink-2, #B9C2D3); }
@media (max-width: 960px) { .m3-vals { grid-template-columns: repeat(2, minmax(0, 1fr)); } .m3-story, .m3-mgrid { grid-template-columns: 1fr; } .m3-wheel { max-width: 300px; } }
@media (max-width: 560px) {
  .m3-vals { grid-template-columns: 1fr; }
  .m3-vals li { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; padding: 20px; }
  .m3-vals li .m3-vi { margin: 0; }
  .m3-vals li b { flex: 1; }
  .m3-vals li span:last-child { flex-basis: 100%; }
  .m3-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 18px; padding: 2px 16px 6px; scrollbar-width: none; }
  .m3-tabs::-webkit-scrollbar { display: none; }
  .m3-tab { flex: none; }
  .m3-wheel { max-width: 260px; }
  .m3-panel { min-height: 0; }
  .m3-plan::before { left: 85px; } .m3-plan li { grid-template-columns: 72px 1fr; gap: 30px; } .m3-plan li::before { left: 80px; }
}
@media (prefers-reduced-motion: reduce) { .m3-rv, .m3-panel > *, .m3-plan li { opacity: 1 !important; transform: none !important; transition: none !important; } .m3-route { stroke-dashoffset: 0; animation: none !important; } .m3-pulse { animation: none; } }
html[data-theme=light] .m3-dot circle, html[data-theme=light] .m3-plan li::before, html[data-theme=light] .m3-pin { fill: #fff; } html[data-theme=light] .m3-plan li::before { background: #fff; }

@media (max-width: 960px) { .m3-story, .m3-mgrid { grid-template-columns: minmax(0, 1fr); } .m3-side, .m3-wheel, .m3-story > * { min-width: 0; } }
@media (max-width: 960px) { .m3-st { order: -1; } }
.m3-vals + .m3-month { margin-top: clamp(80px, 11vw, 140px); }
#wspolnota .m3 { padding-top: 0 !important; margin-top: 0 !important; } #wspolnota .m3 > .m3-inv { padding-top: clamp(80px, 11vw, 140px); }
.wa-fact .wa-src { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(227,194,122,.25); display: grid; gap: 6px; font-size: 14px; color: var(--ink-2); }
.wa-fact .wa-src b { display: inline; font-size: 15px; margin: 0; font-weight: 700; line-height: inherit; color: #E3C27A; }
/* nagłówek: „Kontakt ▾” zamiast pięciu ikonek */
html .site-header .hdr-social .kt-switch { position: relative; display: inline-flex; }
html .site-header .hdr-social .kt-btn { gap: 0; padding: 0 !important; border-radius: 999px; color: var(--ink-2); }
html .site-header .hdr-social .kt-btn .kt-l, html .site-header .hdr-social .kt-btn .kt-c { display: none; }
html .site-header .hdr-social .kt-btn svg { width: 18px; height: 18px; flex: none; }
html .site-header .hdr-social .kt-btn .kt-c { width: 14px; height: 14px; opacity: .7; transition: transform .3s cubic-bezier(.22,1,.36,1); }
html .site-header .hdr-social .kt-open .kt-btn { color: var(--ink); background: var(--bg-2); }
html .site-header .hdr-social .kt-open .kt-c { transform: rotate(180deg); }
.kt-menu { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 9999; display: grid; gap: 4px; padding: 8px; min-width: 210px; border-radius: 22px; isolation: isolate;
  background: linear-gradient(155deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 38%, rgba(255,255,255,.03) 62%, rgba(255,255,255,.10) 100%), rgba(14,20,38,.6);
  -webkit-backdrop-filter: blur(34px) saturate(190%); backdrop-filter: blur(34px) saturate(190%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 24px 60px -12px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.22);
  animation: ktIn .32s cubic-bezier(.22,1,.36,1); }
.kt-menu[hidden] { display: none; }
.kt-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.kt-menu .kt-i { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap; transition: background .2s; }
.kt-menu .kt-i:hover, .kt-menu .kt-i:focus-visible { background: rgba(255,255,255,.1); outline: none; }
.kt-menu .kt-i svg { width: 18px; height: 18px; flex: none; opacity: .9; }
@keyframes ktIn { from { opacity: 0; transform: translate(-50%, -6px) scale(.97); } to { opacity: 1; transform: translate(-50%, 0) scale(1); } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kt-menu { background: rgba(16,22,40,.96); } }
@media (prefers-reduced-motion: reduce) { .kt-menu { animation: none; } }
/* strona główna dla gości z zagranicy (en, it, es, pt, fr, tr, zh, ja, uk) */
html:not([lang="pl"]) main nav.skroty, html:not([lang="pl"]) main .kom-promo, html:not([lang="pl"]) main #czy-nalezisz { display: none !important; }
.gx { padding-top: 34px; padding-bottom: 10px; }
.gx-k { margin: 0 0 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #E3C27A; }
.gx h2 { margin: 0; font-size: clamp(26px, 4.2vw, 40px); line-height: 1.12; letter-spacing: -.01em; }
.gx-p { margin: 10px 0 22px; max-width: 62ch; color: var(--ink-2); font-size: 16.5px; line-height: 1.55; }
.gx-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 16px; }
.gx-c { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 22px; background: var(--bg-2); border: 1px solid var(--line-2, var(--line)); }
.gx-c h3 { margin: 4px 0 0; font-size: 19px; line-height: 1.25; }
.gx-c p { margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.5; }
.gx-ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(227,194,122,.14); color: #E3C27A; }
.gx-ic svg { width: 24px; height: 24px; }
.gx-mass { border-color: rgba(227,194,122,.5); background: linear-gradient(150deg, rgba(227,194,122,.2), rgba(227,194,122,.04)), var(--bg-2); }
.gx-mass .gx-big { color: var(--ink); font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; line-height: 1.2; }
.gx-sm { font-size: 13.5px !important; }
.gx-langs { display: flex; gap: 6px; }
.gx-langs span { font-size: 12px; font-weight: 800; letter-spacing: .06em; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line-2, var(--line)); color: var(--ink); }
.gx-a { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 10px; }
.gx-a .btn { font-size: 14.5px; }
.gx-tel { white-space: nowrap; }
.gx-tz img { width: 46px; height: auto; }
@media (max-width: 960px) { .gx-grid { grid-template-columns: 1fr 1fr; } .gx-mass { grid-column: 1 / -1; } }
@media (max-width: 620px) { .gx-grid { grid-template-columns: minmax(0, 1fr); } .gx { padding-top: 26px; } .gx-c { padding: 18px; } .gx-tel { white-space: normal; } }
/* Taizé: dłuższe etykiety dni po przetłumaczeniu (np. „31 de diciembre”) mieszczą się w dwóch linijkach */
.tz-day time { white-space: normal; height: auto; min-height: 40px; padding: 4px 6px; line-height: 1.15; text-align: center; }
/* Kontakt: kolorowe ikonki jak w prawdziwych logo */
.kt-menu .kt-i svg { width: 30px; height: 30px; padding: 6px; box-sizing: border-box; border-radius: 9px; color: #fff; opacity: 1; background: #3B4A6B; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.kt-menu .kt-i[href*="facebook.com"] svg { background: #1877F2; }
.kt-menu .kt-i[href*="whatsapp.com"] svg { background: #25D366; }
.kt-menu .kt-i[href*="instagram.com"] svg { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.kt-menu .kt-i[href^="mailto:"] svg { background: #EA4335; }
.kt-menu .kt-i[href*="napisz"] svg { background: #B08A38; }
/* znaczek „2. niedziela · Wspólnota Młodych Małżeństw” — w wąskiej kolumnie łamie się zamiast ucinać */
#msze .tl-badge.tl-kairos { white-space: normal; flex-shrink: 1; min-width: 0; max-width: 250px; line-height: 1.25; border-radius: 12px; }
@media (max-width: 620px) { #msze .tl-badge.tl-kairos { max-width: none; } }
/* Wspólnota Młodych Małżeństw: okrągła pieczęć „liquid glass” z napisem w łuku, w prawym górnym rogu kafelka */
#invite-list li.kk.kk-has-seal, .comm-card.kk.kk-has-seal { overflow: visible !important; z-index: 2; }
.kk-seal { position: absolute; right: -30px; top: -34px; width: 104px; height: 104px; z-index: 3; pointer-events: none; border-radius: 50%;
  background: radial-gradient(120% 90% at 30% 15%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.12) 38%, rgba(255,255,255,.04) 62%, rgba(227,194,122,.16) 100%);
  -webkit-backdrop-filter: blur(14px) saturate(170%) brightness(1.08); backdrop-filter: blur(14px) saturate(170%) brightness(1.08);
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: inset 0 1.5px 1px rgba(255,255,255,.75), inset 0 -10px 18px rgba(227,194,122,.22), inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.38); }
.kk-seal::before { content: ""; position: absolute; left: 14%; top: 7%; width: 52%; height: 26%; border-radius: 50%; background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0)); filter: blur(1px); opacity: .7; }
.kk-seal svg { position: relative; width: 100%; height: 100%; display: block; overflow: visible; }
.kk-seal-bg { fill: none; }
.kk-seal-in { fill: rgba(10,20,40,.18); stroke: rgba(255,255,255,.35); stroke-width: .8; }
.kk-seal-ring { transform-origin: 60px 60px; animation: kkSpin 28s linear infinite; }
.kk-seal-ring text { font: 800 11.5px/1 var(--sans, sans-serif); letter-spacing: 0; fill: rgba(255,255,255,.92); }
.kk-seal-n { font: 800 17px/1 var(--display, var(--sans, sans-serif)); fill: #F1D594; letter-spacing: -.3px; }
.kk-seal-t { font: 700 10px/1 var(--sans, sans-serif); fill: rgba(255,255,255,.9); }
html[data-theme=light] .kk-seal { background: radial-gradient(120% 90% at 30% 15%, rgba(255,255,255,.85), rgba(255,255,255,.45) 45%, rgba(227,194,122,.28)); border-color: rgba(20,72,124,.18); box-shadow: inset 0 1.5px 1px #fff, inset 0 -10px 18px rgba(227,194,122,.3), 0 10px 24px rgba(20,40,80,.18); }
html[data-theme=light] .kk-seal-ring text, html[data-theme=light] .kk-seal-t { fill: #14335A; }
html[data-theme=light] .kk-seal-n { fill: #8A6A22; }
html[data-theme=light] .kk-seal-in { fill: rgba(255,255,255,.4); stroke: rgba(20,72,124,.25); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kk-seal { background: rgba(40,52,80,.92); } }
@keyframes kkSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kk-seal-ring { animation: none; } }
@media (max-width: 760px) { .kk-seal { right: 10px; top: 10px; bottom: auto; width: 82px; height: 82px; } .kk-has-seal > .kicker, .kk-has-seal > h3, .kk-has-seal .who { padding-right: 84px; overflow-wrap: anywhere; } .kk-has-seal { min-width: 0; } }
/* Kontakt: newsletter (beta) */
.kt-menu .kt-i[href*="newsletter"] svg { background: #4F6BED; }
.kt-menu .kt-beta { margin-left: auto; padding: 2px 7px 3px; border-radius: 999px; font: 700 10px/1.2 var(--sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: #0E1A2E; background: #E3C27A; }
/* Dymki pod ikonkami w nagłówku (np. „Taizé Łódź 2026”) — liquid glass jak menu Kontakt */
html .site-header .hs .hs-t { padding: 8px 14px; border-radius: 16px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25);
  background: linear-gradient(155deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.08) 40%, rgba(255,255,255,.04) 62%, rgba(255,255,255,.14) 100%), rgba(14,20,38,.45);
  -webkit-backdrop-filter: blur(26px) saturate(190%); backdrop-filter: blur(26px) saturate(190%);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -8px 16px rgba(255,255,255,.05), 0 18px 40px -14px rgba(0,0,0,.6), 0 3px 10px rgba(0,0,0,.2); }
html .site-header .hs .hs-t::before { top: -5px; background: linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,.12)), rgba(30,44,72,.7); -webkit-backdrop-filter: blur(26px); backdrop-filter: blur(26px); border-left: 1px solid rgba(255,255,255,.32); border-top: 1px solid rgba(255,255,255,.32); }
/* pieczęć „tworzy się” (np. Invisibilia): kciuk w górę nad liczbą chętnych */
.kk-seal-thumb path { stroke: #F1D594; }
html[data-theme=light] .kk-seal-thumb path { stroke: #8A6A22; }
.kk-seal-new .kk-seal-n { font-size: 19px; }
/* sam kciuk z liczbą chętnych (np. Invisibilia, Kairos On Kids) — w prawym górnym rogu, pionowo; tekst kafelka opływa go (kkWrap) */
.kk-thumb { position: absolute; right: 16px; top: 32px; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 1px; color: var(--cc, #6FB7F2); pointer-events: none; text-align: center; line-height: 1; width: 64px; }
.kk-thumb svg { width: 30px; height: 30px; filter: drop-shadow(0 0 10px color-mix(in oklab, var(--cc, #6FB7F2) 55%, transparent)); transform: rotate(-8deg); }
.kk-thumb b { font: 800 20px/1 var(--display, var(--sans, sans-serif)); color: #fff; margin-top: 3px; }
.kk-thumb span { font: 600 10.5px/1.15 var(--sans, sans-serif); color: rgba(255,255,255,.75); }
html[data-theme=light] .kk-thumb b { color: var(--ink, #141A2E); } html[data-theme=light] .kk-thumb span { color: var(--ink-2, #4A5270); }
.hs-card .hs-thumb { right: 6px; top: 30px; width: 56px; } .hs-card .hs-thumb svg { width: 26px; height: 26px; } .hs-card .hs-thumb span { font-size: 9.5px; }
.kk-wrap-pad { padding-right: var(--kkw, 70px) !important; }
.kk-wrap-flow::before { content: ""; float: right; width: var(--kkw, 70px); height: var(--kkh, 0px); }

/* rezerwacja miejsca na treści doczytywane przez skrypty — strona nie „skacze” podczas ładowania (CLS) */
.site-footer .nl-slot { min-height: 167px; }
@media (max-width: 860px) { .site-footer .nl-slot { min-height: 307px; } }
@media (max-width: 480px) { .site-footer .nl-slot { min-height: 425px; } }
html[data-ui]:not([data-ui="pl"]) .site-footer .nl-slot:empty { min-height: 0; }
#nl-page { min-height: 380px; }
#wyniki-ankiety.wr-page, #kalendarz.section { min-height: 110vh; }
#intention-form .int-l:empty::before { content: "\a0"; }
#int-slotpicker:empty { min-height: 130px; }
@media (max-width: 600px) { #int-slotpicker:empty { min-height: 157px; } }
.ws2 .ws-facts:empty { min-height: 96px; } .ws2 .ws-promise:empty { min-height: 48px; }
@media (max-width: 860px) { .ws2 .ws-facts:empty { min-height: 180px; } }
@media (max-width: 480px) { .ws2 .ws-facts:empty { min-height: 207px; } .ws2 .ws-promise:empty { min-height: 96px; } }

/* Ikonki jak na ekranie iPhone'a — tylko na telefonie, pod tytułem strony głównej */
.apps, .apps-sec, .ap-back, .ft-short { display: none; }
@media (max-width: 760px) {
  .apps-sec { display: none !important; }
  #tresc > section.apps-sec ~ section:not(.ap-open) { display: none !important; }
  #tresc > section.ap-open { animation: apOpen .35s ease both; }
  .ap-back { display: inline-flex; margin: 18px 20px 0; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
  .apps ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 6px; }
  .apps a { display: grid; justify-items: center; gap: 7px; text-decoration: none; color: #fff; -webkit-tap-highlight-color: transparent; }
  .app-ic { position: relative; width: 60px; height: 60px; border-radius: 15px; display: grid; place-items: center; overflow: hidden;
    background: linear-gradient(160deg, var(--a), var(--b)); box-shadow: 0 6px 14px -6px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(0,0,0,.12); transition: transform .15s ease, filter .15s ease; }
  .app-ic::after { content: ""; position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)); pointer-events: none; }
  .app-ic svg { width: 30px; height: 30px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 1px rgba(0,0,0,.2)); }
  .app-l { max-width: 78px; font: 500 11.5px/1.2 var(--sans); letter-spacing: -.01em; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: rgba(255,255,255,.92); text-shadow: 0 1px 3px rgba(0,0,0,.45); }
  .apps a:active .app-ic { transform: scale(.88); filter: brightness(.9); }
  html[data-theme=light] .app-l { color: var(--ink); text-shadow: none; }
}
@media (max-width: 350px) { .app-ic { width: 54px; height: 54px; border-radius: 13px; } .app-ic svg { width: 27px; height: 27px; } }
@media (prefers-reduced-motion: reduce) { .app-ic { transition: none; } }

@keyframes apOpen { from { opacity: 0; transform: translateY(12px); } }

/* Telefon, strona główna z ikonkami: zamiast rozbudowanej stopki — krótka */
@media (max-width: 760px) {
  body.kp-home .site-footer > *:not(.footer-credit) { display: none !important; }
  body.kp-home .site-footer { padding-top: 0 !important; background: transparent; border-top: 0; }
  body.kp-home .ft-short { display: grid; gap: 4px; padding: 26px 20px 4px; text-align: center; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.7); }
  .ft-short p { margin: 0; } .ft-short b { color: #fff; font-weight: 700; }
  .ft-short a { color: #E3C27A; text-decoration: none; }
  body.kp-home .footer-credit { margin-top: 14px !important; padding-bottom: 110px !important; font-size: 11.5px; }
}

/* Menu na smartfonie: ekran z ikonkami jak w iPhonie — jeden równy rytm siatki, odstępów i podpisów */
@media (max-width: 760px) {
  #menu.mi-on .mm-search, #menu.mi-on .mm-quick, #menu.mi-on .mg > .mg-col, #menu.mi-on .mm-soc, #menu.mi-on .mm-foot > p.mm-fh:first-of-type, #menu.mi-on .mm-cta, #menu.mi-on .mg-staff { display: none !important; }
  #menu .mi-wrap { --mi-gap: 10px; padding: 30px 20px 0; }
  #menu .mi-wrap > .mi-sec:last-child { margin-bottom: 8px; }
  #menu .mi-sec { margin: 0 0 44px; }
  #menu .mi-sec:first-child { margin-bottom: 26px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
  #menu .mi-h { display: flex; align-items: center; gap: 14px; margin: 0 0 20px 2px; font: italic 400 25px/1.1 var(--serif); letter-spacing: -.01em; text-transform: none; color: #F3E3BC; }
  #menu .mi-h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(227,194,122,.55), rgba(227,194,122,0)); }
  #menu .mi-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--mi-gap); row-gap: 14px; padding-top: 8px; }
  html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { display: grid !important; grid-template-rows: 60px 30px; justify-items: center !important; align-content: start !important; gap: 7px !important; min-height: 0 !important; width: auto; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-decoration: none; color: var(--ink); -webkit-tap-highlight-color: transparent; transform: none; opacity: 1; }
  html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a::before, html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a::after { content: none !important; display: none !important; }
  html body #menu.mm .mi-wrap a.mi-a:active { background: none !important; }
  #menu .mi-a .app-ic.mi-ic { position: relative; width: 60px; height: 60px; border-radius: 0; background: none; box-shadow: none; overflow: visible; display: block; transition: transform .15s ease, filter .15s ease; }
  #menu .mi-a .app-ic.mi-ic::after { content: none; }
  #menu .mi-a .app-ic.mi-ic svg { display: block; width: 60px; height: 60px; fill: none; stroke: none; filter: drop-shadow(0 4px 8px rgba(0,0,0,.28)) drop-shadow(0 1px 1.5px rgba(0,0,0,.2)); }
  #menu .mi-a:active .app-ic { transform: scale(.88); filter: brightness(.9); }
  #menu .mi-a .app-l { width: 100%; max-width: 82px; color: var(--ink); text-shadow: none; font: 500 11.5px/1.25 var(--sans); letter-spacing: -.01em; text-align: center; white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; hyphens: auto; }
  #menu .mi-cur .app-l { color: #E3C27A !important; font-weight: 700; }
  #menu .mi-badge { position: absolute; top: -5px; right: -5px; width: 16px; height: 16px; border-radius: 50%; background: #FF3B30; box-shadow: 0 1px 3px rgba(0,0,0,.35); z-index: 2; }
  #menu .mi-tag { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); z-index: 3; padding: 2px 7px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #E3C27A); color: #2A1E05; font: 800 9px/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.35); }
  #menu .mi-a .menu-dot { display: none !important; }
  /* rząd: ikonka prowadząca w pierwszej kolumnie siatki, ozdobny łącznik, przewijany pasek */
  #menu .mi-row { position: relative; display: grid; grid-template-columns: calc((100% - 3 * var(--mi-gap)) / 4) 34px minmax(0, 1fr); align-items: start; margin-top: 30px; padding: 22px 0 6px; border-top: 1px solid rgba(255,255,255,.07); }
  #menu .mi-sec > .mi-row:first-of-type:only-child { border-top: 0; }
  #menu .mi-sep { position: relative; display: block; width: 34px; height: 60px; margin-top: 0; }
  #menu .mi-sep::before { content: ""; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 1.5px; margin-left: -.75px; border-radius: 2px; background: linear-gradient(180deg, rgba(227,194,122,0), rgba(227,194,122,.75) 30%, rgba(227,194,122,.75) 70%, rgba(227,194,122,0)); }
  #menu .mi-sep::after { content: none; }
  #menu .mi-strip { display: flex; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-left: 4px; padding: 0 18px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  #menu .mi-strip::-webkit-scrollbar { display: none; }
  #menu .mi-strip > .mi-a { flex: none; width: 68px; scroll-snap-align: start; }
  #menu .mi-row.mi-more .mi-strip { -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent); mask-image: linear-gradient(90deg, #000 80%, transparent); }
  #menu .mi-row.mi-more.mi-less .mi-strip { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 80%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 80%, transparent); }
  #menu .mi-row.mi-less:not(.mi-more) .mi-strip { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%); mask-image: linear-gradient(90deg, transparent, #000 10%); }
  #menu .mi-join .app-l { color: #E3C27A; font-weight: 700; }
  #menu .mi-donate { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 4px 0 30px; padding: 16px 20px; border-radius: 18px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1E1505 !important; font: 800 16.5px/1.2 var(--sans); text-decoration: none; box-shadow: 0 10px 24px -10px rgba(227,194,122,.6), inset 0 1px 0 rgba(255,255,255,.6); }
  #menu .mi-donate svg { width: 20px; height: 20px; color: #C0392B; }
  #menu .mi-donate:active { transform: scale(.98); }
  #menu .mi-staff { margin: 6px 20px 22px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); text-align: center; font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.4); }
  html body #menu.mm p.mi-staff a { display: inline !important; position: static !important; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font: 500 12px/1.6 var(--sans) !important; letter-spacing: 0 !important; color: rgba(255,255,255,.6) !important; text-decoration: underline; text-underline-offset: 2px; }
  html body #menu.mm p.mi-staff a::before, html body #menu.mm p.mi-staff a::after { content: none !important; display: none !important; }
  #menu .mi-sec.mi-dock { margin: 0 0 40px; padding: 20px 14px 10px; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 30px -18px rgba(0,0,0,.7); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
  #menu .mi-sec.mi-dock .mi-h { margin-left: 4px; }
  #menu .mi-sec.mi-dock + .mi-sec { border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 34px; margin-bottom: 40px; }
  #menu .mi-sec.mi-dock .mi-h { font-size: 22px; margin-bottom: 18px; }

  /* liquid glass: przejrzyste tło menu z kolorową poświatą i szklane karty działów */
  html body #menu.mm.mi-on { background:
      radial-gradient(60% 22% at 8% 4%, rgba(64,140,255,.38), transparent 70%),
      radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.26), transparent 70%),
      radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.20), transparent 70%),
      radial-gradient(60% 24% at 100% 64%, rgba(40,200,190,.18), transparent 70%),
      radial-gradient(70% 24% at 30% 92%, rgba(64,120,255,.26), transparent 70%),
      rgba(8,14,28,.9) !important;
    background-attachment: local !important; -webkit-backdrop-filter: blur(38px) saturate(1.7); backdrop-filter: blur(38px) saturate(1.7); }
  html body #menu.mm.mi-on .mg-bg { opacity: .9; }
  html body #menu.mm.mi-on .mm-top { background: linear-gradient(180deg, rgba(10,18,34,.72), rgba(10,18,34,.38)) !important; -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); border-bottom: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 10px 30px -20px rgba(0,0,0,.8); }
  #menu .mi-wrap .mi-sec, #menu .mi-sec.mi-dock { position: relative; margin: 0 0 22px !important; padding: 22px 14px 14px !important; border: 1px solid rgba(255,255,255,.15) !important; border-radius: 30px; isolation: isolate;
    background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04) 42%, rgba(255,255,255,.07)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.30), inset 0 -1px 0 rgba(255,255,255,.04), 0 24px 44px -28px rgba(0,0,0,.9) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); }
  #menu .mi-wrap .mi-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 12% 0%, rgba(255,255,255,.16), transparent 55%), radial-gradient(80% 50% at 100% 100%, rgba(120,170,255,.10), transparent 60%); }
  #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(243,221,166,.20), rgba(255,255,255,.05) 45%, rgba(227,194,122,.10)) !important; border-color: rgba(243,221,166,.28) !important; }
  #menu .mi-wrap .mi-sec:not(.mi-dock):nth-child(2) { padding: 18px 14px 10px !important; border-bottom: 1px solid rgba(255,255,255,.15) !important; }
  #menu .mi-wrap .mi-sec:not(.mi-dock):nth-child(2) .mi-grid { padding-top: 0; }
  #menu .mi-wrap { padding-top: 26px; }
  #menu .mi-h { font-size: 23px; margin: 0 0 18px 4px; }
  #menu .mi-row { border-top: 1px solid rgba(255,255,255,.10); margin-top: 22px; padding-top: 20px; }
  #menu .mi-donate { margin: 6px 0 30px; border-radius: 22px; background: linear-gradient(180deg, rgba(248,228,178,.96), rgba(217,178,96,.94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 -2px 6px rgba(150,110,30,.25), 0 14px 30px -12px rgba(227,194,122,.55); }
  /* języki i przyciski na dole — też szkło */
  html body #menu.mm.mi-on .menu-lang a, html body #menu.mm.mi-on .kp-big-m, html body #menu.mm.mi-on .kp-push-m { background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)) !important; border: 1px solid rgba(255,255,255,.16) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.25) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  html body #menu.mm.mi-on .menu-lang a.active { background: linear-gradient(180deg, #fff, #E9EEF7) !important; }
  #menu .mi-a .app-l { width: calc(100% + 14px); max-width: none; margin: 0 -7px; font-size: 11px; overflow-wrap: normal; word-break: keep-all; hyphens: manual; }
  #menu .mi-strip > .mi-a .app-l { width: 100%; margin: 0; }
}

/* Menu na komputerze i tablecie: okno z ikonkami jak „Aplikacje” w macOS — wyszukiwarka, zakładki działów, równa siatka */
@media (min-width: 761px) {
  #menu.mi-desk .mg > .mg-col, #menu.mi-desk .mg > .mg-staff, #menu.mi-desk .mm-search, #menu.mi-desk .mm-quick, #menu.mi-desk .mm-cta, #menu.mi-desk .mm-soc, #menu.mi-desk .mm-foot > p.mm-fh:first-of-type, #menu.mi-desk .mi-donate { display: none !important; }
  #menu.mi-desk .mg { display: block !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  html body #menu.mm.mi-desk, html #menu.menu-sheet.mi-desk { background:
      radial-gradient(50% 40% at 6% 0%, rgba(64,140,255,.30), transparent 70%),
      radial-gradient(45% 40% at 100% 10%, rgba(175,110,255,.22), transparent 70%),
      radial-gradient(50% 45% at 50% 110%, rgba(227,194,122,.16), transparent 70%),
      rgba(16,22,36,.86) !important;
    border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 40px 90px -30px rgba(0,0,0,.85) !important;
    -webkit-backdrop-filter: blur(40px) saturate(1.7); backdrop-filter: blur(40px) saturate(1.7); }
  html #menu.menu-sheet.mi-desk { width: min(1120px, calc(100vw - 48px)); padding: 26px 30px 20px; border-radius: 30px; }
  #menu.mi-desk .mi-wrap { padding: 0; }
  #menu.mi-desk .mi-bar { position: sticky; top: -26px; z-index: 5; margin: -26px -30px 22px; padding: 22px 30px 16px; background: linear-gradient(180deg, rgba(16,22,36,.92), rgba(16,22,36,.78)); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,.09); border-radius: 30px 30px 0 0; }
  #menu.mi-desk .mi-find { display: flex; align-items: center; gap: 14px; padding: 4px 4px 16px; border-bottom: 1px solid rgba(255,255,255,.12); cursor: text; }
  #menu.mi-desk .mi-find svg { flex: none; width: 28px; height: 28px; color: rgba(255,255,255,.75); }
  #menu.mi-desk .mi-find input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: #fff; font: 400 30px/1.2 var(--sans); letter-spacing: -.01em; padding: 2px 0; }
  #menu.mi-desk .mi-find input::placeholder { color: rgba(255,255,255,.45); }
  #menu.mi-desk .mi-find input::-webkit-search-cancel-button { filter: invert(1) opacity(.6); }
  #menu.mi-desk .mi-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  #menu.mi-desk .mi-tabs::-webkit-scrollbar { display: none; }
  #menu.mi-desk .mi-tab { flex: none; padding: 9px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.82); font: 600 14.5px/1 var(--sans); cursor: pointer; transition: background .15s, color .15s; }
  #menu.mi-desk .mi-tab:hover { background: rgba(255,255,255,.14); color: #fff; }
  #menu.mi-desk .mi-tab.on { background: #F3E3BC; border-color: #F3E3BC; color: #1A1406; }
  #menu.mi-desk .mi-sec { margin: 0 0 30px; padding: 0; border: 0; background: none; }
  #menu.mi-desk .mi-sec.mi-dock { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.10); }
  #menu.mi-desk .mi-h { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; font: italic 400 22px/1.1 var(--serif); color: #F3E3BC; }
  #menu.mi-desk .mi-h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(227,194,122,.45), rgba(227,194,122,0)); }
  #menu.mi-desk .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 26px 8px; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html #menu.mi-desk .mi-grid > a.mi-a { display: grid !important; grid-template-rows: 66px auto; justify-items: center; align-content: start; gap: 9px; margin: 0 !important; padding: 8px 4px !important; border: 0 !important; border-radius: 16px !important; background: none !important; box-shadow: none !important; min-height: 0 !important; width: auto !important; text-decoration: none; color: #fff; transition: background .15s; }
  html body #menu.mi-desk .mi-grid > a.mi-a::before, html body #menu.mi-desk .mi-grid > a.mi-a::after { content: none !important; display: none !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.07) !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a[hidden] { display: none !important; }
  #menu.mi-desk .mi-sec[hidden] { display: none !important; }
  #menu.mi-desk .app-ic.mi-ic { position: relative; display: block; width: 66px; height: 66px; transition: transform .18s cubic-bezier(.2,.8,.2,1.3); }
  #menu.mi-desk .mi-a:hover .app-ic.mi-ic { transform: translateY(-3px) scale(1.05); }
  #menu.mi-desk .app-ic.mi-ic svg { display: block; width: 66px; height: 66px; filter: drop-shadow(0 5px 10px rgba(0,0,0,.35)) drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
  #menu.mi-desk .app-l { max-width: 124px; font: 500 13.5px/1.25 var(--sans); text-align: center; color: rgba(255,255,255,.92); white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: normal; }
  #menu.mi-desk .mi-cur .app-l { color: #E3C27A; font-weight: 700; }
  #menu.mi-desk .mi-badge { position: absolute; top: -5px; right: -5px; width: 17px; height: 17px; border-radius: 50%; background: #FF3B30; box-shadow: 0 1px 3px rgba(0,0,0,.35); }
  #menu.mi-desk .mi-tag { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 2px 8px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #E3C27A); color: #2A1E05; font: 800 9.5px/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.35); }
  #menu.mi-desk .mi-join .app-l { color: #E3C27A; font-weight: 700; }
  #menu.mi-desk .mi-a .menu-dot { display: none !important; }
  #menu.mi-desk .mi-empty { margin: 30px 0 40px; text-align: center; color: rgba(255,255,255,.55); font-size: 15px; }
  #menu.mi-desk .mi-staff { margin: 4px 0 6px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); text-align: left; font-size: 12.5px; color: rgba(255,255,255,.45); }
  html body #menu.mi-desk p.mi-staff a { color: rgba(255,255,255,.65) !important; text-decoration: underline; text-underline-offset: 2px; background: none !important; border: 0 !important; padding: 0 !important; display: inline !important; font-size: 12.5px !important; }
  #menu.mi-desk.mm-in .mi-wrap { padding: 0 28px; }
  #menu.mi-desk.mm-in .mi-bar { position: static; margin: 0 -28px 22px; padding: 18px 28px 16px; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  #menu.mi-desk.mm-in .mi-staff { margin: 4px 28px 20px; }
  /* jak w oknie Apple: węższe okno, stałe 7 kolumn rozłożonych na całą szerokość, mniejsze ikonki i spokojniejsze nagłówki */
  html #menu.menu-sheet.mi-desk:not(.mm-in) { width: min(940px, calc(100vw - 48px)); padding: 22px 26px 16px; }
  #menu.mi-desk:not(.mm-in) .mi-bar { margin: -22px -26px 18px; padding: 18px 26px 14px; top: -22px; }
  #menu.mi-desk .mi-find { gap: 12px; padding: 2px 2px 12px; }
  #menu.mi-desk .mi-find svg { width: 22px; height: 22px; }
  #menu.mi-desk .mi-find input { font-size: 24px; }
  #menu.mi-desk .mi-tabs { gap: 6px; margin-top: 12px; }
  #menu.mi-desk .mi-tab { padding: 7px 12px; border-radius: 9px; border-color: transparent; background: rgba(255,255,255,.08); font-size: 13px; font-weight: 600; }
  #menu.mi-desk .mi-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 18px 4px; justify-items: center; }
  @media (max-width: 1100px) { #menu.mi-desk .mi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  html body #menu.mi-desk .mi-grid > a.mi-a { width: 100% !important; grid-template-rows: 54px auto; gap: 7px; padding: 6px 2px !important; border-radius: 14px !important; }
  #menu.mi-desk .app-ic.mi-ic, #menu.mi-desk .app-ic.mi-ic svg { width: 54px; height: 54px; }
  #menu.mi-desk .app-l { max-width: 110px; font-size: 12.5px; }
  #menu.mi-desk .mi-tag { top: -9px; font-size: 8.5px; padding: 1px 7px; }
  #menu.mi-desk .mi-badge { width: 15px; height: 15px; top: -4px; right: -4px; }
  #menu.mi-desk .mi-sec { margin-bottom: 22px; }
  #menu.mi-desk .mi-sec.mi-dock { padding-bottom: 20px; }
  #menu.mi-desk .mi-h { font-size: 18px; margin-bottom: 12px; }
}

/* menu: żywe plakietki na ikonkach (najbliższa Msza, kancelaria otwarta, kolęda dziś, wolne intencje) */
#menu .mi-tip { display: none; }
#menu .mi-live { position: absolute; z-index: 3; pointer-events: none; font-style: normal; }
#menu .mi-live-time { left: 50%; bottom: -7px; transform: translateX(-50%); padding: 2px 7px; border-radius: 999px; background: #fff; color: #1C1C1E; font: 800 10px/1.25 var(--sans); letter-spacing: -.01em; box-shadow: 0 2px 6px rgba(0,0,0,.4); white-space: nowrap; }
#menu .mi-live-dot { top: -4px; right: -4px; width: 15px; height: 15px; border-radius: 50%; background: #8E8E93; border: 2.5px solid #1B2436; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
#menu .mi-live-dot.on { background: #34C759; box-shadow: 0 0 0 3px rgba(52,199,89,.28), 0 1px 3px rgba(0,0,0,.4); }
#menu .mi-live-tag { left: 50%; top: -9px; transform: translateX(-50%); padding: 1px 7px; border-radius: 999px; background: #FF3B30; color: #fff; font: 800 9px/1.35 var(--sans); letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 2px 5px rgba(0,0,0,.35); white-space: nowrap; }
#menu .mi-live-num { top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #FF3B30; color: #fff; font: 700 11.5px/20px var(--sans); text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,.4); box-sizing: border-box; }
@media (min-width: 761px) {
  /* podpowiedź po najechaniu */
  html body #menu.mi-desk .mi-grid > a.mi-a { position: relative; overflow: visible; }
  #menu.mi-desk .mi-tip { display: block; position: absolute; left: 50%; top: calc(100% + 2px); z-index: 20; width: max-content; max-width: 210px; padding: 7px 10px; border-radius: 10px; background: rgba(20,26,40,.96); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 10px 24px -8px rgba(0,0,0,.7); color: rgba(255,255,255,.9); font: 500 12px/1.35 var(--sans); text-align: center; white-space: normal; opacity: 0; transform: translate(-50%, -4px); transition: opacity .15s ease .25s, transform .15s ease .25s; pointer-events: none; }
  #menu.mi-desk .mi-a:hover .mi-tip, #menu.mi-desk .mi-a:focus-visible .mi-tip { opacity: 1; transform: translate(-50%, 0); }
  #menu.mi-desk .mi-a:focus-visible { outline: 2px solid #E3C27A; outline-offset: 2px; }
  #menu.mi-desk .mi-sec { overflow: visible; }
  /* „Najczęściej wybierane” jak Dock w macOS: wyśrodkowany, szklany, większe ikonki */
  #menu.mi-desk .mi-sec.mi-dock { margin: 4px auto 26px; padding: 14px 26px 16px; width: max-content; max-width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04) 45%, rgba(255,255,255,.08)); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 18px 40px -22px rgba(0,0,0,.8); -webkit-backdrop-filter: blur(20px) saturate(1.5); backdrop-filter: blur(20px) saturate(1.5); }
  #menu.mi-desk .mi-sec.mi-dock .mi-h { justify-content: center; font-size: 15px; margin-bottom: 10px; color: rgba(243,227,188,.85); }
  #menu.mi-desk .mi-sec.mi-dock .mi-h::after { display: none; }
  #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: flex !important; justify-content: center; gap: 10px 22px; }
  html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 104px !important; grid-template-rows: 64px auto; }
  #menu.mi-desk .mi-dock .app-ic.mi-ic, #menu.mi-desk .mi-dock .app-ic.mi-ic svg { width: 64px; height: 64px; }
  #menu.mi-desk .mi-sec.mi-dock[hidden] { display: none !important; }
}
#menu .mi-a:has(.mi-live-time) .app-l { margin-top: 5px; }
/* audyt mobilny: słowa w kafelkach z pieczęcią nie łamią się w połowie */
@media (max-width: 760px) { .kk-has-seal .who, .kk-has-seal > .kicker { overflow-wrap: normal !important; word-break: keep-all; hyphens: none; letter-spacing: .08em; padding-right: 88px; } .kk-has-seal > h3 { overflow-wrap: normal !important; hyphens: manual; } }

/* ===== audyt mobilny (27.10.2026) ===== */
/* przycisk „Dołącz do wspólnoty” poza stroną wspólnoty — złoty jak inne główne przyciski */
.zw-btn:not(.ws2 .ws-actions .zw-btn) { background: linear-gradient(180deg, #F3DDA6, #E3C27A) !important; color: #1E1505 !important; border: 0 !important; box-shadow: 0 10px 24px -12px rgba(227,194,122,.7) !important; }
.zw-btn:not(.ws2 .ws-actions .zw-btn) svg { stroke: currentColor; color: #1E1505; }
@media (max-width: 760px) {
  /* formularze: min. 16 px, żeby iPhone nie powiększał ekranu przy pisaniu */
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { font-size: 16px !important; }
  /* większe pola wyboru */
  input[type=checkbox], input[type=radio] { width: 22px !important; height: 22px !important; min-width: 22px; flex: none; }
  label:has(> input[type=checkbox]), label:has(> input[type=radio]) { min-height: 40px; }
  /* kropki slajdów: większe pole dotyku przy tym samym wyglądzie */
  .hs-dot { position: relative; }
  .hs-dot::after { content: ""; position: absolute; inset: -16px -8px; }
  /* linki w stopce — wygodniejsze do kliknięcia */
  .site-footer li > a, .site-footer p > a:not(.btn) { display: inline-block; padding: 8px 0; }
  /* numery telefonów w treści jako przyciski „zadzwoń” */
  main a[href^="tel:"]:not(.btn):not(.mi-a):not([class*="dock"]):not(.of-call):not(:has(svg)) { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 6px; margin: 10px 0 6px; padding: 7px 12px 7px 10px; border-radius: 999px; background: rgba(52,199,89,.14); border: 1px solid rgba(52,199,89,.35); color: #7DE39A !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; line-height: 1.2; }
  main a[href^="tel:"]:not(.btn):not(.mi-a):not([class*="dock"]):not(.of-call):not(:has(svg))::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; }
  html[data-theme=light] main a[href^="tel:"]:not(.btn):not(.mi-a) { color: #1E7A3A !important; }
  /* najmniejszy tekst na pieczęciach i plakietkach — min. 11 px */
  .kk-thumb span, .hs-thumb span { font-size: 11px !important; line-height: 1.2; }
  .kk-new { font-size: 11px !important; }
  /* strona główna: pływający pasek zastąpiło menu z ikonkami */
}
.hero-next { display: none; }
@media (max-width: 760px) {
  .hero-open .hero-open-inner { grid-template-areas: "name" "title" "next" "note" "cue" "live"; }
  .hero-open .hero-next:not([hidden]) { grid-area: next; justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin: 2px 0 4px; padding: 10px 16px 10px 14px; border-radius: 999px; background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #fff; text-decoration: none; font: 700 15px/1.2 var(--sans); }
  .hero-next i { width: 9px; height: 9px; border-radius: 50%; background: #E3C27A; box-shadow: 0 0 0 4px rgba(227,194,122,.25); }
  .hero-next b { color: #E3C27A; }
}
.mj-toc, .mj-cta { display: none; }
@media (max-width: 760px) {
  .mj-toc { display: flex; gap: 8px; margin: 18px -20px 4px; padding: 2px 20px 6px; overflow-x: auto; scrollbar-width: none; align-items: center; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .mj-toc::-webkit-scrollbar { display: none; }
  .mj-toc span { flex: none; font: 700 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(227,194,122,.85); }
  .mj-toc a { flex: none; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: var(--ink) !important; font: 600 14px/1.1 var(--sans); text-decoration: none !important; white-space: nowrap; }
  html[data-theme=light] .mj-toc a { background: rgba(10,20,40,.05); border-color: rgba(10,20,40,.12); }
  .mj-cta { display: block; position: fixed; left: 16px; right: 16px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 40; padding: 16px 20px; border: 0; border-radius: 18px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1E1505; font: 800 16.5px/1.2 var(--sans); box-shadow: 0 14px 30px -10px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.6); transform: translateY(140%); opacity: 0; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .2s; pointer-events: none; }
  .mj-cta.on { transform: none; opacity: 1; pointer-events: auto; }
}
@media (max-width: 760px) { html.kp-mj-on body .pl-up { bottom: calc(96px + env(safe-area-inset-bottom)) !important; } }

/* ===== menu „mistrzostwo”: podpisy w jednej linii, ruch, przypinanie, szukanie na telefonie, jasny motyw, duży tekst ===== */
#menu .mi-wrap a.mi-a[hidden], #menu .mi-wrap .mi-sec[hidden], #menu .mi-wrap .mi-row[hidden], #menu .mi-bar[hidden] { display: none !important; }
#menu .mi-a .app-l { white-space: nowrap !important; display: block !important; -webkit-line-clamp: unset !important; overflow: hidden; text-overflow: ellipsis; }
html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { grid-template-rows: 60px 18px; }
@keyframes miIn { from { opacity: 0; transform: translateY(12px) scale(.82); } }
#menu.mi-on .mi-wrap .mi-a { animation: miIn .42s cubic-bezier(.34,1.45,.64,1) both; animation-delay: calc(var(--i, 0) * 16ms + 40ms); }
#menu .mi-a .app-ic.mi-ic { transition: transform .22s cubic-bezier(.34,1.56,.64,1), filter .15s ease !important; }
#menu .mi-a.mi-press .app-ic.mi-ic { transform: scale(.86) !important; filter: brightness(.88); transition-duration: .5s !important; }
#menu .mi-a:active .app-ic.mi-ic { transform: scale(.9); }
@media (prefers-reduced-motion: reduce) { #menu.mi-on .mi-wrap .mi-a { animation: none; } #menu .mi-a .app-ic.mi-ic { transition: none !important; } }
#menu .mi-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 80; max-width: calc(100vw - 40px); padding: 11px 18px; border-radius: 999px; background: rgba(20,26,40,.94); border: 1px solid rgba(255,255,255,.16); color: #fff; font: 600 14px/1.3 var(--sans); text-align: center; box-shadow: 0 14px 30px -10px rgba(0,0,0,.7); transform: translate(-50%, 20px); opacity: 0; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .25s; pointer-events: none; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
#menu .mi-toast.on { transform: translate(-50%, 0); opacity: 1; }
.mi-find-btn { display: none; }
@media (max-width: 760px) {
  #menu .mm-top .mi-find-btn { display: grid; place-items: center; width: 44px; height: 44px; margin-left: auto; margin-right: 8px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff; }
  #menu .mm-top .mi-find-btn svg { width: 19px; height: 19px; }
  #menu .mi-bar-m { margin: 0 0 18px; }
  #menu .mi-bar-m .mi-find { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 16px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
  #menu .mi-bar-m .mi-find svg { width: 20px; height: 20px; color: rgba(255,255,255,.7); flex: none; }
  #menu .mi-bar-m input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: #fff; font: 400 17px/1.2 var(--sans) !important; }
  #menu .mi-bar-m input::placeholder { color: rgba(255,255,255,.5); }
  @keyframes miBar { from { opacity: 0; transform: translateY(-14px); } }
  #menu .mi-bar-in { animation: miBar .3s cubic-bezier(.2,.8,.2,1); }
  #menu .mi-empty { margin: 10px 0 30px; text-align: center; color: rgba(255,255,255,.6); }
  /* duży tekst: 3 kolumny, większe ikonki i podpisy */
  html.kp-big #menu .mi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 22px; }
  html.kp-big #menu .mi-a .app-ic.mi-ic, html.kp-big #menu .mi-a .app-ic.mi-ic svg { width: 72px !important; height: 72px !important; }
  html.kp-big body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { grid-template-rows: 72px 22px; }
  html.kp-big #menu .mi-a .app-l { font-size: 14px !important; max-width: 110px; }
  html.kp-big #menu .mi-row { grid-template-columns: calc((100% - 2 * var(--mi-gap)) / 3) 30px minmax(0, 1fr); }
  html.kp-big #menu .mi-strip > .mi-a { width: 88px; }
}
/* jasny motyw — mleczne szkło */
html[data-theme=light] body #menu.mm.mi-on { background: radial-gradient(60% 22% at 8% 4%, rgba(90,150,255,.22), transparent 70%), radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.16), transparent 70%), radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.22), transparent 70%), radial-gradient(70% 24% at 30% 92%, rgba(90,150,255,.16), transparent 70%), rgba(246,248,252,.9) !important; color: #141A2E; }
html[data-theme=light] #menu.mi-on .mm-top { background: linear-gradient(180deg, rgba(250,251,254,.85), rgba(250,251,254,.55)) !important; border-bottom-color: rgba(10,20,40,.08) !important; }
html[data-theme=light] #menu .mi-wrap .mi-sec, html[data-theme=light] #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(255,255,255,.85), rgba(255,255,255,.55)) !important; border-color: rgba(10,20,40,.08) !important; box-shadow: inset 0 1px 0 #fff, 0 18px 40px -26px rgba(20,30,60,.35) !important; }
html[data-theme=light] #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(255,248,230,.95), rgba(255,255,255,.6)) !important; border-color: rgba(201,164,90,.35) !important; }
html[data-theme=light] #menu .mi-h { color: #7A5C1E !important; }
html[data-theme=light] #menu .mi-a .app-l { color: #1C2236 !important; }
html[data-theme=light] #menu .mi-cur .app-l, html[data-theme=light] #menu .mi-join .app-l { color: #8F6F26 !important; }
html[data-theme=light] #menu .mi-row { border-top-color: rgba(10,20,40,.08); }
html[data-theme=light] #menu .mi-a .app-ic.mi-ic svg { filter: drop-shadow(0 4px 8px rgba(20,30,60,.18)) drop-shadow(0 1px 1.5px rgba(20,30,60,.15)); }
html[data-theme=light] #menu .mi-find-btn, html[data-theme=light] #menu .mi-bar-m .mi-find { background: rgba(10,20,40,.05); border-color: rgba(10,20,40,.1); color: #141A2E; }
html[data-theme=light] #menu .mi-bar-m input, html[data-theme=light] #menu.mi-desk .mi-find input { color: #141A2E; }
html[data-theme=light] #menu .mi-staff { color: rgba(20,26,46,.55); border-top-color: rgba(10,20,40,.08); }
html[data-theme=light] body #menu.mm p.mi-staff a { color: rgba(20,26,46,.75) !important; }
html[data-theme=light] #menu .mi-live-dot { border-color: #fff; }
@media (min-width: 761px) {
  html[data-theme=light] body #menu.mm.mi-desk { background: radial-gradient(50% 40% at 6% 0%, rgba(90,150,255,.18), transparent 70%), radial-gradient(45% 40% at 100% 10%, rgba(175,110,255,.12), transparent 70%), rgba(248,250,253,.92) !important; border-color: rgba(10,20,40,.1) !important; }
  html[data-theme=light] #menu.mi-desk .mi-bar { background: linear-gradient(180deg, rgba(250,251,254,.95), rgba(250,251,254,.8)); border-bottom-color: rgba(10,20,40,.08); }
  html[data-theme=light] #menu.mi-desk .mi-find svg { color: rgba(20,26,46,.6); }
  html[data-theme=light] #menu.mi-desk .mi-tab { background: rgba(10,20,40,.05); color: #1C2236; }
  html[data-theme=light] #menu.mi-desk .mi-tab.on { background: #1C2236; color: #fff; }
  html[data-theme=light] #menu.mi-desk .mi-sec, html[data-theme=light] #menu.mi-desk .mi-sec.mi-dock { background: none !important; box-shadow: none !important; border: 0 !important; }
  html[data-theme=light] #menu.mi-desk .mi-sec.mi-dock { background: rgba(255,255,255,.7) !important; border: 1px solid rgba(10,20,40,.08) !important; }
  html[data-theme=light] #menu.mi-desk .mi-tip { background: #1C2236; }
  html.kp-big #menu.mi-desk .mi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html.kp-big #menu.mi-desk .app-ic.mi-ic, html.kp-big #menu.mi-desk .app-ic.mi-ic svg { width: 66px; height: 66px; }
  html.kp-big #menu.mi-desk .app-l { font-size: 15px; }
}
html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a[hidden] { display: none !important; }
html[data-theme=light] #menu.mi-on .mm-top, html[data-theme=light] #menu.mi-on .mm-top * { color: #141A2E !important; }
html[data-theme=light] #menu.mi-on .mm-top .mm-x, html[data-theme=light] #menu.mi-on .mm-top .mi-find-btn { background: rgba(10,20,40,.06) !important; border-color: rgba(10,20,40,.12) !important; }

/* menu spójne ze stroną: nagłówki działów jak nagłówki sekcji (Bricolage 600, złota kreska 3 px nad tytułem), łączniki tej samej grubości */
#menu .mi-wrap .mi-h, #menu.mi-desk .mi-h, #menu .mi-sec.mi-dock .mi-h, #menu.mi-desk .mi-sec.mi-dock .mi-h { display: block !important; margin: 0 0 18px 2px !important; font: 600 22px/1.1 var(--display) !important; font-style: normal !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--ink, #fff) !important; text-align: left !important; justify-content: flex-start !important; }
#menu .mi-wrap .mi-h::before { content: ""; display: block; width: 96px; height: 3px; border-radius: 3px; margin-bottom: 12px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
#menu .mi-wrap .mi-h::after { content: none !important; display: none !important; }
#menu .mi-sep::before { width: 3px !important; margin-left: -1.5px !important; border-radius: 3px !important; background: linear-gradient(180deg, rgba(227,194,122,0) 0%, rgba(227,194,122,.35) 18%, #E3C27A 50%, rgba(227,194,122,.35) 82%, rgba(227,194,122,0) 100%) !important; }
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap .mi-h { font-size: 19px !important; margin-bottom: 14px !important; }
  #menu.mi-desk .mi-wrap .mi-h::before { width: 80px; margin-bottom: 10px; }
  #menu.mi-desk .mi-sec.mi-dock .mi-h { text-align: center !important; }
  #menu.mi-desk .mi-sec.mi-dock .mi-h::before { margin-left: auto; margin-right: auto; background: linear-gradient(90deg, rgba(201,164,90,0), #E3C27A 50%, rgba(201,164,90,0)); }
}
html[data-theme=light] #menu .mi-wrap .mi-h { color: #141A2E !important; }
@media (prefers-reduced-motion: reduce) { #menu .mi-wrap .mi-h::before { animation: none; } }
/* kreski w menu: na początku 3 px, potem dłuższe i coraz smuklejsze (zwężający się klin + zanikający gradient) */
#menu .mi-wrap .mi-h::before { width: min(78%, 300px) !important; height: 3px !important; border-radius: 0 !important; clip-path: polygon(0 0, 100% 46%, 100% 54%, 0 100%); background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.9) 22%, rgba(201,164,90,.45) 60%, rgba(201,164,90,0) 100%) !important; }
@media (min-width: 761px) { #menu.mi-desk .mi-wrap .mi-h::before { width: min(60%, 340px) !important; } #menu.mi-desk .mi-sec.mi-dock .mi-h::before { width: 260px !important; clip-path: polygon(0 46%, 50% 0, 100% 46%, 100% 54%, 50% 100%, 0 54%); background: linear-gradient(90deg, rgba(201,164,90,0), #E3C27A 50%, rgba(201,164,90,0)) !important; } }
#menu .mi-sep::before { width: 3px !important; margin-left: -1.5px !important; top: -6px !important; bottom: -14px !important; border-radius: 0 !important; clip-path: polygon(0 0, 100% 0, 54% 100%, 46% 100%); background: linear-gradient(180deg, #E3C27A 0%, rgba(227,194,122,.85) 25%, rgba(201,164,90,.4) 65%, rgba(201,164,90,0) 100%) !important; }

/* ===== komputer: prawdziwe liquid glass, działy jako szklane karty w dwóch kolumnach ===== */
@media (min-width: 761px) {
  html body #menu.mm.mi-desk, html #menu.menu-sheet.mi-desk {
    background: radial-gradient(70% 50% at 0% 0%, rgba(90,150,255,.22), transparent 70%), radial-gradient(60% 50% at 100% 0%, rgba(175,110,255,.16), transparent 70%), radial-gradient(70% 60% at 50% 110%, rgba(227,194,122,.14), transparent 70%), rgba(18,26,44,.52) !important;
    -webkit-backdrop-filter: blur(44px) saturate(1.9) brightness(.92) !important; backdrop-filter: blur(44px) saturate(1.9) brightness(.92) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.04), 0 50px 100px -30px rgba(0,0,0,.75) !important; }
  #menu.mi-desk .mg-bg { opacity: .55; }
  #menu.mi-desk:not(.mm-in) .mi-bar { background: linear-gradient(180deg, rgba(22,30,50,.72), rgba(22,30,50,.38)) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; -webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6); }
  #menu.mi-desk .mi-find { border-bottom: 0 !important; padding: 10px 14px !important; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
  #menu.mi-desk .mi-find input { font-size: 20px !important; }
  /* zakładki jako jeden przełącznik w szkle */
  #menu.mi-desk .mi-tabs { display: flex !important; flex-wrap: nowrap !important; gap: 2px !important; width: max-content; max-width: 100%; margin: 12px 0 0 !important; padding: 4px; border-radius: 13px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); overflow-x: auto; scrollbar-width: none; }
  #menu.mi-desk .mi-tab { border: 0 !important; background: transparent !important; color: rgba(255,255,255,.75) !important; padding: 7px 12px !important; border-radius: 10px !important; font-size: 13px !important; white-space: nowrap; }
  #menu.mi-desk .mi-tab:hover { color: #fff !important; background: rgba(255,255,255,.08) !important; }
  #menu.mi-desk .mi-tab.on { background: rgba(255,255,255,.92) !important; color: #141A2E !important; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
  /* układ: karty w dwóch kolumnach */
  #menu.mi-desk .mi-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  #menu.mi-desk .mi-wrap > .mi-bar, #menu.mi-desk .mi-wrap > .mi-empty, #menu.mi-desk .mi-wrap > .mi-dock, #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { grid-column: 1 / -1; }
  #menu.mi-desk .mi-wrap > .mi-sec { margin: 0 !important; padding: 18px 16px 10px !important; border-radius: 24px !important; border: 1px solid rgba(255,255,255,.13) !important; background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 50%, rgba(255,255,255,.06)) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 18px 34px -24px rgba(0,0,0,.7) !important; height: 100%; box-sizing: border-box; }
  #menu.mi-desk .mi-wrap > .mi-sec.mi-dock { width: auto !important; margin: 0 !important; padding: 16px 16px 12px !important; background: linear-gradient(160deg, rgba(243,221,166,.16), rgba(255,255,255,.04) 50%, rgba(227,194,122,.08)) !important; border-color: rgba(243,221,166,.26) !important; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)) !important; justify-items: center; gap: 14px 4px !important; }
  #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important; }
  #menu.mi-desk .mi-wrap .mi-h { margin-left: 4px !important; }
  /* dół okna */
  #menu.mi-desk .mg-bless { margin: 18px 0 0 !important; padding: 14px 18px !important; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
  #menu.mi-desk .mi-staff { border-top: 0 !important; padding-top: 6px !important; }
}
/* telefon: tło też bardziej szklane */
@media (max-width: 760px) {
  html body #menu.mm.mi-on { background: radial-gradient(60% 22% at 8% 4%, rgba(64,140,255,.34), transparent 70%), radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.24), transparent 70%), radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.18), transparent 70%), radial-gradient(70% 24% at 30% 92%, rgba(64,120,255,.24), transparent 70%), rgba(10,16,30,.74) !important;
    -webkit-backdrop-filter: blur(46px) saturate(1.9) !important; backdrop-filter: blur(46px) saturate(1.9) !important; }
}
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap > .mi-bar { order: 0; } #menu.mi-desk .mi-wrap > .mi-dock { order: 1; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { order: 2; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { order: 3; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { order: 4; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life] { order: 5; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp] { order: 6; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { order: 7; } #menu.mi-desk .mi-wrap > .mi-empty { order: 8; }
  #menu.mi-desk:not(.mm-in) .mi-bar { background: linear-gradient(180deg, rgba(24,32,54,.94), rgba(24,32,54,.86)) !important; }
}

/* telefon: strona główna — tylko jedna linijka stopki */
@media (max-width: 760px) {
  body.kp-home .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 26px 24px calc(28px + env(safe-area-inset-bottom)) !important; border-top: 1px solid rgba(255,255,255,.06); font-size: 12.5px !important; line-height: 1.5; text-align: center; color: rgba(255,255,255,.45); }
}
/* telefon: ustawienia na dole menu */
@media (max-width: 760px) {
  #menu.mi-on .mm-foot, #menu.mi-on > .kp-big-m, #menu.mi-on > .kp-push-m, #menu.mi-on .kp-big-m, #menu.mi-on .kp-push-m { display: none !important; }
  #menu .mi-set { padding-bottom: 8px !important; }
  #menu .mi-set-row { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 4px; border: 0; border-top: 1px solid rgba(255,255,255,.08); background: none; color: inherit; font: inherit; text-align: left; -webkit-tap-highlight-color: transparent; }
  #menu .mi-set-row:first-of-type { border-top: 0; }
  #menu .mi-set-t { flex: 1; min-width: 0; }
  #menu .mi-set-t b { display: block; font: 600 16px/1.25 var(--sans); color: var(--ink, #fff); }
  #menu .mi-set-t small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.62); }
  #menu .mi-set-lang { flex-direction: column; align-items: stretch; gap: 12px; }
  #menu .mi-flags { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
  #menu .mi-flag { display: grid; justify-items: center; gap: 5px; padding: 10px 2px 8px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.85); text-decoration: none; font: 700 11.5px/1 var(--sans); letter-spacing: .04em; }
  #menu .mi-flag .kp-flag, #menu .mi-flag img, #menu .mi-flag svg { width: 30px !important; height: 20px !important; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.35); margin: 0 !important; }
  #menu .mi-flag.on { background: rgba(255,255,255,.92); border-color: #fff; color: #141A2E; }
  #menu .mi-sw { position: relative; flex: none; width: 51px; height: 31px; border-radius: 999px; background: rgba(120,120,128,.36); transition: background .25s; }
  #menu .mi-sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 27px; height: 27px; border-radius: 50%; background: #fff; box-shadow: 0 3px 8px rgba(0,0,0,.25); transition: transform .25s cubic-bezier(.34,1.4,.64,1); }
  #menu .mi-set-tg.on .mi-sw { background: #34C759; }
  #menu .mi-set-tg.on .mi-sw::after { transform: translateX(20px); }
  html[data-theme=light] #menu .mi-set-t small { color: rgba(20,26,46,.6); }
  html[data-theme=light] #menu .mi-set-row { border-top-color: rgba(10,20,40,.08); }
  html[data-theme=light] #menu .mi-flag { background: rgba(10,20,40,.04); border-color: rgba(10,20,40,.1); color: #1C2236; }
  html[data-theme=light] #menu .mi-flag.on { background: #1C2236; color: #fff; }
}
@media (max-width: 760px) {
  body.kp-home .site-footer .footer-credit, body.kp-home .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.55) !important; }
  html body #menu.mm.mi-on { background-color: rgba(10,16,30,.84) !important; }
}
@media (max-width: 760px) {
  /* strona główna: dolny pasek z 4 najczęściej wybieranymi — bez przewijania, równo rozłożone */
  body.kp-home .dock-wrap > .dock { display: grid !important; grid-template-columns: repeat(4, 1fr); overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
  body.kp-home .dock-wrap > .dock a { min-width: 0 !important; width: auto !important; }
  body.kp-home .dock-wrap .dk-arrow, body.kp-home .dock-wrap .dk-track { display: none !important; }
  body.kp-home .site-footer .footer-credit { padding-bottom: 22px !important; }
  body.kp-home { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
}

/* komunikat powiadomień w menu (np. jak włączyć na iPhonie) */
#menu .mi-set-note { margin: 2px 0 6px; padding: 12px 14px; border-radius: 14px; background: rgba(201,164,90,.14); border: 1px solid rgba(201,164,90,.4); color: #F3E3BF; font-size: 14.5px; line-height: 1.45; }
#menu .mi-set-note[hidden] { display: none; }
/* telefon: nagłówki w menu bez złotych linii nad nimi — czyściej */
@media (max-width: 760px) { #menu .mi-wrap .mi-h::before { display: none !important; content: none !important; } #menu .mi-wrap .mi-h { padding-top: 0 !important; } }

/* komputer: „Pamięć o zmarłych” na całą szerokość, między sakramentami a życiem parafii */
@media (min-width: 761px) { #menu.mi-desk .mi-wrap > .mi-sec[data-cat=dead] { grid-column: 1 / -1; order: 4; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { order: 4; } }
/* ===== asystent „Zapytaj parafię” (rozmowa z bazy odpowiedzi) ===== */
.kp-ask2 { background: linear-gradient(165deg, rgba(22,34,62,.94), rgba(10,18,36,.96)); -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.12); }
.kp-ask2 .kp-ask-h b { display: grid; gap: 1px; line-height: 1.15; }
.kp-ask2 .kp-ask-h b small { font-size: 11.5px; font-weight: 600; color: #7FE0B2; letter-spacing: .01em; }
.kp-ask2 .kp-ask-h b small::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #3DD68C; box-shadow: 0 0 0 3px rgba(61,214,140,.18); vertical-align: 1px; }
.kp-ask2 .kp-ask-m { font-size: 15px; }
.kp-ask2 .kp-ask-m.a { max-width: 92%; }
.kp-ask-go { display: inline-flex; margin-top: 10px; padding: 8px 13px; border-radius: 999px; background: rgba(227,194,122,.16); border: 1px solid rgba(227,194,122,.45); color: #F3DDA5 !important; text-decoration: none !important; font-weight: 700; font-size: 13.5px; }
.kp-ask-go:hover { background: rgba(227,194,122,.26); }
.kp-ask2 .kp-ask-sug { margin: -2px 0 2px; }
.kp-ask2 .kp-ask-sug button { font-size: 13.5px; line-height: 1.3; padding: 9px 13px; transition: background .15s, border-color .15s; }
.kp-ask2 .kp-ask-sug button:hover { background: rgba(227,194,122,.18); border-color: rgba(227,194,122,.7); }
.kp-ask2 .kp-ask-m ul { margin: 6px 0 0; padding-left: 18px; }
@media (max-width: 760px) {
  .kp-ask-fab { width: 46px; height: 46px !important; padding: 0 !important; justify-content: center; border-radius: 50%; }
  .kp-ask-fab span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .kp-ask-fab svg { width: 23px; height: 23px; }
  .kp-ask2 { height: min(82dvh, 680px); }
}

/* ===== asystent po prawej, jako znak parafii z plakietką AI ===== */
.kp-ask-fab { left: auto !important; right: 22px; bottom: 24px; width: 58px; height: 58px !important; padding: 0 !important; gap: 0; justify-content: center; border-radius: 50%; color: #E9CF8E;
  background: radial-gradient(120% 120% at 30% 20%, rgba(70,110,200,.55), rgba(14,24,48,.92) 70%) !important; border: 1px solid rgba(233,207,142,.45) !important; box-shadow: 0 16px 36px -12px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.25) !important; }
.kp-ask-fab .kp-ask-mark { width: 30px; height: 30px; color: #E9CF8E; filter: drop-shadow(0 1px 4px rgba(233,207,142,.35)); }
.kp-ask-fab > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kp-ai-b { position: absolute; top: -5px; right: -7px; padding: 3px 6px 2px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1A1206; font: 800 10.5px/1 var(--sans, system-ui), sans-serif; letter-spacing: .04em; box-shadow: 0 2px 8px rgba(0,0,0,.35); border: 1.5px solid rgba(10,18,36,.9); }
.kp-ask { left: auto !important; right: 22px; }
.kp-ask-ic { position: relative; width: 36px !important; height: 36px !important; border-radius: 50% !important; }
.kp-ask-ic .kp-ask-mark { width: 20px; height: 20px; color: #E9CF8E; }
.kp-ask-ic .kp-ai-b { top: -7px; right: -11px; font-size: 9px; padding: 2px 5px 1px; }
.kp-ask-x { display: grid !important; place-items: center; padding: 0 !important; width: 36px; height: 36px; line-height: 0 !important; font-size: 0 !important; flex: none; }
.kp-ask-x svg { display: block; }
/* przycisk „do góry” nad asystentem, żeby się nie nakładały */
html.kp-has-ask body .pl-up { bottom: 102px; right: 30px; }
@media (max-width: 760px) {
  .kp-ask-fab { right: 14px !important; width: 52px !important; height: 52px !important; bottom: calc(96px + env(safe-area-inset-bottom)); }
  html:not(.kp-has-dock) body .kp-ask-fab { bottom: calc(18px + env(safe-area-inset-bottom)); }
  html.kp-mj-on body .kp-ask-fab { bottom: calc(96px + env(safe-area-inset-bottom)); }
  .kp-ask-fab .kp-ask-mark { width: 27px; height: 27px; }
  .kp-ask { left: 8px !important; right: 8px !important; }
  html.kp-has-ask body .pl-up { right: 21px !important; bottom: calc(160px + env(safe-area-inset-bottom)) !important; }
  html.kp-has-ask body .pl-up { margin-bottom: 8px; }
  html.kp-has-ask:not(.kp-has-dock):not(.kp-mj-on) body .pl-up { bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
}

/* ===== ikonka asystenta: liquid glass + opalizująca plakietka AI ===== */
.kp-ask-fab { isolation: isolate; overflow: visible;
  background: linear-gradient(150deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.14) 100%), rgba(18,32,64,.38) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.9) brightness(1.08); backdrop-filter: blur(18px) saturate(1.9) brightness(1.08);
  border: 1px solid rgba(255,255,255,.42) !important;
  box-shadow: inset 0 1.5px 1px rgba(255,255,255,.75), inset 0 -10px 18px rgba(10,20,45,.35), inset 0 0 0 1px rgba(255,255,255,.06), 0 18px 34px -14px rgba(0,0,0,.65), 0 0 0 6px rgba(233,207,142,.06) !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, opacity .3s; }
.kp-ask-fab::before { content: ""; position: absolute; left: 14%; top: 7%; width: 58%; height: 34%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.55), rgba(255,255,255,0)); filter: blur(1px); pointer-events: none; z-index: 0; }
.kp-ask-fab::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; background: conic-gradient(from 210deg, rgba(142,197,255,.0), rgba(142,197,255,.55), rgba(183,156,255,.5), rgba(255,181,216,.45), rgba(240,207,126,.5), rgba(142,197,255,.0)); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.6px), #000 calc(100% - 1.5px)); mask: radial-gradient(farthest-side, transparent calc(100% - 1.6px), #000 calc(100% - 1.5px)); pointer-events: none; z-index: 0; }
.kp-ask-fab .kp-ask-mark { position: relative; z-index: 1; color: #F0CF7E; filter: drop-shadow(0 1px 1px rgba(0,0,0,.35)) drop-shadow(0 0 8px rgba(240,207,126,.35)); }
@media (hover: hover) { .kp-ask-fab:hover { transform: translateY(-2px) scale(1.04); box-shadow: inset 0 1.5px 1px rgba(255,255,255,.8), inset 0 -10px 18px rgba(10,20,45,.3), 0 22px 40px -14px rgba(0,0,0,.7), 0 0 0 8px rgba(233,207,142,.10) !important; } }
.kp-ai-b { z-index: 2; display: inline-flex; align-items: center; gap: 2px; top: -6px; right: -8px; padding: 3px 6px 3px 5px; border-radius: 999px; color: #fff; font: 800 10px/1 var(--sans, system-ui), sans-serif; letter-spacing: .06em; text-shadow: 0 1px 2px rgba(40,20,90,.45);
  background: linear-gradient(120deg, #6FB3FF 0%, #9C8CFF 38%, #E99BD0 70%, #F5C979 100%); background-size: 180% 100%;
  border: 1px solid rgba(255,255,255,.75); box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 4px 10px -2px rgba(70,60,160,.55); animation: kpAiSheen 6s ease-in-out infinite; }
.kp-ai-b svg { display: block; filter: drop-shadow(0 0 2px rgba(255,255,255,.8)); }
@keyframes kpAiSheen { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
@media (prefers-reduced-motion: reduce) { .kp-ai-b { animation: none; } }
.kp-ask-ic { background: linear-gradient(150deg, rgba(255,255,255,.22), rgba(255,255,255,.04)) !important; border: 1px solid rgba(255,255,255,.3) !important; box-shadow: inset 0 1px 1px rgba(255,255,255,.5); }
.kp-ask-ic .kp-ai-b { padding: 2px 4px 2px 3px; font-size: 8.5px; top: -7px; right: -12px; }
.kp-ask-ic .kp-ai-b svg { width: 6px; height: 6px; }
.kp-ask-fab .kp-ai-b svg, .kp-ask-ic .kp-ai-b svg { width: 7px !important; height: 7px !important; color: #fff; }
.kp-ask-fab .kp-ai-b { top: -4px; right: -10px; font-size: 9.5px; padding: 3px 5px 3px 4px; }
.kp-ask-fab .kp-ask-mark { width: 30px !important; height: 30px !important; }
@media (max-width: 760px) { .kp-ask-fab .kp-ask-mark { width: 27px !important; height: 27px !important; } }
/* plakietka AI i obwódka bez różu: błękit → lazur → złoto (kolory strony) */
.kp-ai-b { background: linear-gradient(120deg, #4E9BFF 0%, #6C7DFF 40%, #3FB8C9 70%, #E2BC62 100%) !important; background-size: 180% 100% !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 4px 10px -2px rgba(30,60,140,.55) !important; }
.kp-ask-fab::after { background: conic-gradient(from 210deg, rgba(110,170,255,0), rgba(110,170,255,.6), rgba(108,125,255,.5), rgba(63,184,201,.45), rgba(240,207,126,.55), rgba(110,170,255,0)) !important; }
/* plakietka AI wyśrodkowana pod znakiem, na dolnej krawędzi kółka */
.kp-ask-fab .kp-ai-b { top: auto !important; right: auto !important; left: 50% !important; bottom: -7px !important; transform: translateX(-50%); }
.kp-ask-fab .kp-ai-b svg { width: 8px !important; height: 8px !important; }
.kp-ask-fab .kp-ai-b { padding: 3px 7px 3px 6px; gap: 3px; }
.kp-ai-b { width: max-content; white-space: nowrap; } .kp-ai-b svg { flex: none; }
/* plakietka AI z powrotem w prawym górnym rogu; napis wyśrodkowany w ramce */
.kp-ask-fab .kp-ai-b { left: auto !important; bottom: auto !important; transform: none; top: -5px !important; right: -9px !important; }
.kp-ai-b { box-sizing: border-box; height: 18px; padding: 1px 6px 0 5px !important; gap: 3px !important; justify-content: center; align-items: center; line-height: 1 !important; letter-spacing: 0 !important; font-size: 10px !important; }
.kp-ask-ic .kp-ai-b { height: 15px; padding: 1px 4px 0 3px !important; font-size: 8.5px !important; }
.kp-ai-b svg { margin-top: -1px; }
.kp-ai-b { padding: .5px 5.3px 0 6px !important; }
.kp-ask-ic .kp-ai-b { padding: .5px 3.4px 0 4px !important; }
/* plakietka AI: jasne, mleczne szkło + napis w gradiencie (błękit → granat → złoto), złota gwiazdka */
.kp-ai-b { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(232,240,255,.86)) !important; -webkit-backdrop-filter: blur(8px) saturate(1.6); backdrop-filter: blur(8px) saturate(1.6);
  border: .5px solid rgba(255,255,255,.95) !important; color: #C9973A; text-shadow: none !important; animation: none !important;
  box-shadow: 0 3px 10px -2px rgba(10,25,70,.55), 0 0 0 .5px rgba(80,110,200,.25), inset 0 -1px 0 rgba(120,150,220,.22) !important; }
.kp-ai-b svg { filter: none !important; color: #D4A13C !important; }
.kp-ai-b i { font-style: normal; font-weight: 850; letter-spacing: .01em; background: linear-gradient(110deg, #2B6BFF 0%, #4B4FD8 45%, #2B6BFF 60%, #B98A2E 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: kpAiText 7s ease-in-out infinite; }
@keyframes kpAiText { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
@media (prefers-reduced-motion: reduce) { .kp-ai-b i { animation: none; } }
/* nagłówek okna asystenta: bez plakietki (podpis „asystent AI” wystarcza) — czysty znak parafii */
.kp-ask-ic .kp-ai-b { display: none !important; }
.kp-ask-ic { width: 40px !important; height: 40px !important; }
.kp-ask-ic .kp-ask-mark { width: 22px !important; height: 22px !important; }

/* komputer: strona główna też tylko pierwszy ekran (Msze) i drugi w bok (Wspólnoty) + stopka; resztę otwiera menu lub link (#msze…) */
@media (min-width: 761px) {
  #tresc > section.apps-sec ~ section:not(.ap-open) { display: none !important; }
  #tresc > section.ap-open { animation: apOpen .35s ease both; }
  .ap-back { display: inline-flex; margin: 22px max(24px, calc((100% - 1180px) / 2)) 0; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
}
/* komputer: strona główna — pod ekranami tylko jedna linijka stopki (jak na telefonie) */
@media (min-width: 761px) {
  body.kp-home .site-footer > *:not(.footer-credit) { display: none !important; }
  body.kp-home .site-footer { padding: 0 !important; border-top: 0 !important; background: transparent !important; }
  body.kp-home .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 22px 24px 26px !important; border-top: 1px solid rgba(255,255,255,.06); font-size: 13px !important; line-height: 1.5; text-align: center; }
  body.kp-home .site-footer .footer-credit, body.kp-home .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.5) !important; }
}
@media (min-width: 761px) { body.kp-home .site-footer .footer-credit { padding: 16px 24px 18px !important; } }
/* ===== menu na komputerze jak na telefonie: bez złotych linii, nagłówki po lewej, ikonki równym rytmem, karty na 6-kolumnowej siatce ===== */
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap .mi-h::before, #menu.mi-desk .mi-wrap .mi-h::after, #menu.mi-desk .mi-sec.mi-dock .mi-h::before { display: none !important; content: none !important; }
  #menu.mi-desk .mi-wrap .mi-h, #menu.mi-desk .mi-sec.mi-dock .mi-h { text-align: left !important; justify-content: flex-start !important; margin: 0 0 16px 8px !important; padding: 0 !important; font: 600 21px/1.15 var(--display) !important; color: #fff !important; letter-spacing: -.01em; }
  #menu.mi-desk .mi-wrap { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 14px !important; }
  #menu.mi-desk .mi-wrap > * { grid-column: 1 / -1; }
  #menu.mi-desk .mi-wrap > .mi-sec { padding: 20px 16px 14px !important; }
  #menu.mi-desk .mi-wrap > .mi-sec.mi-dock { order: 1; width: auto !important; margin: 0 !important; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { grid-column: span 3; order: 2; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { grid-column: span 3; order: 3; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { grid-column: span 4; order: 4; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=dead] { grid-column: span 2; order: 5; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life] { grid-column: span 3; order: 6; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp] { grid-column: span 3; order: 7; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { grid-column: 1 / -1; order: 8; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid, #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fill, 104px) !important; justify-content: start !important; justify-items: center; gap: 16px 4px !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 104px !important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat] { grid-column: 1 / -1 !important; }
}
@media (min-width: 1101px) {
  html #menu.menu-sheet.mi-desk { width: min(1320px, calc(100vw - 48px)) !important; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { grid-column: span 2; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { grid-column: span 4; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid, #menu.mi-desk .mi-sec.mi-dock .mi-grid { grid-template-columns: repeat(auto-fill, 98px) !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 98px !important; }
}
/* komputer: linijka stopki na stronie głównej zawsze widoczna — przyklejona do dołu okna */
@media (min-width: 761px) {
  body.kp-home .site-footer { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 55; }
  body.kp-home .site-footer .footer-credit { padding: 14px 90px 15px !important; background: rgba(9,15,30,.78) !important; -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); border-top: 1px solid rgba(255,255,255,.08) !important; }
  body.kp-home { padding-bottom: 50px !important; }
  body.kp-home .kp-ask-fab { bottom: 64px !important; }
  body.kp-home .pl-up { bottom: 136px !important; }
}
/* ===== KOMPUTER: MEGA-MENU (wariant A) — u góry kafle „na żywo”, pod nimi kolumny tekstowych linków ===== */
@media (min-width: 761px) {
  html #menu.menu-sheet.mi-desk.mi-mega { width: min(1240px, calc(100vw - 48px)) !important; }
  #menu.mi-mega .mi-tabs { display: none !important; }
  #menu.mi-mega .mi-wrap { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 28px !important;
    grid-template-areas: "bar bar bar bar bar" "top top top top top" "day sak wsp know dead" "day sak wsp life cont" "emp emp emp emp emp" "don don don don don"; align-items: start; }
  #menu.mi-mega .mi-wrap > * { order: 0 !important; }
  #menu.mi-mega .mi-wrap > .mi-bar { grid-area: bar !important; margin-bottom: 18px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=top] { grid-area: top !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=day] { grid-area: day !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=sak] { grid-area: sak !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=wsp] { grid-area: wsp !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=know] { grid-area: know !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=life] { grid-area: life !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=dead] { grid-area: dead !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] { grid-area: cont !important; }
  #menu.mi-mega .mi-wrap > .mi-empty { grid-area: emp !important; }
  #menu.mi-mega .mi-wrap > .mi-donate { grid-area: don !important; justify-self: end; margin-top: 18px !important; }
  /* kolumny: bez kart, nagłówek małymi złotymi literami */
  #menu.mi-mega .mi-wrap > .mi-sec { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 22px !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  #menu.mi-mega .mi-wrap > .mi-sec .mi-h { margin: 0 0 8px 10px !important; font: 700 12.5px/1.2 var(--sans) !important; letter-spacing: .13em !important; text-transform: uppercase !important; color: #E9CF8E !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid { display: flex !important; flex-direction: column; gap: 1px !important; grid-template-columns: none !important; }
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a { display: flex !important; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; width: auto !important; min-height: 0 !important; padding: 7px 10px !important; border-radius: 10px !important; grid-template-rows: none !important; text-align: left; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .app-l { order: 1; font: 500 15.5px/1.3 var(--sans) !important; color: rgba(255,255,255,.9) !important; white-space: normal !important; text-align: left !important; max-width: none !important; overflow: visible !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-a:hover .app-l { color: #fff !important; }
  /* ikonki znikają, zostają tylko plakietki (ZAPISY, kropka, godzina) — w jednej linii za napisem */
  #menu.mi-mega .mi-wrap .mi-a .app-ic { order: 2; position: static !important; width: auto !important; height: auto !important; min-width: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; margin: 0 !important; transform: none !important; }
  #menu.mi-mega .mi-wrap .mi-a .app-ic > svg { display: none !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-tag, #menu.mi-mega .mi-wrap .mi-a .mi-badge, #menu.mi-mega .mi-wrap .mi-a .mi-live { position: static !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-tag { padding: 2px 7px !important; font-size: 9.5px !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-badge { width: 8px !important; height: 8px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-tip, #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-sep, #menu.mi-mega .mi-row .mi-sep { display: none !important; }
  #menu.mi-mega .mi-row { display: contents !important; }
  #menu.mi-mega .mi-row > .mi-strip { display: contents !important; }
  /* górny rząd: kafle z informacją na żywo (napis + podpowiedź / stan „na żywo”) */
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock { padding: 0 !important; margin: 0 0 26px !important; border: 0 !important; background: none !important; width: auto !important; max-width: none !important; }
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock .mi-h { display: none !important; }
  #menu.mi-mega .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 12px !important; justify-content: stretch !important; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a { width: auto !important; display: flex !important; flex-direction: column; align-items: flex-start !important; justify-items: start; gap: 4px; padding: 16px 18px 15px !important; border-radius: 18px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.11) !important; text-align: left; min-height: 92px; position: relative; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.12) !important; border-color: rgba(233,207,142,.45) !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { order: 1; font: 600 19px/1.15 var(--display) !important; color: #fff !important; text-align: left !important; white-space: normal !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-ic { order: 0; position: absolute !important; top: 14px; right: 14px; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip { order: 2; display: block !important; position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; max-width: none !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: rgba(255,255,255,.62) !important; font: 400 13px/1.35 var(--sans) !important; white-space: normal !important; text-align: left; pointer-events: none; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip::before, #menu.mi-mega .mi-sec.mi-dock .mi-tip::after { display: none !important; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  #menu.mi-mega .mi-wrap { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-template-areas: "bar bar bar" "top top top" "day sak wsp" "know dead wsp" "life cont wsp" "emp emp emp" "don don don"; }
}
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] .mi-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; flex-direction: unset; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] .mi-grid > a.mi-a { justify-self: stretch; justify-content: flex-start !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { max-width: none !important; white-space: nowrap !important; overflow: visible !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap .mi-grid > a.mi-a[hidden] { display: none !important; }
  /* wyszukiwanie: wyniki od lewej, bez pustych kolumn */
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) { grid-template-areas: none !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-sec { grid-area: auto !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-bar, #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-empty, #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-sec.mi-dock { grid-area: auto !important; grid-column: 1 / -1 !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a[hidden], html body #menu.mi-mega .mi-wrap > .mi-sec.mi-dock .mi-grid > a.mi-a[hidden], html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a[hidden] { display: none !important; }
}
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-dock .mi-grid { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; }
  html body #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-dock .mi-grid > a.mi-a { width: 230px !important; }
}
/* mega-menu: ciaśniej, żeby całość mieściła się na jednym ekranie; dół = jedna linijka (werset + Zamknij) */
@media (min-width: 761px) {
  #menu.mi-mega { padding-top: 18px !important; padding-bottom: 14px !important; }
  #menu.mi-mega .mi-wrap > .mi-bar { margin-bottom: 14px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  #menu.mi-mega .mi-find { padding: 8px 14px !important; }
  #menu.mi-mega .mi-find input { font-size: 19px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock { margin-bottom: 18px !important; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a { min-height: 0 !important; padding: 12px 15px 12px !important; border-radius: 16px !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { font-size: 17px !important; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip { font-size: 12.5px !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important; }
  #menu.mi-mega .mi-wrap > .mi-sec { margin-bottom: 14px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec .mi-h { margin-bottom: 4px !important; }
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a { padding: 4px 10px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .app-l { font-size: 15px !important; }
  /* dół: werset po lewej (jedna linia), Zamknij po prawej, w tym samym pasku */
  #menu.mi-mega .mg-bless { display: flex !important; align-items: center; min-height: 48px; margin: 8px 0 0 !important; padding: 10px 140px 10px 18px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; }
  #menu.mi-mega .menu-close { position: relative; float: right; margin: -42px 8px 0 0 !important; height: 36px !important; min-height: 0 !important; padding: 0 18px !important; border-radius: 999px !important; font-size: 14px !important; z-index: 2; }
  #menu.mi-mega .mi-staff { margin-top: 8px !important; padding-top: 0 !important; border-top: 0 !important; }
}
/* mega-menu: pasek wyszukiwania normalnie w środku okna (bez przyklejania i ciemnego paska) */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-bar, html body #menu.mi-mega.mm-in .mi-wrap > .mi-bar, html body #menu.mi-mega:not(.mm-in) .mi-wrap > .mi-bar { position: static !important; top: auto !important; margin: 0 0 16px !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; border-radius: 0 !important; }
  html body #menu.mi-mega .mi-find { margin: 0 !important; padding: 10px 16px !important; border-radius: 16px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important; }
  html body #menu.mi-mega .mi-find:focus-within { border-color: rgba(233,207,142,.55) !important; background: rgba(255,255,255,.11) !important; }
  html body #menu.mi-mega .mi-find input { font-size: 18px !important; }
  html body #menu.mi-mega .mi-find svg { width: 20px; height: 20px; opacity: .75; }
  #menu.mi-mega { padding-top: 22px !important; }
}
/* ===== przycisk asystenta: prościej i naturalniej — niebieski znak parafii jak w nagłówku, spokojne tło ===== */
.kp-ask-fab { background: rgba(17,27,44,.82) !important; -webkit-backdrop-filter: blur(12px) !important; backdrop-filter: blur(12px) !important; border: 1px solid rgba(156,192,238,.28) !important; box-shadow: 0 8px 22px -8px rgba(0,0,0,.6) !important; }
.kp-ask-fab::before, .kp-ask-fab::after { display: none !important; content: none !important; }
.kp-ask-fab .kp-ask-mark path { fill: #9CC0EE !important; }
.kp-ask-fab .kp-ask-mark { filter: none !important; }
@media (hover: hover) { .kp-ask-fab:hover { transform: translateY(-1px) !important; border-color: rgba(156,192,238,.55) !important; box-shadow: 0 10px 26px -8px rgba(0,0,0,.65) !important; } }
.kp-ai-b { background: #9CC0EE !important; border: 0 !important; box-shadow: 0 2px 6px rgba(0,0,0,.35) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; animation: none !important; }
.kp-ai-b i { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: #10223E !important; animation: none !important; }
.kp-ai-b svg { display: none !important; }
.kp-ask-fab .kp-ai-b { padding: 1px 6px 0 !important; height: 16px; font-size: 9.5px !important; letter-spacing: .02em !important; top: -3px !important; right: -6px !important; }
.kp-ask-ic { background: rgba(156,192,238,.12) !important; border: 1px solid rgba(156,192,238,.3) !important; box-shadow: none !important; }
.kp-ask-ic .kp-ask-mark path { fill: #9CC0EE !important; }
html[data-theme=light] .kp-ask-fab { background: rgba(255,255,255,.9) !important; border-color: rgba(20,72,124,.25) !important; }
html[data-theme=light] .kp-ask-fab .kp-ask-mark path { fill: #14487C !important; }
/* ===== okno asystenta w tym samym spokojnym, niebieskim stylu co przycisk ===== */
.kp-ask2 { background: rgba(17,27,44,.94) !important; -webkit-backdrop-filter: blur(16px) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(156,192,238,.22) !important; box-shadow: 0 24px 60px -18px rgba(0,0,0,.7) !important; }
.kp-ask2 .kp-ask-h { border-bottom-color: rgba(156,192,238,.14) !important; }
.kp-ask2 .kp-ask-h b small { color: rgba(156,192,238,.85) !important; }
.kp-ask2 .kp-ask-h b small::before { background: #9CC0EE !important; box-shadow: none !important; }
.kp-ask2 .kp-ask-clr { border-color: rgba(156,192,238,.25) !important; color: rgba(220,232,250,.8) !important; }
.kp-ask2 .kp-ask-x { background: rgba(156,192,238,.1) !important; }
.kp-ask2 .kp-ask-m.a { background: rgba(156,192,238,.08) !important; border: 1px solid rgba(156,192,238,.14) !important; }
.kp-ask2 .kp-ask-m.u { background: #9CC0EE !important; color: #10223E !important; }
.kp-ask2 .kp-ask-m a { color: #B9D3F4 !important; }
.kp-ask2 .kp-ask-sug button { background: transparent !important; border: 1px solid rgba(156,192,238,.32) !important; color: #E6EEF9 !important; }
.kp-ask2 .kp-ask-sug button:hover { background: rgba(156,192,238,.12) !important; border-color: rgba(156,192,238,.6) !important; }
.kp-ask2 .kp-ask-go { background: rgba(156,192,238,.12) !important; border-color: rgba(156,192,238,.4) !important; color: #CFE0F7 !important; }
.kp-ask2 .kp-ask-f textarea { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(156,192,238,.25) !important; outline: none !important; box-shadow: none !important; }
.kp-ask2 .kp-ask-f textarea:focus, .kp-ask2 .kp-ask-f textarea:focus-visible { border-color: rgba(156,192,238,.7) !important; box-shadow: 0 0 0 3px rgba(156,192,238,.15) !important; outline: none !important; }
.kp-ask2 .kp-ask-f button { background: #9CC0EE !important; color: #10223E !important; }
.kp-ask2 .kp-ask-f button:hover { background: #B4D0F3 !important; }
.kp-ask2 .kp-ask-wait i { background: #9CC0EE !important; }
/* mega-menu: kolumny zwinięte do 4 pozycji + „Więcej” */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-sec.mi-cut:not(.mi-open) .mi-grid > a.mi-a:nth-child(n+5) { display: none !important; }
  #menu.mi-mega .mi-more { display: inline-flex; align-items: center; gap: 7px; margin: 4px 0 0 10px; padding: 4px 0; border: 0; background: none; color: rgba(156,192,238,.9); font: 600 13.5px/1.2 var(--sans); cursor: pointer; }
  #menu.mi-mega .mi-more span { font-weight: 500; color: rgba(156,192,238,.6); }
  #menu.mi-mega .mi-more i { width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s; }
  #menu.mi-mega .mi-sec.mi-open .mi-more i { transform: rotate(-135deg) translate(-2px,-2px); }
  #menu.mi-mega .mi-more:hover { color: #CFE0F7; }
  /* podczas wyszukiwania pokazujemy wszystko */
  html body #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-cut .mi-grid > a.mi-a:not([hidden]) { display: flex !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-more { display: none !important; }
  /* Kontakt: 2 kolumny po 2 rzędy */
  html body #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont].mi-cut:not(.mi-open) .mi-grid > a.mi-a:nth-child(n+5) { display: none !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-sec.mi-open .mi-grid > a.mi-a:nth-child(n+5) { opacity: 1 !important; transform: none !important; animation: kpMoreIn .22s ease both !important; }
  @keyframes kpMoreIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}
/* nagłówek na komputerze: logo i przyciski przy samych krawędziach okna */
@media (min-width: 1025px) {
  html body .site-header > .wrap.header-inner { max-width: none !important; padding-left: 32px !important; padding-right: 32px !important; }
}
/* asystent: przezroczyste koło (tylko delikatne rozmycie tego, co pod spodem) */
html body .kp-ask-fab, html[data-theme=light] body .kp-ask-fab { background: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
html body .kp-ask-fab::before { display: none !important; }

/* ===== mega-menu: zakładki z boku ===== */
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap.mi-tabbed { grid-template-columns: 240px minmax(0, 1fr) !important; gap: 0 24px !important;
    grid-template-areas: "bar bar" "top top" "side pane" "emp emp" "don don" !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-side { grid-area: side; display: flex; flex-direction: column; gap: 2px; padding-right: 18px; border-right: 1px solid rgba(255,255,255,.09); align-self: stretch; }
  #menu.mi-mega .mi-side button { white-space: nowrap; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: none; color: rgba(255,255,255,.72); font: 500 15.5px/1.25 var(--sans); text-align: left; cursor: pointer; transition: background .15s, color .15s; }
  #menu.mi-mega .mi-side button i { width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-top: 1.6px solid currentColor; transform: rotate(45deg); opacity: 0; transition: opacity .15s, transform .15s; flex: none; }
  #menu.mi-mega .mi-side button:hover { background: rgba(255,255,255,.05); color: #fff; }
  #menu.mi-mega .mi-side button.on { background: rgba(255,255,255,.09); color: #fff; font-weight: 600; }
  #menu.mi-mega .mi-side button.on i { opacity: .8; color: #E9CF8E; }
  #menu.mi-mega .mi-side button:focus-visible { outline: 2px solid #E9CF8E; outline-offset: 1px; }
  /* prawa strona: tylko wybrany dział */
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane { grid-area: pane !important; margin: 0 !important; min-height: 100%; }
  #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane:not(.mi-on) { display: none !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-h { display: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px 10px !important; align-content: start; }
  @keyframes kpPaneIn { from { opacity: 0; transform: translateX(6px); } to { opacity: 1; transform: none; } }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid > a.mi-a:not([hidden]) { display: grid !important; grid-template-columns: auto 1fr; grid-template-areas: "l i" "t t"; align-items: center; justify-items: start; justify-self: stretch !important; width: auto !important; margin: 0 !important; text-align: left !important; gap: 3px 8px; padding: 11px 14px !important; border-radius: 12px !important; opacity: 1 !important; transform: none !important; animation: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.07) !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { grid-area: l; justify-self: start; text-align: left !important; font: 600 15.5px/1.3 var(--sans) !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-ic { grid-area: i; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-tip { grid-area: t; display: block !important; position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: rgba(255,255,255,.55) !important; font: 400 13px/1.35 var(--sans) !important; white-space: normal !important; text-align: left; pointer-events: none; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip::before, #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip::after { display: none !important; }
  /* wyszukiwanie: bez zakładek, wyniki jak dotąd */
  #menu.mi-mega .mi-wrap.mi-tabbed:has(.mi-find input:not(:placeholder-shown)) > .mi-side { display: none !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed:has(.mi-find input:not(:placeholder-shown)) { grid-template-areas: none !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  #menu.mi-mega .mi-wrap.mi-tabbed { grid-template-columns: 190px minmax(0, 1fr) !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
html body .kp-ask-fab, html[data-theme=light] body .kp-ask-fab { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* smartfon: podpis w stopce nie chowa się pod przyciskiem asystenta */
@media (max-width: 760px) {
  html body .site-footer .footer-credit, html body.kp-home .site-footer .footer-credit { padding-left: 72px !important; padding-right: 72px !important; }
}
/* ===== podstrony: stopka jak na stronie głównej — tylko „Made with love…” ===== */
body:not(.kp-home) .site-footer > *:not(.footer-credit) { display: none !important; }
body:not(.kp-home) .site-footer { padding: 0 !important; margin-top: 0 !important; border-top: 0 !important; background: transparent !important; min-height: 0 !important; }
body:not(.kp-home) .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 22px 24px 26px !important; border-top: 1px solid rgba(255,255,255,.06) !important; font-size: 13px !important; line-height: 1.5; text-align: center; }
body:not(.kp-home) .site-footer .footer-credit, body:not(.kp-home) .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.5) !important; }
html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit { border-top-color: rgba(0,0,0,.08) !important; }
html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit, html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit * { color: rgba(20,30,50,.55) !important; }
@media (max-width: 760px) { html body:not(.kp-home) .site-footer .footer-credit { padding: 20px 72px calc(24px + env(safe-area-inset-bottom)) !important; } }
/* podstrony: bez pustego miejsca pod stopką i mniejszy odstęp nad nią */
html body:not(.kp-home) { padding-bottom: 0 !important; }
html body:not(.kp-home) main > section:last-child { margin-bottom: 24px !important; }
html body:not(.kp-home) main > :has(+ section:last-child .op-in), html body:not(.kp-home) main > section:not(:has(.op-in)):last-child { padding-bottom: 28px !important; margin-bottom: 0 !important; }
html body:not(.kp-home) main > section:last-child:has(.op-in) { margin-bottom: 28px !important; }
@media (min-width: 761px) { html body:not(.kp-home) main > :has(+ section:last-child .op-in), html body:not(.kp-home) main > section:not(:has(.op-in)):last-child { padding-bottom: 40px !important; } html body:not(.kp-home) main > section:last-child:has(.op-in) { margin-bottom: 36px !important; } }
html body:not(.kp-home) main > :has(+ section:last-child .op-in) > .section-inner, html body:not(.kp-home) main > section:not(:has(.op-in)):last-child > .section-inner { padding-bottom: 0 !important; }
/* ===== ochrona dzieci ===== */
.som .som-help { border-color: rgba(127,196,168,.35) !important; }
.som .som-list { margin: 4px 0 10px; padding-left: 22px; line-height: 1.6; color: var(--ink-2); }
.som .som-list li { margin: 0 0 6px; }
.som .som-people { margin: 0 0 10px; padding-left: 18px; line-height: 1.6; color: var(--ink-2); }
.som .som-people li { margin: 0 0 6px; }
.som .som-note { font-size: 14px; opacity: .8; }
.som .som-h { margin: 44px 0 6px; font-family: var(--display); font-size: clamp(22px, 2.6vw, 30px); }
.som .som-meta { margin: 0 0 16px; color: var(--ink-2); font-size: 14.5px; }
.som .som-acc summary { font-size: 20px !important; }
.som .som-body { padding: 0 0 18px; color: var(--ink-2); line-height: 1.65; }
.som .som-body h3 { margin: 18px 0 6px; font-family: var(--display); font-size: 17px; color: var(--ink); }
.som .som-body ol { padding-left: 26px; margin: 0 0 8px; }
.som .som-body li { margin: 0 0 6px; }
.som .som-body a { overflow-wrap: anywhere; }
/* komputer: przełącznik Msze | Wspólnoty przy prawej krawędzi, w linii z przyciskiem Menu */
@media (min-width: 1025px) { html body .hs > .hs-nav { left: auto !important; right: 32px !important; margin: 0 !important; } }
html body .som .som-list, html body .som .som-body ol { list-style: decimal outside !important; }
html body .som .som-list li, html body .som .som-body ol li { display: list-item !important; }
html body .som .som-list li::marker, html body .som .som-body ol li::marker { color: #E9CF8E; font-weight: 700; }
html body .som .som-people { list-style: disc outside !important; }
html body .som .som-people li { display: list-item !important; }
/* ochrona dzieci: numery w zdaniach i w liście delegatów jako zwykłe linki (bez „pigułek”) */
html body main .som .som-list a[href^="tel:"], html body main .som .som-people a[href^="tel:"], html body main .som .som-body a[href^="tel:"] { display: inline !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: inherit !important; text-decoration: underline !important; font-weight: 600 !important; }
html body main .som .som-list a[href^="tel:"]::before, html body main .som .som-people a[href^="tel:"]::before, html body main .som .som-body a[href^="tel:"]::before { display: none !important; }
.som .sp-grid > * { min-width: 0; }
.som a[href^="mailto:"], .som .som-body a { overflow-wrap: anywhere; word-break: break-word; }
.som .som-people li { margin-bottom: 12px !important; }
/* ===== przełącznik Msze | Wspólnoty — lżej: bez ramki i strzałek, delikatny złoty akcent ===== */
html body #hero-slider .hs-nav { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html body #hero-slider .hs-nav .hs-arrow { display: none !important; }
html body #hero-slider .hs-dots.hs-seg { gap: 2px !important; padding: 3px !important; background: rgba(10,18,34,.32) !important; border: 1px solid rgba(255,255,255,.16) !important; box-shadow: 0 6px 20px -10px rgba(0,0,0,.5) !important; -webkit-backdrop-filter: blur(14px) saturate(1.3) !important; backdrop-filter: blur(14px) saturate(1.3) !important; }
html body #hero-slider .hs-seg .hs-dot { min-height: 30px !important; padding: 0 15px !important; background: transparent !important; color: rgba(255,255,255,.66) !important; font: 500 13.5px/1 var(--sans) !important; letter-spacing: .01em; box-shadow: none !important; transition: background .25s ease, color .25s ease, box-shadow .25s ease; }
html body #hero-slider .hs-seg .hs-dot:hover { color: #fff !important; }
html body #hero-slider .hs-seg .hs-dot.on { background: rgba(233,207,142,.16) !important; color: #F3DDA6 !important; box-shadow: inset 0 0 0 1px rgba(233,207,142,.5) !important; font-weight: 600 !important; }
/* strona główna: pełna nazwa parafii tylko dla wyszukiwarek i czytników ekranu (w nagłówku jest „Parafia Królowej Pokoju”) */
html body .hero-open .hero-name { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
/* smartfon: „Najbliższa Msza” pokazuje zegar poniżej, więc bez osobnego przycisku pod tytułem */
@media (max-width: 640px) {
  html body #hero-slider:has(.hs-dots) .hs-track > .hero-open { padding-top: 58px !important; }
  html body .hero-open .hero-first { margin-top: 8px !important; }
}
/* kontakt: lista ulic zwinięta */
#kontakt .streets-d { margin: 22px 0 6px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
#kontakt .streets-d > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font-weight: 600; font-size: 15.5px; color: var(--ink); }
#kontakt .streets-d > summary::-webkit-details-marker { display: none; }
#kontakt .streets-d > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s; flex: none; opacity: .7; }
#kontakt .streets-d[open] > summary::after { transform: rotate(-135deg); }
#kontakt .streets-d .streets { margin: 0 0 16px !important; }
.office .office-more { margin-top: 10px; }
.office .office-more a { font-weight: 600; }
/* menu: język jako jedna linijka, która rozwija flagi */
#menu details.mi-lang-d { display: block !important; }
#menu details.mi-lang-d > summary { list-style: none; cursor: pointer; display: flex !important; align-items: center; gap: 10px; }
#menu details.mi-lang-d > summary::-webkit-details-marker { display: none; }
#menu details.mi-lang-d > summary b { flex: 1; }
#menu .mi-lang-cur { display: inline-flex; align-items: center; gap: 8px; font: 500 14.5px/1 var(--sans); color: rgba(255,255,255,.72); }
#menu .mi-lang-cur svg, #menu .mi-lang-cur img, #menu .mi-lang-cur .kp-flag { width: 20px !important; height: 14px !important; border-radius: 3px; flex: none; }
#menu details.mi-lang-d > summary > i { width: 8px; height: 8px; border-right: 1.8px solid rgba(255,255,255,.6); border-bottom: 1.8px solid rgba(255,255,255,.6); transform: rotate(-45deg); transition: transform .2s; flex: none; margin-left: 2px; }
#menu details.mi-lang-d[open] > summary > i { transform: rotate(45deg); }
#menu details.mi-lang-d[open] .mi-flags { margin-top: 12px; }
html[data-theme=light] #menu .mi-lang-cur { color: rgba(20,26,46,.7); }
/* komputer: bez ikonki „Kontakt” w nagłówku (kontakt jest w menu) */
html body .site-header .kt-switch { display: none !important; }
/* smartfon: bez strzałki „do góry” — wystarczy stuknąć w górny pasek ekranu */
@media (max-width: 760px) { html body .pl-up { display: none !important; } }
#menu .mi-lang-cur { flex: none !important; white-space: nowrap; }
#menu .mi-lang-cur > :not(span) { width: 22px !important; height: 16px !important; max-width: 22px; overflow: hidden; border-radius: 3px; display: inline-block; }
/* tytuł strony głównej widoczny od pierwszej klatki (szybsze LCP) — samo lekkie uniesienie, bez zanikania */
@keyframes kpRiseT { from { transform: translateY(14px); } }
.hero-open h1 { animation-name: kpRiseT !important; }
/* Komunia: licznik dni ma miejsce od początku, pokazuje się dopiero z aktualną liczbą */
.km-count:not(.km-live) { visibility: hidden; }
/* ===== Pierwszy raz u nas ===== */
.hero-open .hero-first { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(233,207,142,.45); background: rgba(233,207,142,.1); color: #F3DDA6; font: 600 14.5px/1 var(--sans); text-decoration: none; width: max-content; }
.hero-open .hero-first:hover { background: rgba(233,207,142,.18); }
.pr1 .pr1-steps { list-style: none; margin: 8px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr1 .pr1-steps > li { position: relative; padding-top: 58px !important; }
.pr1 .pr1-steps > li:first-child { grid-column: 1 / -1; }
.pr1 .pr1-n { position: absolute; top: 18px; left: 24px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(233,207,142,.14); color: #E9CF8E; font: 700 14px/1 var(--sans); box-shadow: inset 0 0 0 1px rgba(233,207,142,.45); }
.pr1 .pr1-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 4px !important; }
.pr1 .pr1-links a:not(.btn) { font-weight: 600; }
.pr1 .pr1-help { margin-top: 0; }
@media (max-width: 760px) { .pr1 .pr1-steps { grid-template-columns: 1fr; } }
/* ===== Finanse parafii ===== */
.fin .fin-pills { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fin .fin-pills li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 11px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink-2); font: 500 14px/1.2 var(--sans); }
.fin .fin-pills svg { width: 17px; height: 17px; color: #E9CF8E; }
.fin .fin-sheet { position: relative; padding: 26px 28px 24px; border-radius: 24px; border: 1px solid rgba(233,207,142,.28); background: radial-gradient(120% 140% at 0% 0%, rgba(233,207,142,.09), transparent 55%), var(--bg-2); box-shadow: 0 24px 60px -36px rgba(0,0,0,.7); }
.fin .fin-sheet-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.fin .fin-sheet-top h2 { margin: 0; font: 700 clamp(22px, 2.4vw, 28px)/1.1 var(--display); }
.fin .fin-period { padding: 5px 12px; border-radius: 999px; background: rgba(233,207,142,.14); color: #F3DDA6; font: 600 13px/1 var(--sans); box-shadow: inset 0 0 0 1px rgba(233,207,142,.4); }
.fin .fin-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.fin .fin-col h3 { margin: 0 0 12px; font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #E9CF8E; }
.fin .fin-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fin .fin-bars li { display: grid; gap: 6px; }
.fin .fin-bars li span { display: flex; justify-content: space-between; gap: 10px; font: 500 14.5px/1.3 var(--sans); color: var(--ink); }
.fin .fin-bars li span b { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fin .fin-bars li span em { font-style: normal; font-weight: 500; opacity: .55; margin-left: 8px; }
.fin .fin-bars li i { display: block; height: 10px; width: var(--w); border-radius: 999px; background: linear-gradient(90deg, #5FD3A1, #3FB386); transform-origin: left; animation: finGrow .9s cubic-bezier(.2,.7,.1,1) both; }
.fin .fin-bars.fin-out li i { background: linear-gradient(90deg, #9CC0EE, #5E8FD8); }
@keyframes finGrow { from { transform: scaleX(0); } }
.fin .fin-ghost li span { height: 12px; width: 46%; border-radius: 6px; background: rgba(255,255,255,.08); }
.fin .fin-ghost li i { background: rgba(255,255,255,.08) !important; animation: finPulse 2.4s ease-in-out infinite; }
@keyframes finPulse { 50% { opacity: .45; } }
.fin .fin-tot { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--ink-2); font-size: 14.5px; }
.fin .fin-tot b { color: var(--ink); font-variant-numeric: tabular-nums; }
.fin .fin-empty { margin: 20px 0 0; text-align: center; color: var(--ink-2); font-size: 15px; }
.fin .fin-bal { margin: 18px 0 0; padding: 12px 16px; border-radius: 14px; text-align: center; font-size: 15px; color: var(--ink-2); background: rgba(95,211,161,.08); }
.fin .fin-bal.minus { background: rgba(240,140,120,.08); }
.fin .fin-bal b { color: var(--ink); }
.fin .fin-note { margin: 14px 0 0; font-size: 14px; color: var(--ink-2); }
.fin .fin-goal { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; margin: 18px 0; padding: 24px 28px; border-radius: 24px; background: linear-gradient(135deg, rgba(63,127,207,.22), rgba(63,127,207,.06)); border: 1px solid rgba(156,192,238,.28); }
.fin .fin-goal-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(156,192,238,.16); color: #9CC0EE; }
.fin .fin-goal-ic svg { width: 28px; height: 28px; }
.fin .fin-k { margin: 0 0 4px; font: 600 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #9CC0EE; }
.fin .fin-goal h2 { margin: 0 0 8px; font: 700 clamp(20px, 2.2vw, 26px)/1.15 var(--display); }
.fin .fin-goal p { margin: 0 0 10px; color: var(--ink-2); line-height: 1.6; }
.fin .fin-prog { margin: 6px 0 12px; }
.fin .fin-prog-bar { height: 12px; border-radius: 999px; background: rgba(255,255,255,.08); overflow: hidden; }
.fin .fin-prog-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #E9CF8E, #C9A45A); }
.fin .fin-prog-t { margin: 8px 0 0 !important; font-size: 14.5px; }
.fin .fin-goal-a a { font-weight: 600; }
.fin .fin-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fin .fin-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 14px; }
.fin .fin-src { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; }
.fin .fin-src svg { width: 38px; height: 38px; padding: 8px; border-radius: 12px; background: rgba(233,207,142,.1); color: #E9CF8E; }
.fin .fin-src b { display: block; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
.fin .fin-src p { margin: 0 !important; font-size: 14.5px; }
.fin .fin-reports { margin-top: 18px; padding: 20px 24px; border-radius: 20px; border: 1px solid var(--line); background: var(--bg-2); }
.fin .fin-reports h3 { margin: 0 0 8px; font: 700 18px/1.2 var(--display); }
.fin .fin-reports ul { margin: 0; padding-left: 18px; line-height: 1.8; }
.fin .fin-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 24px 28px; border-radius: 24px; background: linear-gradient(135deg, rgba(233,207,142,.16), rgba(233,207,142,.04)); border: 1px solid rgba(233,207,142,.32); }
.fin .fin-cta h2 { margin: 0 0 4px; font: 700 clamp(20px, 2.2vw, 26px)/1.15 var(--display); }
.fin .fin-cta p { margin: 0; color: var(--ink-2); }
.fin .fin-cta .btn { flex: none; }
@media (max-width: 760px) {
  .fin .fin-cols, .fin .fin-two { grid-template-columns: 1fr; gap: 22px; }
  .fin .fin-sheet, .fin .fin-goal, .fin .fin-cta { padding: 20px; border-radius: 20px; }
  .fin .fin-goal { grid-template-columns: 1fr; }
  .fin .fin-cta { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .fin .fin-bars li i, .fin .fin-ghost li i { animation: none; } }
/* kalendarz: wydarzenia z „Dodaj do kalendarza” */
.cal-ics { margin: 4px 0 26px; padding: 18px 20px; border-radius: 20px; border: 1px solid var(--line); background: var(--bg-2); }
.cal-ics-h { margin: 0 0 10px; font: 700 18px/1.2 var(--display); }
.cal-ics ul { list-style: none; margin: 0; padding: 0; }
.cal-ics li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.cal-ics li:first-child { border-top: 0; }
.cal-ics li b { display: block; font-weight: 600; color: var(--ink); }
.cal-ics li span { color: var(--ink-2); font-size: 14px; }
.cal-ics-a { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(156,192,238,.35); color: #9CC0EE; font: 600 13.5px/1 var(--sans); text-decoration: none; }
.cal-ics-a svg { width: 17px; height: 17px; }
.cal-ics-a:hover { background: rgba(156,192,238,.1); }
@media (max-width: 520px) { .cal-ics-a span { display: none; } .cal-ics-a { padding: 8px; } }
/* „Ostatnia aktualizacja” na stronach z informacjami praktycznymi */
.site-footer .kp-upd { display: block; margin: 0 0 6px; font-size: 12px; opacity: .75; }
html[data-ui]:not([data-ui="pl"]) .kp-upd, html:not([lang="pl"]) .kp-upd { display: none !important; }
/* przycisk powitalny: dłuższy napis może zawinąć się na małych ekranach */
html body .hero-open .hero-first { white-space: normal !important; width: fit-content !important; max-width: min(100%, calc(100vw - 40px)) !important; line-height: 1.3 !important; text-align: left; }
html body .hero-open .hero-first span { flex: none; }

/* pierwszy-raz: wybór zaangażowania */
.pr1 .pr1-chips { border: 0; margin: 4px 0 14px; padding: 0; min-width: 0; }
.pr1 .pr1-chips legend { padding: 0; margin: 0 0 10px; font-weight: 700; font-size: 15px; color: var(--ink); }
.pr1 .pr1-chips legend small { display: block; font-weight: 400; font-size: 13.5px; color: var(--ink-2); margin-top: 2px; }
.pr1 .pr1-chips > div { display: flex; flex-wrap: wrap; gap: 8px; }
.pr1 .pr1-chips label { position: relative; cursor: pointer; }
.pr1 .pr1-chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pr1 .pr1-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--line, rgba(255,255,255,.18)); font-size: 14px; line-height: 1.2; color: var(--ink); background: rgba(255,255,255,.03); transition: background .15s, border-color .15s; }
.pr1 .pr1-chips span::before { content: '+'; font-weight: 700; color: #C9A45A; width: 10px; text-align: center; }
.pr1 .pr1-chips label:hover span { border-color: rgba(233,207,142,.55); }
.pr1 .pr1-chips input:checked + span { background: rgba(233,207,142,.16); border-color: #C9A45A; color: #F3DDA6; }
.pr1 .pr1-chips input:checked + span::before { content: '✓'; }
.pr1 .pr1-chips input:focus-visible + span { outline: 2px solid #C9A45A; outline-offset: 2px; }
html[data-theme="light"] .pr1 .pr1-chips input:checked + span { color: #6B4F12; background: #FBF3DF; }
@media (max-width: 640px) { .pr1 .pr1-chips > div { gap: 6px; } .pr1 .pr1-chips span { padding: 6px 11px; font-size: 13.5px; } }

/* asystent: numery telefonów jako wyraźne przyciski */
.kp-ask .kp-ask-note { padding: 4px 14px 12px; }
.kp-ask .kp-ask-note p { margin: 0 0 7px; font-size: 12px; color: rgba(255,255,255,.62); }
.kp-ask .kp-tels { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kp-ask .kp-tel { display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-radius: 14px; background: rgba(233,207,142,.1); border: 1px solid rgba(233,207,142,.38); color: #F3DDA6; text-decoration: none; font-weight: 700; font-size: 14.5px; line-height: 1.15; font-variant-numeric: tabular-nums; min-width: 0; }
.kp-ask .kp-tel:hover, .kp-ask .kp-tel:active { background: rgba(233,207,142,.2); }
.kp-ask .kp-tel svg { width: 18px; height: 18px; flex: none; }
.kp-ask .kp-tel span { display: grid; min-width: 0; white-space: nowrap; }
.kp-ask .kp-tel small { font-size: 10.5px; font-weight: 600; letter-spacing: .03em; color: rgba(255,255,255,.6); text-transform: uppercase; }
.kp-ask-list a[href^="tel:"] { display: inline-block; padding: 1px 9px; border-radius: 999px; background: rgba(233,207,142,.14); border: 1px solid rgba(233,207,142,.4); color: #F3DDA6 !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; }

/* ===== MENU: głęboki granat (paleta: tło #050D1B, panele #0B1E36, kafelki #123457, akcent #277BD3, złoto #D7B878) ===== */
html:not([data-theme=light]) body #menu.mm, html:not([data-theme=light]) body #menu.mm.mi-on {
  --mn-bg: #050D1B; --mn-panel: #0B1E36; --mn-tile: #123457; --mn-acc: #277BD3; --mn-gold: #D7B878;
  background-color: rgba(5,13,27,.9) !important;
  background-image:
    radial-gradient(55% 40% at 12% 0%, rgba(39,123,211,.18), transparent 70%),
    radial-gradient(45% 35% at 92% 100%, rgba(39,123,211,.10), transparent 70%),
    linear-gradient(180deg, rgba(11,30,54,.96), rgba(5,13,27,.97)) !important;
  border-color: rgba(120,165,225,.16) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 40px 90px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(5,13,27,.6) !important;
}
/* wyszukiwarka */
html:not([data-theme=light]) body #menu.mm .mi-find { background: rgba(5,13,27,.55) !important; border-color: rgba(120,165,225,.22) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important; }
html:not([data-theme=light]) body #menu.mm .mi-find:focus-within { border-color: var(--mn-acc) !important; box-shadow: 0 0 0 3px rgba(39,123,211,.22) !important; }

/* komputer: górne kafelki */
@media (min-width: 761px) {
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a {
    background: linear-gradient(180deg, rgba(18,52,87,.78), rgba(11,30,54,.82)) !important;
    border: 1px solid rgba(120,165,225,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px -14px rgba(0,0,0,.7) !important;
  }
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a:hover, html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a:focus-visible {
    border-color: rgba(39,123,211,.55) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(39,123,211,.25), 0 14px 32px -12px rgba(39,123,211,.35) !important;
  }
  /* „Msze” — najważniejszy kafelek, delikatnie wyróżniony złotem */
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a[href*="msze"]:not([href*="zamow"]) {
    background: linear-gradient(180deg, rgba(215,184,120,.16), rgba(18,52,87,.8) 70%) !important;
    border-color: rgba(215,184,120,.5) !important;
  }
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a[href*="msze"]:not([href*="zamow"]) .app-l { color: #F3DDA6 !important; }
  /* opisy pod nazwami: większe i jaśniejsze (czytelność dla starszych) */
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-tip { color: rgba(214,226,244,.78) !important; font-size: 13px !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-tip { color: rgba(214,226,244,.78) !important; font-size: 14px !important; line-height: 1.4 !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { font-size: 16px !important; }
  /* zakładki po lewej */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-side { border-right-color: rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button { color: rgba(220,230,245,.82) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button:hover { background: rgba(39,123,211,.08) !important; color: #fff !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button.on { background: linear-gradient(90deg, rgba(39,123,211,.24), rgba(39,123,211,.08)) !important; color: #fff !important; box-shadow: inset 3px 0 0 var(--mn-acc), inset 0 0 0 1px rgba(39,123,211,.22) !important; }
  /* pozycje w zakładce: kafelek z cienkim obramowaniem przy najechaniu */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a { border: 1px solid transparent !important; border-radius: 14px !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover, html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:focus-visible { background: rgba(18,52,87,.55) !important; border-color: rgba(120,165,225,.2) !important; }
  /* mało pozycji (do 6) → dwie kolumny, bez pustki po prawej */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid:not(:has(> a.mi-a:not([hidden]):nth-of-type(7))) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 760px; }
  /* cytat i linki dla posługujących */
  html:not([data-theme=light]) body #menu.mi-mega .mm-foot, html:not([data-theme=light]) body #menu.mi-mega .mi-verse { border-color: rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-staff { font-size: 13px !important; color: rgba(214,226,244,.62) !important; margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid rgba(120,165,225,.1); }
  html:not([data-theme=light]) body #menu.mi-mega .mi-staff a { color: rgba(214,226,244,.85) !important; }
}
/* telefon: sekcje z ikonkami jako granatowe panele */
@media (max-width: 760px) {
  html:not([data-theme=light]) body #menu.mm, html:not([data-theme=light]) body #menu.mm.mi-on {
    background-image:
      radial-gradient(70% 22% at 10% 2%, rgba(39,123,211,.22), transparent 70%),
      radial-gradient(60% 20% at 95% 40%, rgba(39,123,211,.08), transparent 70%),
      linear-gradient(180deg, #0B1E36, #050D1B 55%) !important;
    background-color: #050D1B !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec:not(.mi-set) {
    background: linear-gradient(180deg, rgba(18,52,87,.62), rgba(11,30,54,.66)) !important;
    border: 1px solid rgba(120,165,225,.15) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -22px rgba(0,0,0,.8) !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec.mi-dock {
    background: linear-gradient(180deg, rgba(215,184,120,.12), rgba(18,52,87,.62) 55%, rgba(11,30,54,.66)) !important;
    border-color: rgba(215,184,120,.32) !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec.mi-set { background: rgba(11,30,54,.6) !important; border: 1px solid rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mm .mm-top { background: rgba(5,13,27,.82) !important; }
  html:not([data-theme=light]) body #menu.mm .mi-sec::before { opacity: .45 !important; }
  html:not([data-theme=light]) body #menu.mm .mi-sec { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
/* sakramenty: pogrzeb osobno (nie jest sakramentem) */
.acc-extra { margin-top: 34px; }
.acc-extra .acc-extra-h { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--brass, #C9A45A); }
.acc > .acc-extra { border: 0 !important; }
.acc > .acc-extra > .acc > details:first-child { border-top: 1px solid var(--line); }
.acc > details:has(+ .acc-extra) { border-bottom: 1px solid var(--line); }
/* podstrona Pogrzeb */
#pogrzeb-page .pg-body p { margin: 0 0 12px; } #pogrzeb-page .pg-body p:last-child { margin-bottom: 0; }
#pogrzeb-page .pg-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 6px 0 8px; }
#pogrzeb-page .pg-links a:not(.btn) { font-weight: 600; }
#pogrzeb-page .sp-sub { margin-top: 30px; }
/* menu na komputerze: kolorowe ikonki obok pozycji w zakładkach (te same co na telefonie), dopracowane jak ikony aplikacji */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid > a.mi-a:not([hidden]) { grid-template-columns: 44px minmax(0, 1fr) !important; grid-template-areas: "i l" "i t" !important; column-gap: 15px !important; align-items: center !important; padding-top: 11px !important; padding-bottom: 11px !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic { grid-area: i !important; align-self: center; width: 44px !important; height: 44px !important; min-width: 44px !important; display: block !important; position: relative !important; border-radius: 13px !important; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, filter .25s ease !important; box-shadow: 0 1px 1px rgba(0,0,0,.25), 0 8px 18px -6px rgba(0,0,0,.65) !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg { display: block !important; width: 44px !important; height: 44px !important; border-radius: 13px; }
  /* cienki jasny pierścień i połysk u góry — jak ikony w iOS */
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic::after { content: ""; position: absolute; inset: 0; border-radius: 13px; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.35); background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 46%); display: block !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover > .app-ic, html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:focus-visible > .app-ic { transform: translateY(-2px) scale(1.06); box-shadow: 0 1px 1px rgba(0,0,0,.2), 0 14px 26px -8px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06) !important; filter: saturate(1.12) brightness(1.06); }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:active > .app-ic { transform: scale(.97); }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic .mi-badge { display: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { align-self: end; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip { align-self: start; }
}
@media (min-width: 761px) and (prefers-reduced-motion: reduce) { html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic { transition: none !important; } }
@media (min-width: 761px) {
  /* drobny tekst w ikonie (np. godziny kancelarii) jest za mały w rozmiarze 44 px */
  html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg text[font-size="7"], html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > b, html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic .mi-hours { display: none !important; }
  /* znaczek „ZAPISY” przy nazwie zamiast pod ikoną */
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .mi-tag { grid-area: l; justify-self: end; align-self: end; position: static !important; margin: 0 0 2px !important; }
}
@media (min-width: 761px) { html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg text[textLength], html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg rect[y="39"][width="48"] { display: none !important; } }

/* Zamów Mszę — niedziele, święta i uroczystości na czerwono */
.slotpick-day.sp-sun,.slotpick-day.sp-feast{--sp-red:#FF6B6B;position:relative;background:linear-gradient(90deg,color-mix(in srgb,var(--sp-red) 9%,transparent),transparent 60%)}
.slotpick-day.sp-sun::before,.slotpick-day.sp-feast::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--sp-red)}
.slotpick-day.sp-sun .spw,.slotpick-day.sp-feast .spw,.slotpick-day.sp-sun .spd,.slotpick-day.sp-feast .spd{color:var(--sp-red)}
.slotpick-day .spf{display:block;margin-top:3px;font-size:12.5px;line-height:1.3;font-weight:600;color:var(--sp-red,#FF6B6B);max-width:220px}
html[data-theme=light] .slotpick-day.sp-sun,html[data-theme=light] .slotpick-day.sp-feast{--sp-red:#C62828}
@media (prefers-color-scheme:light){html:not([data-theme]) .slotpick-day.sp-sun,html:not([data-theme]) .slotpick-day.sp-feast{--sp-red:#C62828}}
.slotpick-day .spf.spf-m{color:var(--ink-2);font-weight:500}

/* Facebook, Instagram, WhatsApp — lewy dolny róg (asystent jest po prawej) */
.kp-soc { position: fixed; left: 24px; bottom: 64px; z-index: 59; display: flex; flex-direction: column; gap: 10px; transition: opacity .25s, transform .25s; }
.kp-soc a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 6px 16px -6px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.18); transition: transform .15s; }
.kp-soc a:hover, .kp-soc a:focus-visible { transform: translateY(-2px) scale(1.06); }
.kp-soc a:focus-visible { outline: 2px solid #E3C27A; outline-offset: 2px; }
.kp-soc svg { width: 22px; height: 22px; }
.kp-soc-fb { background: #1877F2; }
.kp-soc-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.kp-soc-wa { background: #25D366; }
html:has(#menu:popover-open) .kp-soc, html:has(.kp-ask-fab.on) .kp-soc, html:has(.kp-ask.on) .kp-soc, .kp-soc.kp-soc-off { opacity: 0; pointer-events: none; transform: translateY(10px); }
@media (max-width: 760px) {
  .kp-soc { left: 14px; flex-direction: row; gap: 8px; bottom: calc(27px + env(safe-area-inset-bottom)); }
  html.kp-has-dock .kp-soc { bottom: calc(105px + env(safe-area-inset-bottom)); }
  .kp-soc a { width: 34px; height: 34px; }
  .kp-soc svg { width: 19px; height: 19px; }
}
@media print { .kp-soc { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .kp-soc, .kp-soc a { transition: none; } }

/* ===== poprawki po ocenie wersji mobilnej ===== */
/* 1. najbliższa Msza tuż pod hasłem — mała, spokojna linijka */
@media (max-width: 760px) {
  html body .hero-open .hero-next:not([hidden]) { display: inline-flex !important; gap: 8px; margin: 4px 0 6px; padding: 7px 13px 7px 11px; font-size: 14px; font-weight: 600; line-height: 1.25; border-radius: 999px; }
  html body .hero-open .hero-next i { width: 7px; height: 7px; box-shadow: 0 0 0 3px rgba(227,194,122,.25); }
}
/* 2. telefon: ikonki społecznościowe tylko w menu i stopce; asystent dopiero po przewinięciu pierwszego ekranu strony głównej */
@media (max-width: 760px) {
  .kp-soc { display: none !important; }
}
/* 3. „3 wolne” zamiast czerwonej cyfry */
.mi-live-free { top: -9px; left: 50%; transform: translateX(-50%); padding: 1px 7px; border-radius: 999px; background: #CDEBD8; color: #0F4A2C; font: 800 9px/1.35 var(--sans); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.3); }
#menu.mi-mega .mi-wrap .mi-a .mi-live-free { padding: 2px 7px !important; font-size: 9.5px !important; }
/* 4. strzałka przy przewijanym rzędzie (Sakramenty, Wspólnoty) */
.mi-next { display: none; }
#menu .mi-row.mi-more .mi-next { display: grid; place-items: center; position: absolute; right: -4px; top: 36px; z-index: 4; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: rgba(39,123,211,.9); color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.45); cursor: pointer; animation: mi-nudge 2.4s ease-in-out 1s 2; }
#menu .mi-next svg { width: 16px; height: 16px; }
@keyframes mi-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
#menu.mi-mega .mi-next { display: none !important; }
@media (prefers-reduced-motion: reduce) { #menu .mi-next { animation: none; } }
/* 5. menu na telefonie odrobinę gęstsze */
@media (max-width: 760px) {
  html body #menu .mi-wrap > .mi-sec { margin-bottom: 26px !important; }
  html body #menu .mi-wrap > .mi-sec.mi-dock { margin-bottom: 26px !important; padding-top: 16px !important; }
  html body #menu .mi-wrap > .mi-sec .mi-h { margin-bottom: 12px !important; }
  html body #menu .mi-sec .mi-row { margin-top: 18px !important; padding-top: 16px !important; }
  html body #menu .mi-sec .mi-grid { row-gap: 10px !important; }
}

/* godziny otwarcia kościoła pod opisem w hero */
.hero-open .hero-open-inner { grid-template-areas: "name live" "title live" "note live" "hours live" "cue live"; }
.hero-open .hero-hours { grid-area: hours; margin: -4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 15px; font-weight: 600; color: var(--on-field, #fff); }
.hero-open .hero-hours[hidden] { display: none; }
.hero-open .hero-hours small { flex-basis: 100%; font-size: 13px; font-weight: 400; color: var(--on-field-2, rgba(255,255,255,.7)); }
.hero-open .hh-now { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: rgba(255,255,255,.1); color: rgba(255,255,255,.75); }
.hero-open .hh-now::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #9AA5B8; }
.hero-open .hh-now.on { background: rgba(47,179,107,.18); color: #8FE0B0; } .hero-open .hh-now.on::before { background: #2FB36B; }
@media (max-width: 900px) { .hero-open .hero-open-inner { grid-template-areas: "name" "title" "note" "hours" "cue" "live"; } }
@media (max-width: 760px) { .hero-open .hero-open-inner { grid-template-areas: "name" "title" "next" "note" "hours" "cue" "live"; } .hero-open .hero-hours { font-size: 14.5px; } }

/* kalendarz — staranniejsze łamanie tekstu */
.cal-item .cal-badge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.cal-item .cal-evtitle2, .cal-item .cal-note, .cal-item .cal-l2, .cal-item .cal-who { text-wrap: pretty; overflow-wrap: break-word; hyphens: manual; }
.cal-item .cal-main { min-width: 0; }
@media (max-width: 560px) { #calendar-all .cal-item .int-tag { display: table; margin: 0 0 5px; } }
/* kalendarz na telefonie: węższa kolumna godzin (zakres łamie się po myślniku), więcej miejsca na treść */
@media (max-width: 560px) {
  #calendar-all .cal-day { padding-left: 15px !important; padding-right: 15px !important; }
  #calendar-all .cal-item:not(.cal-nowline) { grid-template-columns: 50px minmax(0, 1fr) !important; column-gap: 12px !important; }
  #calendar-all .cal-item .cal-time { white-space: normal !important; line-height: 1.3; overflow-wrap: normal; }
}
/* „Intencja” jako cichy podpis nad treścią, a nie druga plakietka obok „Msza Święta” */
.int-tag, #calendar-all .int-tag, #home-calendar .int-tag { display: block !important; margin: 6px 0 2px !important; padding: 0 !important; border: 0 !important; background: none !important; color: rgba(226,200,135,.72) !important; font-size: 10.5px !important; font-weight: 700; letter-spacing: .12em; line-height: 1.4; }
/* intencja: cienka złota kreska z lewej i mały podpis „INTENCJA” nad treścią */
#calendar-all .cal-l1:has(.int-tag), #home-calendar .hl1:has(.int-tag) { display: block; margin-top: 8px; padding: 1px 0 1px 12px; border-left: 2px solid rgba(226,200,135,.55); }
#calendar-all .int-tag, #home-calendar .int-tag { margin: 0 0 1px !important; }
/* godziny w jednym wierszu: bez zera na początku, koniec zakresu lżejszy */
#calendar-all .cal-time .ct-e { font-weight: 600; opacity: .62; }
@media (max-width: 560px) {
  #calendar-all .cal-item:not(.cal-nowline) { grid-template-columns: 78px minmax(0, 1fr) !important; column-gap: 10px !important; }
  #calendar-all .cal-item .cal-time { white-space: nowrap !important; font-size: 13px !important; letter-spacing: -.01em; }
}
/* zielona kropka przy pierwszym wierszu „Kościół jest otwarty…”, nie na środku akapitu */
.hero-open-note { align-items: flex-start !important; }
.hero-open-note .dot { margin-top: calc(.7em - 5px); }
/* przycisk asystenta (AI) widoczny od początku, także na górze strony głównej */
html.kp-top .kp-ask-fab { opacity: 1 !important; pointer-events: auto !important; transform: none !important; }
/* gdy pokazujemy „Otwarty teraz”, kropka jest tylko tam (bez drugiej przy akapicie) */
.hero-open-inner:has(.hero-hours:not([hidden])) .hero-open-note .dot { display: none; }
/* kalendarz: zielona kropka „trwa teraz” w tym samym wierszu, tuż przed plakietką */
#calendar-all .cal-bcol .cal-live, #calendar-all .cal-l1 .cal-live { display: inline-block; vertical-align: middle; margin: 0 9px 0 2px; position: relative; top: -1px; }
/* strona główna: bez paska „Otwarty teraz / godziny otwarcia” (na prośbę) — kropka wraca przy akapicie */
.hero-open .hero-hours { display: none !important; }
.hero-open-inner:has(.hero-hours:not([hidden])) .hero-open-note .dot { display: block; }
/* Taizé: najczęstsze pytania */
.tz-main .tz-note, .tz-note { padding: 14px 18px; border-radius: 16px; background: color-mix(in srgb, var(--tz) 10%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 30%, var(--line)); font-size: 16px; line-height: 1.55 !important; font-size: 16px !important; color: var(--ink-2); }
.tz-note b { color: var(--ink); }
.tz-faq { display: grid; gap: 8px; margin: 14px 0 26px; }
.tz-faq details { border-radius: 16px; border: 1px solid color-mix(in srgb, var(--tz) 24%, var(--line)); background: var(--bg); overflow: hidden; }
.tz-faq summary { list-style: none; cursor: pointer; padding: 15px 48px 15px 18px; position: relative; font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--ink); text-wrap: pretty; }
.tz-faq summary::-webkit-details-marker { display: none; }
.tz-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 17px; font-weight: 700; color: var(--tz); background: color-mix(in srgb, var(--tz) 14%, transparent); transition: transform .2s; }
.tz-faq details[open] summary::after { content: "−"; }
.tz-main .tz-faq details p, .tz-faq details p { margin: 0; padding: 0 18px 16px; font-size: 16px; line-height: 1.6; color: var(--ink-2); text-wrap: pretty; }
/* Msze: najbliższe terminy spowiedzi */
.sp-next { list-style: none; margin: 4px 0 10px; padding: 0; display: grid; gap: 6px; }
.sp-next li { font-size: 16px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.sp-next li b { display: inline-block; min-width: 82px; font-weight: 700; color: var(--brand, #14487C); }
.sp-next li small { display: block; padding-left: 86px; font-size: 13px; color: var(--ink-2); }
/* czytelność dla starszych: najmniejsze napisy co najmniej 12 px */
.hs-new, .kk-new, .pres-tag, .pg-lab, .cal-today-tag, .kicker, .tl-badge, .tl-when, .kk-wrap .who, .who.kk-wrap-pad, #calendar-all .who { font-size: 12px !important; }
.cal-item .cal-badge, .cal-badge { font-size: 12px !important; }
.dock .dk-lb, .dk-lb { font-size: 11.5px !important; }
.en-badge { font-size: 10.5px !important; }
.hs-cards small, .hs-cards span:not([class]) { font-size: 12px; }
/*! © 2026 Krzysztof Górski. Wszelkie prawa zastrzeżone. */
/* Smukłość i płynność: miękkie przejścia między stronami, smuklejszy nagłówek przy przewijaniu,
   łagodne pojawianie się sekcji, spokojniejsze łamanie tekstu, cienki pasek przewijania */

/* przejścia między podstronami (Chrome, Edge, Safari 18+): nagłówek i dolny pasek stoją, treść łagodnie się przenika */
@view-transition { navigation: auto; types: strona; }
html:active-view-transition-type(strona) .site-header { view-transition-name: naglowek; }
html:active-view-transition-type(strona) .dock-wrap { view-transition-name: pasek; }
html:active-view-transition-type(strona)::view-transition-old(root) { animation: vt-out .16s ease-in both; }
html:active-view-transition-type(strona)::view-transition-new(root) { animation: vt-in .32s cubic-bezier(.2,.7,.2,1) both; }
html:active-view-transition-type(strona)::view-transition-group(naglowek),
html:active-view-transition-type(strona)::view-transition-group(pasek) { animation-duration: .25s; }
@keyframes vt-out { to { opacity: 0; } }
@keyframes vt-in { from { opacity: 0; transform: translateY(8px); } }
/* zwykłe przejście: stara strona lekko się oddala, nowa łagodnie „podpływa” (jak w iOS) */
html:active-view-transition-type(strona)::view-transition-old(root) { animation: vt-out2 .22s cubic-bezier(.4,0,1,1) both; transform-origin: 50% 40%; }
html:active-view-transition-type(strona)::view-transition-new(root) { animation: vt-in2 .38s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 40%; }
@keyframes vt-out2 { to { opacity: 0; transform: scale(.975); } }
@keyframes vt-in2 { from { opacity: 0; transform: scale(1.015); } }
/* otwieranie z kafelka: kafelek rośnie do pełnego ekranu, potem odsłania nową stronę */
html:active-view-transition-type(kafel)::view-transition-group(kafel) { animation-duration: .46s; animation-timing-function: cubic-bezier(.22,.9,.24,1); z-index: 10; }
html:active-view-transition-type(kafel)::view-transition-image-pair(kafel) { border-radius: 22px; overflow: hidden; animation: vt-rad .46s cubic-bezier(.22,.9,.24,1) both; }
html:active-view-transition-type(kafel)::view-transition-old(kafel) { animation: vt-k-old .46s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(kafel)::view-transition-new(kafel) { animation: vt-k-new .62s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(kafel)::view-transition-old(root) { animation: vt-k-root .4s cubic-bezier(.4,0,.6,1) both; transform-origin: 50% 50%; }
html:active-view-transition-type(kafel)::view-transition-new(root) { animation: vt-k-nroot .62s linear both; }
@keyframes vt-k-nroot { 0%, 50% { opacity: 0; } 100% { opacity: 1; } }
@keyframes vt-rad { from { border-radius: 22px; } to { border-radius: 0; } }
@keyframes vt-k-old { 0% { opacity: 1; } 40% { opacity: 0; } 100% { opacity: 0; } }
@keyframes vt-k-new { 0% { opacity: 0; } 30% { opacity: 1; } 70% { opacity: 1; } 100% { opacity: 0; } }
@keyframes vt-k-root { to { opacity: .35; transform: scale(.94); filter: blur(2px); } }
/* zamykanie (powrót): strona kurczy się z powrotem do kafelka */
html:active-view-transition-type(zamknij)::view-transition-group(kafel) { animation-duration: .42s; animation-timing-function: cubic-bezier(.3,.7,.2,1); z-index: 10; }
html:active-view-transition-type(zamknij)::view-transition-image-pair(kafel) { overflow: hidden; animation: vt-rad2 .42s cubic-bezier(.3,.7,.2,1) both; }
html:active-view-transition-type(zamknij)::view-transition-old(kafel) { animation: vt-z-old .42s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(zamknij)::view-transition-new(kafel) { animation: vt-z-new .42s ease both; width: 100%; height: 100%; object-fit: cover; }
html:active-view-transition-type(zamknij)::view-transition-old(root) { animation: vt-out .18s ease-in both; }
html:active-view-transition-type(zamknij)::view-transition-new(root) { animation: vt-z-root .42s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 50%; }
@keyframes vt-rad2 { from { border-radius: 0; } to { border-radius: 22px; } }
@keyframes vt-z-old { 0% { opacity: 0; } 20% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; } }
@keyframes vt-z-new { 0% { opacity: 0; } 60% { opacity: 0; } 100% { opacity: 1; } }
@keyframes vt-z-root { from { opacity: .4; transform: scale(.95); filter: blur(2px); } }
html:active-view-transition-type(zamknij0)::view-transition-group(kafel), html:active-view-transition-type(zamknij0)::view-transition-old(kafel) { animation: none; opacity: 0; }
html:active-view-transition-type(zamknij0)::view-transition-old(root) { animation: vt-out .18s ease-in both; }
html:active-view-transition-type(zamknij0)::view-transition-new(root) { animation: vt-z-root .42s cubic-bezier(.2,.8,.2,1) both; transform-origin: 50% 50%; }
#vt-panel { display: block; }

/* smuklejszy nagłówek po przewinięciu */
.site-header .header-inner { transition: min-height .35s cubic-bezier(.2,.7,.2,1); }
html.pl-sc .site-header .header-inner { min-height: 58px; }
html.pl-sc .site-header { -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }
@media (max-width: 760px) { html.pl-sc .site-header .header-inner { min-height: 54px; } }

/* tekst: nagłówki równo łamane, akapity bez sierotek na końcu */
h1, h2, h3, .section-head p, .sp-lead, .km-lead { text-wrap: balance; }
p, li, figcaption { text-wrap: pretty; }

/* miękkie reakcje na najechanie i dotknięcie */
:where(a, button, summary, .btn, [role="button"]) { transition-property: color, background-color, border-color, box-shadow, opacity, transform; transition-duration: .2s; transition-timing-function: cubic-bezier(.2,.7,.2,1); -webkit-tap-highlight-color: transparent; }
:where(.btn, button):active { transform: scale(.98); }
:where(a, button, summary, input, select, textarea):focus-visible { outline-offset: 3px; }

/* łagodne pojawianie się treści przy przewijaniu */
.pl-rv { opacity: .01; transform: translateY(12px); }
.pl-rv.pl-in { opacity: 1; transform: none; transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); transition-delay: var(--pl-d, 0ms); }

/* cienki, dyskretny pasek przewijania */
html { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--brass-dot, #C9A45A) 55%, transparent) transparent; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--brass-dot, #C9A45A) 50%, transparent); border-radius: 9px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* zdjęcia: łagodne pojawianie się po wczytaniu */
img[loading="lazy"] { transition: opacity .5s ease; }

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .pl-rv { opacity: 1 !important; transform: none !important; }
  .site-header .header-inner { transition: none; }
}

/* ── wypukłość: wybrane elementy lekko uniesione nad tłem (światło z góry, miękki cień pod spodem) ── */
:root {
  --lift-edge: inset 0 1px 0 rgba(255,255,255,.07);
  --lift-sh: 0 1px 2px rgba(0,0,0,.28), 0 10px 26px -10px rgba(0,0,0,.55);
  --lift-sh-hi: 0 2px 4px rgba(0,0,0,.3), 0 20px 40px -14px rgba(0,0,0,.65);
  --lift-glow: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 55%);
}
html[data-theme=light] {
  --lift-edge: inset 0 1px 0 rgba(255,255,255,.35);
  --lift-sh: 0 1px 2px rgba(17,27,44,.06), 0 12px 28px -14px rgba(17,27,44,.22);
  --lift-sh-hi: 0 2px 4px rgba(17,27,44,.07), 0 22px 40px -16px rgba(17,27,44,.3);
  --lift-glow: none;
}
@media (prefers-color-scheme: light) {
  html:not([data-theme]) {
    --lift-edge: inset 0 1px 0 rgba(255,255,255,.35);
    --lift-sh: 0 1px 2px rgba(17,27,44,.06), 0 12px 28px -14px rgba(17,27,44,.22);
    --lift-sh-hi: 0 2px 4px rgba(17,27,44,.07), 0 22px 40px -16px rgba(17,27,44,.3);
    --lift-glow: none;
  }
}

/* karty informacyjne */
html .tile, html .office, html .inv-card, html #pomoc .hl-grid a, 
html .sp .sp-card, html .sp .sp-steps li, html .sp .sp-date, html .sp .sp-form-wrap, html .sp .sp-ncard, html .sp .sp-gcard, 
html .km-card, html .km-day, html .km-wabox, html .km-form-wrap, html .kf-cta, html .parish-check, html .wa {
  background-image: var(--lift-glow);
  box-shadow: var(--lift-edge), var(--lift-sh);
}
html .tile-next { box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 2px 4px rgba(0,0,0,.25), 0 18px 36px -14px color-mix(in srgb, var(--field, #1B3A6B) 85%, #000); }

/* klikalne karty: przy najechaniu unoszą się wyżej */
html #pomoc .hl-grid a, html .sp .sp-ncard, html .sp .sp-gcard, html .inv-card {
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s cubic-bezier(.2,.7,.2,1), border-color .2s;
}
@media (hover: hover) {
  html #pomoc .hl-grid a:hover, html .sp .sp-ncard:hover, html .sp .sp-gcard:hover { transform: translateY(-3px); box-shadow: var(--lift-edge), var(--lift-sh-hi); }
}
html #pomoc .hl-grid a:active, html .sp .sp-ncard:active, html .sp .sp-gcard:active { transform: translateY(0); box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.2); }

/* przyciski główne: lekko wypukłe, przy wciśnięciu „wchodzą” w stronę */
html .btn-primary {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -2px 0 rgba(0,0,0,.18), 0 2px 3px rgba(0,0,0,.2), 0 10px 22px -10px rgba(0,0,0,.55);
}
@media (hover: hover) { .btn-primary:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 -2px 0 rgba(0,0,0,.18), 0 3px 5px rgba(0,0,0,.22), 0 16px 28px -12px rgba(0,0,0,.6); } }
html .btn-primary:active { transform: translateY(1px) scale(.99); box-shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 1px rgba(0,0,0,.15); }
html .btn-secondary { box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.15); }

/* wybór szkoły i dni w kalendarzu */
html .km-chip { box-shadow: var(--lift-edge), 0 1px 2px rgba(0,0,0,.18); }
html .km-chip[aria-pressed=true], html .km-chip.on { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 6px 14px -6px rgba(0,0,0,.5); }
html .cal-day.today, html .cal-day.is-today, html .home-day.today { box-shadow: var(--lift-edge), var(--lift-sh); }

/* dolny pasek na telefonie: unosi się nad treścią */
html .dock { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.3), 0 18px 40px -12px rgba(0,0,0,.7); }

@media (prefers-reduced-motion: reduce) {
  html #pomoc .hl-grid a:hover, html .sp .sp-ncard:hover, html .sp .sp-gcard:hover, html .btn-primary:hover { transform: none; }
}

/* podpis w stopce: delikatnie się szkli — przesuwa się po nim pasmo światła */
html .footer-credit .kp-szklo {
  display: inline-block;
  background: linear-gradient(100deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,.38) 38%, rgba(255,246,220,.9) 46%, #F1D9A0 50%, rgba(255,246,220,.9) 54%, rgba(255,255,255,.38) 62%, rgba(255,255,255,.38) 100%) 0 0 / 250% 100% no-repeat;
  -webkit-background-clip: text !important; background-clip: text !important;
  color: transparent !important; -webkit-text-fill-color: transparent;
  animation: kp-szkli 6s cubic-bezier(.45,0,.25,1) infinite;
}
@keyframes kp-szkli { 0%, 10% { background-position: 100% 0; } 60%, 100% { background-position: 0% 0; } }
@media (prefers-reduced-motion: reduce) { html .footer-credit .kp-szklo { animation: none; background-position: 100% 0; } }

/* ruchoma siatka zdjęć w tle sekcji „Wspólnoty” */
#dla-ciebie.has-gbg { position: relative; isolation: isolate; overflow: clip; }
#dla-ciebie .gbg { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
#dla-ciebie .gbg-tilt { position: absolute; inset: -30% -12%; display: flex; gap: 14px; justify-content: center;
  transform: translate3d(var(--gbg-x, 0), var(--gbg-y, 0), 0) rotate(-7deg); }
#dla-ciebie .gbg-col { flex: 1 1 0; max-width: 260px; overflow: visible; }
#dla-ciebie .gbg-track { display: flex; flex-direction: column; gap: 14px; animation: gbg-up var(--gbg-t, 50s) linear infinite; will-change: transform; }
#dla-ciebie .gbg-dn .gbg-track { animation-name: gbg-dn; }
#dla-ciebie .gbg-off .gbg-track { animation-play-state: paused; }
#dla-ciebie .gbg-i { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; opacity: 0; transition: opacity 1.2s ease; filter: saturate(.75); }
#dla-ciebie .gbg-i.gbg-tall { aspect-ratio: 3 / 4; }
#dla-ciebie .gbg-i.gbg-ok { opacity: .42; }
/* przyciemnienie, żeby treść była czytelna, i miękkie wtopienie w górę i dół sekcji */
#dla-ciebie .gbg::after { content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, var(--bg) 0%, transparent 22%, transparent 78%, var(--bg) 100%),
    radial-gradient(120% 90% at 30% 40%, color-mix(in srgb, var(--bg) 72%, transparent) 0%, color-mix(in srgb, var(--bg) 86%, transparent) 100%); }
@keyframes gbg-up { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, calc(-50% - 7px), 0); } }
@keyframes gbg-dn { from { transform: translate3d(0, calc(-50% - 7px), 0); } to { transform: translate3d(0, 0, 0); } }
@media (max-width: 640px) { #dla-ciebie .gbg-tilt { gap: 10px; inset: -20% -22%; } #dla-ciebie .gbg-track { gap: 10px; } #dla-ciebie .gbg-i.gbg-ok { opacity: .44; } #dla-ciebie .gbg-i { border-radius: 12px; } }
@media (prefers-reduced-motion: reduce) { #dla-ciebie .gbg-track { animation: none; } }


/* ── O parafii: historia na osi czasu ── */
#historia .hi-head { text-align: center; max-width: 620px; margin: 0 auto 44px; }
#historia .hi-head h2 { margin: 0 0 12px; }
#historia .hi-head p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.hi-line { position: relative; list-style: none; margin: 0 auto; padding: 0; max-width: 980px; }
.hi-line::before { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 2px; transform: translateX(-1px); background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--brass-dot, #C9A45A) 65%, transparent) 6%, color-mix(in srgb, var(--brass-dot, #C9A45A) 65%, transparent) 94%, transparent); }
.hi-it { position: relative; width: 50%; box-sizing: border-box; padding: 0 44px 34px 0; }
.hi-it:nth-child(even) { margin-left: 50%; padding: 0 0 34px 44px; }
.hi-dot { position: absolute; top: 10px; right: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--bg); border: 2px solid var(--brass-dot, #C9A45A); box-shadow: 0 0 0 4px var(--bg), 0 0 14px color-mix(in srgb, var(--brass-dot, #C9A45A) 50%, transparent); }
.hi-it:nth-child(even) .hi-dot { right: auto; left: -7px; }
.hi-same .hi-dot { width: 10px; height: 10px; top: 12px; right: -5px; border-width: 2px; }
.hi-same:nth-child(even) .hi-dot { left: -5px; }
.hi-it:nth-child(odd) .hi-card { text-align: right; }
.hi-y { margin: 0 0 6px; font-family: var(--display); font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; line-height: 1; letter-spacing: -.01em; color: var(--brass-dot, #C9A45A); }
.hi-card h3 { margin: 0 0 6px; font-family: var(--display); font-size: 19px; line-height: 1.25; color: var(--ink); }
.hi-t { margin: 0; color: var(--ink-2); line-height: 1.6; font-size: 16px; }
.hi-ph { display: inline-block; margin-top: 14px; width: min(100%, 340px); border-radius: 12px; overflow: hidden; box-shadow: 0 18px 36px -20px rgba(0,0,0,.85), inset 0 0 0 1px rgba(255,255,255,.06); }
.hi-ph img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.hi-ph:hover img { transform: scale(1.04); }
.hi-rv { opacity: .01; transform: translateY(14px); }
.hi-rv.hi-in { opacity: 1; transform: none; transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
.hi-more { text-align: center; margin: 18px 0 0; }
@media (max-width: 760px) {
  .hi-line::before { left: 7px; }
  .hi-it, .hi-it:nth-child(even) { width: auto; margin-left: 0; padding: 0 0 28px 34px; }
  .hi-dot, .hi-it:nth-child(even) .hi-dot { left: 0; right: auto; }
  .hi-same .hi-dot, .hi-same:nth-child(even) .hi-dot { left: 2px; }
  .hi-it:nth-child(odd) .hi-card { text-align: left; }
}

/* ── strona główna: kronika w trybie przewijanym ── */
#kronika-home .kr-bar { display: flex; justify-content: flex-end; margin: -6px 0 14px; position: static; background: none; box-shadow: none; padding: 0; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
#kronika-home .kr-bar::before, #kronika-home .kr-bar::after { display: none; }
#kronika-home .section-head { position: static; }
#kronika-home .kr-h .kr-nav { display: inline-flex; }
#kronika-home .kr-text p { margin: 0; }
#kronika-home .krh-link { margin: 12px 0 0; font-size: 14.5px; font-weight: 700; }
#kronika-home .krh-link a { color: var(--brass-dot, #C9A45A); text-decoration: none; }
#kronika-home .krh-link a:hover { text-decoration: underline; }
#kronika-home .krh-more { margin: 10px 0 0; }
#kronika-home a.kr-ph { display: block; }
#dla-ciebie .section-head { padding-top: 20px; }

/* ── nagłówek po przewinięciu: półprzezroczysta, matowa tafla — treść pod nim prześwieca rozmyta ── */
html .site-header { transition: background-color .4s ease, border-color .4s ease, box-shadow .4s ease; }
html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 42%, transparent); border-bottom-color: rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(20px) saturate(1.7); backdrop-filter: blur(20px) saturate(1.7);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 30px -18px rgba(0,0,0,.6); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 92%, transparent); } }
@media (max-width: 760px) { html.pl-sc .site-header { background: color-mix(in oklab, var(--bg) 58%, transparent); } }

/* stopka: łagodne, kolejne pojawianie się napisów */
.site-footer.ft-rv .ft-it { opacity: 0; transform: translateY(14px); filter: blur(4px); }
.site-footer.ft-rv.ft-in .ft-it { opacity: 1; transform: none; filter: none;
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease; transition-delay: var(--ft-d, 0ms); }
.site-footer.ft-rv .footer-credit.ft-it { transform: none; }


/* ── opływowość 2: miękkie przewijanie, mgiełka zdjęć, głębia ── */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis.lenis-stopped:not(.lenis-autoToggle) { overflow: clip; }
.lenis.lenis-autoToggle { transition-property: overflow; transition-duration: 1ms; transition-behavior: allow-discrete; }
img.pl-mg { opacity: 0; filter: blur(14px) saturate(.8); transition: opacity .7s cubic-bezier(.2,.7,.2,1), filter .9s cubic-bezier(.2,.7,.2,1); }
img.pl-mg.pl-ok { opacity: 1; filter: none; }
img.pl-px { scale: 1.1; translate: 0 var(--plx, 0); will-change: translate; }
@media (prefers-reduced-motion: reduce) { img.pl-mg { opacity: 1; filter: none; } img.pl-px { scale: none; translate: none; } }
.pl-pxw { overflow: clip; }
.bento:has(+ .access-bar) { padding-bottom: 0; }
.today .wrap:has(> .access-bar) { padding-bottom: 30px; }
.access-bar { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px 0; margin: 12px 0 0; padding: 14px 0; border: 1px solid var(--line, rgba(255,255,255,.1)); border-radius: 20px; background: color-mix(in srgb, var(--ink, #fff) 3%, transparent); justify-content: center; }
.access-bar p { margin: 0; padding: 0 28px; display: flex; align-items: center; justify-content: flex-start; gap: 12px;
}
.access-bar p + p { border-left: 1px solid var(--line, rgba(255,255,255,.1)); }
.access-bar p { max-width: none; text-wrap: wrap; font-size: 14.5px; line-height: 1.35; color: var(--ink-2); }
.access-bar .ab-ic { display: inline-flex; gap: 4px; flex: none; font-style: normal; }
.access-bar svg { width: 21px; height: 21px; flex: none; color: var(--brass-dot, #C9A45A); }
.access-bar b { font-weight: 600; color: var(--ink, inherit); }
@media (max-width: 900px) { .access-bar { grid-template-columns: 1fr; padding: 16px 0; gap: 14px; } .access-bar p { align-items: flex-start; justify-content: flex-start; padding: 0 18px; } .access-bar p + p { border-left: 0; border-top: 1px solid var(--line, rgba(255,255,255,.1)); padding-top: 14px; } .access-bar .ab-ic { width: 46px; } }
.access-bar p > span { display: flex; flex-direction: column; gap: 1px; }
.access-bar p > span b { font-size: 15.5px; }
.access-bar p { align-items: center !important; }

/* ── opływowość 3 ── */
/* jedno tempo ruchu na całej stronie */
:root { --ease: cubic-bezier(.22, .8, .24, 1); --pl-ease: cubic-bezier(.22, .8, .24, 1); }
/* łamanie tekstu */
h1, h2, h3, .tile b, .section-lead { text-wrap: balance; }
a[href^="tel:"] { white-space: nowrap; }
.pill { white-space: normal; text-wrap: balance; }

/* zarysy podczas wczytywania */
.pl-sk:empty { position: relative; min-height: 140px; border-radius: 20px; overflow: hidden; background: color-mix(in srgb, var(--ink, #fff) 5%, transparent); }
:is(h2, p).pl-sk:empty { min-height: 0; height: 1.1em; width: min(420px, 70%); border-radius: 10px; }
p.pl-sk:empty { height: .9em; width: min(560px, 85%); }
.pl-sk:empty::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--ink, #fff) 9%, transparent) 45%, transparent 70%); background-size: 220% 100%; animation: pl-sk 1.6s var(--pl-ease) infinite; }
@keyframes pl-sk { from { background-position: 120% 0; } to { background-position: -100% 0; } }
html.pl-sk-end .pl-sk:empty { min-height: 0; height: auto; background: none; }
html.pl-sk-end .pl-sk:empty::after { display: none; }
.pl-sk > * { animation: pl-in .55s var(--pl-ease) both; }
.pl-sk > :nth-child(2) { animation-delay: .05s; } .pl-sk > :nth-child(3) { animation-delay: .1s; } .pl-sk > :nth-child(n+4) { animation-delay: .15s; }
@keyframes pl-in { from { opacity: 0; transform: translateY(8px); } }

/* kafelki „Dziś” */
.tile .pl-season { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 13.5px; }
.tile .pl-season i { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--sc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc) 22%, transparent), 0 0 12px color-mix(in srgb, var(--sc) 55%, transparent); }
.tile .pl-cd { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 13.5px; }
.tile .pl-cd[hidden] { display: none; }
.tile .pl-cd i { width: 8px; height: 8px; border-radius: 50%; flex: none; background: #7EE0A1; box-shadow: 0 0 0 0 rgba(126,224,161,.6); animation: pl-pulse 2.2s ease-out infinite; }
.tile .pl-cd .pl-cd-v { font-style: normal; font-weight: 600; color: var(--on-field, #fff); white-space: nowrap; }
@keyframes pl-pulse { 70% { box-shadow: 0 0 0 7px rgba(126,224,161,0); } 100% { box-shadow: 0 0 0 0 rgba(126,224,161,0); } }
.bento .tile { display: flex; flex-direction: column; }

/* reakcja na dotyk */
@media (hover: none) {
  :where(.tile, .btn, .invite a, .invite li, .sp-ncard, .sp-gcard, .album-cover, .kr-it, .dock a, .km-card, .comm-card, .access-bar p) { transition: transform .18s var(--pl-ease), filter .18s var(--pl-ease); -webkit-tap-highlight-color: transparent; }
  :where(.tile, .btn, .invite a, .invite li, .sp-ncard, .sp-gcard, .album-cover, .kr-it, .km-card, .comm-card):active { transform: scale(.975); filter: brightness(1.08); }
  :where(.dock a):active { transform: scale(.9); }
}

/* potwierdzenie wysłania formularza */
.sp-done:not([hidden]) h3::before, .km-done:not([hidden]):not(:empty)::before, .kf-done .kf-tick { content: ""; display: block; width: 56px; height: 56px; margin: 0 0 14px; border-radius: 50%; font-size: 0;
  background: #3E9B5B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px no-repeat;
  box-shadow: 0 10px 30px -10px rgba(62,155,91,.7); animation: pl-tick .7s var(--pl-ease) both; }
@keyframes pl-tick { 0% { transform: scale(.3); opacity: 0; } 60% { transform: scale(1.08); opacity: 1; } 100% { transform: scale(1); } }

/* pasek postępu czytania i „do góry” */
.pl-prog { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 1000; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #C9A45A, #E9CF8E); pointer-events: none; }
.pl-up { position: fixed; right: 22px; bottom: 24px; z-index: 900; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; color: var(--ink, #fff);
  border: 1px solid color-mix(in srgb, var(--ink, #fff) 16%, transparent); background: color-mix(in srgb, var(--field, #0E1A2E) 70%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 10px 30px -12px rgba(0,0,0,.6); opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; transition: opacity .35s var(--pl-ease), transform .35s var(--pl-ease), border-color .2s; }
.pl-up svg { width: 20px; height: 20px; }
.pl-up.on { opacity: 1; transform: none; pointer-events: auto; }
@media (hover: hover) { .pl-up:hover { border-color: #C9A45A; color: #E9CF8E; } }
@media (max-width: 760px) { .pl-up { right: 14px; bottom: calc(96px + env(safe-area-inset-bottom)); width: 42px; height: 42px; } }
@media print { .pl-up, .pl-prog { display: none; } }
@media (prefers-reduced-motion: reduce) { .pl-sk:empty::after, .tile .pl-cd i { animation: none; } .pl-sk > * { animation: none; } }

/* ── Komunia Św. 2027 na stronie głównej: pasek ze zdjęciem kościoła i szklana karta ── */
.kom-promo { position: relative; padding: 56px 0; overflow: hidden; isolation: isolate; background: var(--bg-2, #13203A); border-top: 1px solid var(--line-2, rgba(255,255,255,.06)); }
.kom-promo .kp-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(520px 260px at 14% 55%, rgba(201,164,90,.22), transparent 70%), radial-gradient(560px 300px at 62% 30%, rgba(46,110,190,.28), transparent 70%), radial-gradient(480px 260px at 92% 80%, rgba(120,90,200,.16), transparent 70%); }
.kom-promo .kp-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 26px 30px; border-radius: 28px; text-decoration: none; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.28);
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.04), 0 24px 60px -30px rgba(0,0,0,.7);
  transition: transform .35s var(--pl-ease, ease), background .35s; }
.kom-promo .kp-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.22), transparent 55%); }
@media (hover: hover) { .kom-promo .kp-card:hover { transform: translateY(-2px); background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.09)); } }
.kom-promo .kp-art { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
.kom-promo .kp-art svg { width: 34px; height: 34px; }
.kom-promo .kp-txt { display: grid; gap: 4px; min-width: 0; }
.kom-promo .kp-k { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.75); }
.kom-promo .kp-t { font-family: var(--display); font-size: clamp(26px, 3.2vw, 34px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; color: #fff; }
.kom-promo .kp-d { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.82); max-width: 58ch; text-wrap: pretty; }
.kom-promo .kp-go { display: grid; gap: 8px; justify-items: center; }
.kom-promo .kp-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 999px; font-weight: 700; white-space: nowrap; color: #14202F; background: #fff; box-shadow: 0 8px 20px -10px rgba(0,0,0,.5); }
.kom-promo .kp-more { font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.8); white-space: nowrap; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kom-promo .kp-card { background: rgba(16,26,44,.82); } }
@media (max-width: 760px) {
  .kom-promo { padding: 24px 0; }
  .kom-promo .kp-card { grid-template-columns: 1fr; gap: 14px; padding: 18px 18px 16px; border-radius: 22px; }
  .kom-promo .kp-art { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 14px; } .kom-promo .kp-art svg { width: 24px; height: 24px; }
  .kom-promo .kp-k, .kom-promo .kp-t { padding-right: 56px; }
  .kom-promo .kp-txt { gap: 6px; }
  .kom-promo .kp-t { font-size: 28px; }
  .kom-promo .kp-d { font-size: 15px; line-height: 1.45; }
  .kom-promo .kp-go { grid-template-columns: 1fr; justify-items: stretch; gap: 10px; margin-top: 2px; }
  .kom-promo .kp-btn { justify-content: center; width: 100%; min-height: 50px; }
  .kom-promo .kp-more { text-align: center; padding: 2px 0; }
}
html[data-theme=light] .kom-promo .kp-card { color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.5)); border-color: rgba(20,72,124,.14); box-shadow: inset 0 1px 0 #fff, 0 20px 50px -30px rgba(20,40,80,.4); }
html[data-theme=light] .kom-promo .kp-t { color: var(--ink); }
html[data-theme=light] .kom-promo .kp-d, html[data-theme=light] .kom-promo .kp-k, html[data-theme=light] .kom-promo .kp-more { color: var(--ink-2); }
html[data-theme=light] .kom-promo .kp-art { color: #14487C; background: rgba(20,72,124,.07); border-color: rgba(20,72,124,.14); }
html[data-theme=light] .kom-promo .kp-btn { background: #14487C; color: #fff; }
/* menu: wyróżniony link + plakietka */
#menu a.mg-kom { color: #F3E2B0 !important; font-weight: 600; }
#menu a.mg-kom .mg-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; font: 700 10.5px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; vertical-align: 2px; color: #1A1406; background: linear-gradient(180deg, #F0D58F, #C9A45A); }
html[data-theme=light] #menu a.mg-kom { color: #8F6F26 !important; }
.dock a.dk-kom { color: #E9CF8E; }
html #menu.mm a.mg-kom { background: rgba(201,164,90,.14) !important; box-shadow: inset 0 0 0 1px rgba(201,164,90,.5) !important; }

/* menu: „Dla posługujących” — panel i kalendarz liderów */
#menu .mg-staff { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
#menu .mg-staff-h { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(238,241,248,.5); margin-right: 6px; }
#menu .mg-staff a.mg-staff-a { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 8px 14px !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 600; color: rgba(238,241,248,.85) !important; background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.12) !important; text-decoration: none; }
#menu .mg-staff a.mg-staff-a::before, #menu .mg-staff a.mg-staff-a::after { display: none !important; }
#menu .mg-staff a.mg-staff-a svg { width: 17px; height: 17px; color: #D9BD7E; flex: none; }
@media (hover: hover) { #menu .mg-staff a.mg-staff-a:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; } }
#menu.mm .mg-staff { margin: 22px 14px 0; padding-top: 14px; }
html[data-theme=light] #menu .mg-staff { border-color: rgba(0,0,0,.1); }
html[data-theme=light] #menu .mg-staff-h { color: #6B7080; }
html[data-theme=light] #menu .mg-staff a.mg-staff-a { color: #22263A !important; background: rgba(0,0,0,.04) !important; border-color: rgba(0,0,0,.1) !important; }
/* „Dla posługujących” na telefonie: lista jak pozostałe grupy menu */
@media (max-width: 1240px) {
#menu.mm .mg-staff { display: block; margin: 26px 0 0; padding: 0; border-top: 0; }
#menu.mm .mg-staff-h { display: block; margin: 0 0 10px 12px; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: rgba(238,241,248,.55); }
#menu.mm .mg-staff-l { display: grid; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.045); }
#menu.mm .mg-staff a.mg-staff-a { display: flex !important; width: 100% !important; gap: 16px; padding: 14px 16px !important; min-height: 56px !important; border-radius: 0 !important; border: 0 !important; background: none !important; font-size: 16.5px !important; font-weight: 600; color: #EEF1F8 !important; position: relative; }
#menu.mm .mg-staff a.mg-staff-a + a.mg-staff-a { border-top: 1px solid rgba(255,255,255,.07) !important; }
#menu.mm .mg-staff a.mg-staff-a svg { width: 22px; height: 22px; margin-left: 4px; }
#menu.mm .mg-staff a.mg-staff-a::after { content: "" !important; display: block !important; position: static !important; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid rgba(238,241,248,.35); border-top: 2px solid rgba(238,241,248,.35); transform: rotate(45deg); background: none !important; }
#menu.mm .mg-staff a.mg-staff-a:active { background: rgba(255,255,255,.06) !important; }
}
@media (min-width: 1241px) { #menu .mg-staff-l { display: contents; } }
/* menu: cztery kolumny (Kontakt i dojazd osobno) */
@media (min-width: 1241px) {
  html #menu.menu-sheet .mg.mg-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto 1fr; gap: 0 34px; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col:nth-child(3) { grid-column: 3; grid-row: 1; }
  html #menu.menu-sheet .mg.mg-4 > .mg-col-kd { grid-column: 3; grid-row: 2; margin-top: 22px; }
  html #menu.menu-sheet .mg.mg-4 > .mg-staff { grid-row: 3; }
}
/* kolory etapów życia (jak na ekranie Kairos On) */
#invite-list li.kk, .comm-card.kk { position: relative; }
#invite-list li.kk::before, .comm-card.kk::before { content: ""; position: absolute; left: 20px; right: 20px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: var(--cc); box-shadow: 0 0 16px var(--cc); opacity: .9; pointer-events: none; }
#invite-list li.kk .kicker, .comm-card.kk .who { color: var(--cc) !important; }
.kk-new { position: absolute; top: 0; right: 18px; padding: 3px 9px 4px; border-radius: 0 0 9px 9px; font: 700 10px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: #0E1A2E; background: var(--cc); }
html[data-kk] .ws-hero h1, html[data-kk] .sp-hero-k { text-decoration: none; }
html[data-kk] main::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, transparent, var(--cc), transparent); opacity: .8; }
/* menu: dobre słowo na pożegnanie */
#menu .mg-bless { font-family: "Newsreader", Georgia, serif; font-style: italic; font-size: 19px; color: #E8C987; margin: 0; }
@media (min-width: 1241px) { html #menu.menu-sheet .mg-bless { grid-column: 1 / -1; align-self: center; order: 98; margin: 22px 0 0; } html #menu.menu-sheet:has(.mg-bless) .menu-close { margin-top: -38px; } }
@media (max-width: 1240px) { #menu .mg-bless { text-align: center; margin: 26px 20px 8px; font-size: 18px; } }
html[data-theme=light] #menu .mg-bless { color: #8F6F26; }

#menu .mg-bless .mg-sig { font-family: var(--sans); font-style: normal; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: rgba(232,201,135,.6); margin-left: 10px; white-space: nowrap; }
@media (max-width: 1240px) { #menu .mg-bless .mg-sig { display: block; margin: 6px 0 0; } }
/* karty wspólnot jak na ekranie Kairos On */
#invite-list li.kk, .comm-card.kk { border-radius: 24px !important; overflow: hidden; isolation: isolate; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.35) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(255,255,255,.07), 0 24px 50px -30px rgba(0,0,0,.75) !important;
  transition: transform .35s cubic-bezier(.22,.8,.24,1), border-color .3s, background .3s; }
#invite-list li.kk::after, .comm-card.kk::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 20% -15%, rgba(255,255,255,.2), transparent 55%); }
#invite-list li.kk::before, .comm-card.kk::before { left: 22px; right: 22px; }
#invite-list li.kk .kicker, .comm-card.kk .who { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; }
#invite-list li.kk h3, #invite-list li.kk h3 a, .comm-card.kk h3, .comm-card.kk h3 a { color: #fff !important; }
#invite-list li.kk p, .comm-card.kk p { color: rgba(232,236,246,.72) !important; }
#invite-list li.kk p a { color: var(--cc) !important; }
.kk-n { display: block; margin-top: 14px; font-size: 13.5px; font-weight: 600; color: var(--cc); }
@media (hover: hover) { #invite-list li.kk:hover, .comm-card.kk:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--cc) 70%, white) !important; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { #invite-list li.kk, .comm-card.kk { background: rgba(22,34,58,.9) !important; } }
html[data-theme=light] #invite-list li.kk, html[data-theme=light] .comm-card.kk { color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.6)) !important; border-color: rgba(20,72,124,.14) !important; box-shadow: inset 0 1px 0 #fff, 0 20px 40px -30px rgba(20,40,80,.4) !important; }
html[data-theme=light] #invite-list li.kk h3, html[data-theme=light] #invite-list li.kk h3 a, html[data-theme=light] .comm-card.kk h3, html[data-theme=light] .comm-card.kk h3 a { color: var(--ink) !important; }
html[data-theme=light] #invite-list li.kk p, html[data-theme=light] .comm-card.kk p { color: var(--ink-2) !important; }

/* ===== Podstrona wspólnoty w kolorze etapu (ws2) ===== */
html.ws2-on main::before { display: none; }
html:not([style*="--cc"]) .ws2 { --cc: #C9A45A; }
.ws2 { padding-top: clamp(18px, 3vw, 34px); }
.ws2 .ws2-wrap { display: block; }
.ws2 .ws-hero { position: relative; top: auto; isolation: isolate; overflow: hidden; border-radius: 30px; padding: clamp(26px, 4.4vw, 58px) clamp(22px, 4.4vw, 60px) clamp(26px, 4vw, 50px);
  color: #fff; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--cc) 42%, transparent) 0%, transparent 55%), radial-gradient(80% 80% at 0% 100%, color-mix(in srgb, var(--cc) 20%, transparent), transparent 60%), linear-gradient(160deg, #0F2140 0%, #0A1626 100%);
  border: 1px solid color-mix(in srgb, var(--cc) 30%, rgba(255,255,255,.08)); box-shadow: 0 30px 70px -30px color-mix(in srgb, var(--cc) 45%, rgba(0,0,0,.6)); }
.ws2 .ws-hero::before { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -120px; top: -160px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--cc) 35%, transparent); box-shadow: 0 0 0 60px color-mix(in srgb, var(--cc) 5%, transparent), 0 0 0 130px color-mix(in srgb, var(--cc) 3%, transparent); }
.ws2 .ws-hero::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--cc), transparent); }
.ws2 .ws-back { margin: 0 0 22px; font-size: 15px; }
.ws2 .ws-back a { color: rgba(255,255,255,.72); text-decoration: none; font-weight: 600; }
.ws2 .ws-back a:hover { color: #fff; }
.ws2 .ws-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; max-width: none; }
.ws2 .ws-stage { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px 6px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cc); background: color-mix(in srgb, var(--cc) 14%, transparent); border: 1px solid color-mix(in srgb, var(--cc) 40%, transparent); }
.ws2 .ws-stage::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cc); box-shadow: 0 0 12px var(--cc); }
.ws2 .ws-stage:empty { display: none; }
.ws2 .ws-new { font-style: normal; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; color: #0A1626; background: var(--cc); }
.ws2 .ws-new::before { content: "✦ "; }
.ws2 .ws-hero h2, .ws2 .ws-hero h1.as-h2 { color: #fff; font-size: clamp(38px, 6.4vw, 76px); line-height: 1; letter-spacing: -.025em; margin: 0; max-width: 16ch; text-wrap: balance; }
.ws2 .ws-kicker { color: rgba(255,255,255,.7); text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 17px; margin: 10px 0 0; }
.ws2 .ws-for { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(21px, 2.4vw, 28px); line-height: 1.3; color: color-mix(in srgb, var(--cc) 55%, #fff); margin: 14px 0 0; max-width: 34ch; }
.ws2 .ws-for:empty { display: none; }
.ws2 .ws-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 28px 0 0; max-width: 860px; }
.ws2 .ws-fact { position: relative; padding: 14px 16px 14px 18px; border-radius: 18px; background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.ws2 .ws-fact::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--cc); }
.ws2 .ws-fact small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.58); margin-bottom: 4px; }
.ws2 .ws-fact b { display: block; font-size: 16px; line-height: 1.35; font-weight: 700; color: #fff; }
.ws2 .ws-hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; max-width: none; }
.ws2 .ws-hero-cta .btn { min-height: 52px; padding: 0 26px; border-radius: 999px; font-size: 16.5px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.ws2 .ws-go { background: var(--cc); color: #0A1626; border: 0; box-shadow: 0 12px 30px -10px var(--cc); }
.ws2 .ws-go:hover { filter: brightness(1.08); transform: translateY(-1px); }
.ws2 .ws-go span { transition: transform .3s cubic-bezier(.22,1,.36,1); }
.ws2 .ws-go:hover span { transform: translateX(4px); }
.ws2 .ws-tel { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.ws2 .ws-tel:hover { background: rgba(255,255,255,.14); }
.ws2 .ws-promise { margin: 16px 0 0; font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.75); max-width: 60ch; }
.ws2 .ws-promise:empty { display: none; }

.ws2 .ws-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: clamp(22px, 4vw, 56px); max-width: none; margin-top: clamp(30px, 4vw, 54px); align-items: start; }
.ws2 .ws-main { display: grid; gap: 26px; min-width: 0; }
.ws2 .ws-desc p { font-size: 18.5px; line-height: 1.75; }
.ws2 .ws-desc p:first-child { font-size: clamp(20px, 2vw, 23px); line-height: 1.55; color: var(--ink); font-weight: 500; }
.ws2 .ws-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ws2 .ws-steps-h { grid-column: 1 / -1; font-family: 'Bricolage Grotesque', var(--font-display, sans-serif); font-weight: 700; font-size: 21px; color: var(--ink); margin-bottom: 2px; }
.ws2 .ws-step { position: relative; padding: 18px 18px 16px; border-radius: 20px; background: color-mix(in srgb, var(--cc) 9%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 28%, var(--line)); }
.ws2 .ws-step-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--cc); color: #0A1626; font-weight: 800; font-size: 15px; margin-bottom: 12px; box-shadow: 0 6px 16px -6px var(--cc); }
.ws2 .ws-step b { display: block; font-size: 17px; color: var(--ink); }
.ws2 .ws-step p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.ws2 .ws-box { border-radius: 22px; padding: 22px 24px; background: var(--bg); border: 1px solid color-mix(in srgb, var(--cc) 22%, var(--line)); position: relative; overflow: hidden; }
.ws2 .ws-box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--cc), color-mix(in srgb, var(--cc) 20%, transparent)); }
.ws2 .ws-box h3 { font-size: 20px; }
.ws2 .ws-box li b { color: color-mix(in srgb, var(--cc) 70%, var(--ink)); }
.ws2 .ws-meet-soon { display: block !important; padding: 12px 14px !important; border-radius: 14px; background: color-mix(in srgb, var(--cc) 10%, transparent); border: 1px dashed color-mix(in srgb, var(--cc) 50%, transparent) !important; font-size: 15.5px; line-height: 1.5; }
.ws2 .ws-side { position: sticky; top: 100px; }
.ws2 .ws-join { padding: 26px 24px 24px; background: radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--cc) 22%, transparent), transparent 60%), color-mix(in srgb, var(--cc) 7%, var(--bg)); border-color: color-mix(in srgb, var(--cc) 38%, var(--line)); box-shadow: 0 24px 50px -30px color-mix(in srgb, var(--cc) 70%, transparent); }
.ws2 .ws-join h3 { font-size: 23px; margin-bottom: 8px; }
.ws2 .ws-join #ws-join-p { font-size: 15.5px; line-height: 1.6; color: var(--ink-2); margin: 0 0 14px; }
.ws2 .ws-actions { display: grid; gap: 8px; }
.ws2 .ws-actions .btn { width: 100%; justify-content: center; min-height: 48px; border-radius: 999px; }
.ws2 .ws-actions .zw-btn { background: var(--cc); color: #0A1626; border: 0; font-weight: 800; box-shadow: 0 10px 24px -10px var(--cc); }
.ws2 .ws-actions .zw-btn svg { stroke: currentColor; }
.ws2 .ws-actions .btn:not(.zw-btn) { background: transparent; color: var(--ink); border: 1px solid color-mix(in srgb, var(--cc) 35%, var(--line)); box-shadow: none; }
.ws2 .ws-actions .btn:not(.zw-btn):hover { background: color-mix(in srgb, var(--cc) 10%, transparent); }
html.ws2-on .wmm-ank { border-radius: 22px; }

.ws2 .ws-others { margin-top: clamp(40px, 5vw, 64px); }
.ws2 .ws-others h3 { font-size: 22px; color: var(--ink); margin: 0 0 14px; }
.ws2 .ws-ocs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.ws2 .ws-oc { position: relative; display: block; padding: 16px 44px 16px 18px; border-radius: 18px; text-decoration: none; color: var(--ink); background: color-mix(in srgb, var(--oc) 7%, var(--bg)); border: 1px solid color-mix(in srgb, var(--oc) 26%, var(--line)); transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .3s; overflow: hidden; }
.ws2 .ws-oc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--oc); }
.ws2 .ws-oc-plain { background: var(--bg); border-color: var(--line); }
.ws2 .ws-oc-plain::before { background: var(--line); }
.ws2 .ws-oc:hover { transform: translateY(-2px); border-color: var(--oc); box-shadow: 0 14px 30px -18px var(--oc); }
.ws2 .ws-oc small { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--oc) 75%, var(--ink)); min-height: 14px; }
.ws2 .ws-oc small em { font-style: normal; letter-spacing: .02em; text-transform: none; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: var(--oc); color: #0A1626; }
.ws2 .ws-oc b { display: block; font-size: 16px; line-height: 1.3; margin-top: 4px; }
.ws2 .ws-oc i { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-style: normal; font-weight: 800; color: var(--oc); transition: transform .3s; }
.ws2 .ws-oc:hover i { transform: translate(4px, -50%); }

@media (max-width: 900px) {
  .ws2 .ws-body { grid-template-columns: minmax(0, 1fr); }
  .ws2 .ws-side { position: static; }
}
@media (max-width: 600px) {
  .ws2 .ws-hero { border-radius: 24px; padding: 22px 18px 24px; margin: 0 -4px; }
  .ws2 .ws-back { margin-bottom: 16px; }
  .ws2 .ws-hero h2, .ws2 .ws-hero h1.as-h2 { font-size: clamp(34px, 11vw, 46px); }
  .ws2 .ws-facts { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 20px; }
  .ws2 .ws-fact { padding: 10px 14px 11px 16px; }
  .ws2 .ws-fact small { margin-bottom: 2px; }
  .ws2 .ws-fact b { font-size: 15px; }
  .ws2 .ws-hero-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 20px; }
  .ws2 .ws-hero-cta .btn { justify-content: center; padding: 0 18px; }
  .ws2 .ws-steps { grid-template-columns: minmax(0, 1fr); }
  .ws2 .ws-step { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; padding: 14px 16px; }
  .ws2 .ws-step-n { grid-row: span 2; margin: 0; }
  .ws2 .ws-step p { margin-top: 2px; }
  .ws2 .ws-ocs { grid-template-columns: minmax(0, 1fr); }
}

.ws2 .ws-hero .ws-promise { max-width: 62ch !important; text-wrap: pretty; }
.ws2 .ws-hero .ws-for { max-width: 34ch !important; }
.ws2 #ws-meet-list.ws-cut li:nth-child(n+5) { display: none; }
.ws2 .ws-more { margin-top: 12px; background: none; border: 1px solid color-mix(in srgb, var(--cc) 40%, var(--line)); color: var(--ink); border-radius: 999px; padding: 9px 18px; font: inherit; font-weight: 700; font-size: 14.5px; cursor: pointer; }
.ws2 .ws-more:hover { background: color-mix(in srgb, var(--cc) 10%, transparent); }

/* ===== Dopracowanie (październik) ===== */
/* rytm sekcji i złoty akcent nad nagłówkami */
main > .section, main > section.section { padding-block: clamp(64px, 7.5vw, 100px); }
main > .verse-band { padding-block: clamp(72px, 8vw, 104px); }
.section .section-head > h2::before { content: ""; display: block; width: 160px; height: 3px; border-radius: 3px; margin-bottom: 20px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
@keyframes dp-line { from { transform: scaleX(0); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .section .section-head > h2::before { animation: none; } }
.ws2 .ws-hero > h2::before { display: none; }

/* Msze */
#msze .time-list li { transition: background .4s ease; }
#msze .tl-badge { display: inline-flex; align-items: center; align-self: center; margin-left: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; vertical-align: middle; font-family: var(--font-body, inherit); }
#msze .tl-kairos { color: #0A1626; background: #E3C27A; }
#msze li.occasional small { white-space: normal; }
#msze .tl-next { position: relative; }
#msze .tl-next::before { content: ""; position: absolute; left: -16px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 4px rgba(60,203,127,.18); animation: dp-pulse 2.4s ease-in-out infinite; }
#msze .tl-when { display: inline-flex; align-self: center; margin-left: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: #3CCB7F; background: rgba(60,203,127,.12); border: 1px solid rgba(60,203,127,.35); white-space: nowrap; vertical-align: middle; font-family: var(--font-body, inherit); letter-spacing: 0; }
@keyframes dp-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(60,203,127,.22); } 50% { box-shadow: 0 0 0 7px rgba(60,203,127,0); } }
@media (prefers-reduced-motion: reduce) { #msze .tl-next::before { animation: none; } }

/* Kancelaria */
#kancelaria .office .hours { color: var(--ink) !important; opacity: 1; font-weight: 700; }
#kancelaria .of-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#kancelaria .of-call { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; color: #0A1626; background: #E3C27A; box-shadow: 0 8px 20px -10px rgba(227,194,122,.8); transition: transform .4s cubic-bezier(.22,1,.36,1), filter .2s; }
#kancelaria .of-call:hover { transform: translateY(-1px); filter: brightness(1.06); }
#kancelaria .of-call svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }

/* Czy należysz */
#czy-nalezisz .pc-formcol { padding: clamp(20px, 2.6vw, 30px); border-radius: 24px; background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid var(--line); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
#czy-nalezisz .pc-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; }
#czy-nalezisz label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin: 0 0 6px; }
#czy-nalezisz input { height: 50px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: 16px; width: 100%; box-sizing: border-box; transition: border-color .25s, box-shadow .25s; }
#czy-nalezisz input::placeholder { color: var(--ink-2); opacity: .55; }
#czy-nalezisz input:focus { outline: none; border-color: #C9A45A; box-shadow: 0 0 0 4px rgba(201,164,90,.18); }
#czy-nalezisz .pc-btn { height: 50px; padding: 0 26px; border: 0; border-radius: 999px; background: #E3C27A !important; color: #0A1626 !important; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 10px 24px -12px rgba(227,194,122,.9); transition: transform .4s cubic-bezier(.22,1,.36,1), filter .2s; }
#czy-nalezisz .pc-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
#czy-nalezisz .pc-result { border-radius: 16px; padding: 14px 18px; font-weight: 600; animation: dp-in .5s cubic-bezier(.22,1,.36,1); }
#czy-nalezisz .pc-yes::before { content: "✓  "; font-weight: 800; }
@keyframes dp-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Duszpasterze — spójne karty (bez zdjęcia: inicjały w złotym znaku) */
#faces-list .avatar:not(:has(img)) { background: linear-gradient(160deg, rgba(227,194,122,.28), rgba(227,194,122,.08)) !important; color: #E3C27A !important; border: 1px solid rgba(227,194,122,.45); font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; letter-spacing: .02em; }
#faces-list .avatar img { box-shadow: 0 0 0 2px rgba(227,194,122,.55); }

/* Kronika na stronie głównej — równe karty, bez pustej przestrzeni */
#kronika-home .kr.kr-h .kr-gal { display: none; }
#kronika-home .kr.kr-h .kr-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
#kronika-home .kr.kr-h .kr-text p { margin: 0; }
#kronika-home .kr.kr-h .kr-ph img { width: 100%; height: 100%; object-fit: cover; }
#kronika-home .kr-card { transition: border-color .3s, transform .45s cubic-bezier(.22,1,.36,1); }
#kronika-home .kr-card:hover { border-color: rgba(201,164,90,.5); }

/* Stopka — lżejsze linki i nagłówki kolumn */
.site-footer .ft-col { min-width: 0; }
.site-footer .ft-h { margin: 0 0 12px; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E3C27A; opacity: .9; }
.site-footer .footer-links a { position: relative; display: inline-block; text-decoration: none !important; border-bottom: 0 !important;
  color: transparent !important; -webkit-text-fill-color: transparent;
  background: linear-gradient(100deg, #E3C27A 0%, #F6E7BF 38%, #FFF8E8 46%, rgba(244,246,252,.92) 54%, rgba(244,246,252,.92) 100%) 100% 0 / 260% 100% no-repeat !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  transition: background-position .9s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), opacity .45s ease, filter .45s ease; }
.site-footer .footer-links a::before { content: ""; position: absolute; left: -17px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  background: linear-gradient(#E3C27A, #E3C27A) center / 2.2px 100% no-repeat, linear-gradient(#E3C27A, #E3C27A) center / 100% 2.2px no-repeat;
  filter: drop-shadow(0 0 6px rgba(227,194,122,.8)); opacity: 0; transform: rotate(-90deg) scale(.2); transition: opacity .35s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.site-footer .footer-links a::after { content: ""; position: absolute; left: -24px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
  background: radial-gradient(circle, rgba(227,194,122,.28), transparent 70%); opacity: 0; transform: scale(.4); transition: opacity .5s ease, transform .7s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.site-footer .footer-links:hover a { opacity: .42; filter: blur(.2px); }
.site-footer .footer-links a:hover, .site-footer .footer-links a:focus-visible { opacity: 1 !important; filter: none; background-position: 0 0 !important; transform: translateX(8px); outline: none; }
.site-footer .footer-links a:hover::before, .site-footer .footer-links a:focus-visible::before { opacity: 1; transform: rotate(0) scale(1); }
.site-footer .footer-links a:hover::after, .site-footer .footer-links a:focus-visible::after { opacity: 1; transform: scale(1); }
.site-footer .footer-links a.footer-admin-link { opacity: .55; }
.site-footer .ft-h { transition: letter-spacing .7s cubic-bezier(.22,1,.36,1), color .4s; }
.site-footer .ft-col:hover .ft-h { letter-spacing: .22em; color: #F3E3BC; }
@media (prefers-reduced-motion: reduce) { .site-footer .footer-links a, .site-footer .footer-links a::before, .site-footer .footer-links a::after { transition: none !important; } }
@media print { .site-footer .footer-links a { color: #000 !important; -webkit-text-fill-color: #000; background: none !important; } }
.site-footer .footer-links a.footer-admin-link { opacity: .6; }
#faces-list .role { color: #E3C27A !important; }
#msze .tl-next small { min-width: 150px; }
#msze .time-list li { flex-wrap: wrap; }
@media (max-width: 620px) {
  #msze .tl-next small { min-width: 0; }
  #msze .time-list li:has(.tl-badge), #msze .time-list li:has(.tl-when) { row-gap: 6px; }
  #msze .tl-badge, #msze .tl-when { order: 3; margin-left: 0; font-size: 11.5px; }
  #msze .time-list li small { max-width: 52%; }
  #msze .tl-next::before { display: none; }
}
#kp-offline { position: fixed; left: 50%; top: 78px; transform: translateX(-50%); z-index: 9999; width: max-content; max-width: calc(100% - 32px); text-align: center; padding: 9px 16px; border-radius: 14px; font-size: 14px; font-weight: 600; color: #0A1626; background: #E3C27A; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }

/* ===== Dostępność ===== */
.kp-skip { position: fixed; left: 16px; top: 12px; z-index: 10000; padding: 12px 18px; border-radius: 12px; background: #E3C27A; color: #0A1626 !important; font-weight: 800; text-decoration: none; transform: translateY(-160%); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.kp-skip:focus { transform: none; outline: 3px solid #fff; outline-offset: 2px; }
main:focus { outline: none; }
.kp-big-btn { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 9px 12px; border-radius: 999px; border: 1px solid rgba(227,194,122,.45); background: rgba(227,194,122,.08); color: inherit; font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: background .3s, border-color .3s; }
.kp-big-btn:hover { background: rgba(227,194,122,.16); border-color: #E3C27A; }
.kp-big-btn b { display: inline-flex; align-items: baseline; gap: 1px; font-family: 'Bricolage Grotesque', sans-serif; font-size: 18px; color: #E3C27A; line-height: 1; }
.kp-big-btn b small { font-size: 12px; }
.kp-big-btn[aria-pressed="true"] { background: #E3C27A; color: #0A1626; border-color: #E3C27A; }
.kp-big-btn[aria-pressed="true"] b { color: #0A1626; }
.kp-big-m { margin: 14px 6px 4px; }
.kp-big-f { display: flex; margin: 0 auto 14px; color: rgba(244,246,252,.85); }
html.kp-big main, html.kp-big .site-footer { zoom: 1.15; }
@media (max-width: 600px) { html.kp-big main, html.kp-big .site-footer { zoom: 1.12; } }
/* EN — lepszy kontrast znaczka */
.time-list .en-badge { background: #C42F37; }
html.kp-big #faces-list, html.kp-big #faces-list li { min-width: 0; max-width: 100%; }
html.kp-big #faces-list li { overflow-wrap: anywhere; }

/* ===== Logos — bogata podstrona ===== */
.ws2 .ws-hero .ws-kicker.ws-kicker-on { display: block; margin: 8px 0 0; font-size: clamp(17px, 1.8vw, 21px); font-weight: 700; color: rgba(255,255,255,.82); letter-spacing: 0; text-transform: none; }
.lg { display: grid; gap: 16px; }
.lg p { margin: 0; font-size: 17.5px; line-height: 1.75; color: var(--ink-2); }
.lg b { color: var(--ink); }
.ws2 .ws-desc .lg .lg-lead { font-size: clamp(20px, 2vw, 23px); line-height: 1.55; color: var(--ink); font-weight: 500; }
.lg-key { margin: 6px 0; padding: 20px 22px 20px 24px; border-radius: 20px; position: relative; font-size: 19px; line-height: 1.6; color: var(--ink); background: color-mix(in srgb, var(--cc) 10%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 35%, var(--line)); }
.lg-key::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 4px; border-radius: 4px; background: var(--cc); }
.lg-key b { color: color-mix(in srgb, var(--cc) 55%, var(--ink)); }
.lg-h { margin: 26px 0 2px; font-size: clamp(22px, 2.3vw, 27px); line-height: 1.2; color: var(--ink); letter-spacing: -.01em; }
.lg-h::before { content: ""; display: block; width: 26px; height: 3px; border-radius: 3px; margin-bottom: 14px; background: var(--cc); }
.lg-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.lg-who div { padding: 16px; border-radius: 18px; background: color-mix(in srgb, var(--cc) 8%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 28%, var(--line)); }
.lg-who b { display: block; font-family: 'Bricolage Grotesque', sans-serif; font-size: 34px; line-height: 1; color: var(--cc); margin-bottom: 6px; }
.lg-who span { display: block; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
.lg .lg-strong { font-size: 19px; font-weight: 700; color: var(--ink); }
.lg-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.lg-list li { position: relative; padding: 10px 12px 10px 38px; border-radius: 14px; background: var(--bg); border: 1px solid var(--line); font-size: 15.5px; line-height: 1.45; color: var(--ink); }
.lg-list li::before { content: "✓"; position: absolute; left: 12px; top: 9px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 800; color: #0A1626; background: var(--cc); }
.lg .lg-note { padding: 14px 16px; border-radius: 16px; border: 1px dashed color-mix(in srgb, var(--cc) 50%, var(--line)); font-size: 16px; }
.lg-day { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 0; position: relative; }
.lg-day::before { content: ""; position: absolute; left: 30px; top: 20px; bottom: 20px; width: 2px; background: linear-gradient(var(--cc), color-mix(in srgb, var(--cc) 20%, transparent)); }
.lg-day li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 16px; align-items: start; padding: 10px 0; position: relative; }
.lg-day time { display: grid; place-items: center; height: 40px; border-radius: 12px; font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; font-size: 16px; color: #0A1626; background: var(--cc); position: relative; z-index: 1; box-shadow: 0 6px 16px -8px var(--cc); }
.lg-day b { display: block; font-size: 18px; color: var(--ink); margin-top: 8px; }
.lg-day span { display: block; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); margin-top: 2px; }
.lg .lg-small { font-size: 14px; color: var(--ink-2); opacity: .8; }
.lg-word { margin: 24px 0 8px; padding: 30px 24px 26px; border-radius: 24px; text-align: center; background: radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--cc) 22%, transparent), transparent 70%), linear-gradient(160deg, #0F2140, #0A1626); border: 1px solid color-mix(in srgb, var(--cc) 30%, transparent); }
.lg-word blockquote { margin: 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(22px, 2.8vw, 31px); line-height: 1.35; color: #fff; }
.lg-word figcaption { margin-top: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--cc); }
.lg .lg-aside { margin-top: 6px; padding: 14px 16px; border-radius: 16px; background: var(--bg-2); font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }
.lg-end { margin-top: 14px; padding: 24px; border-radius: 22px; background: color-mix(in srgb, var(--cc) 9%, var(--bg)); border: 1px solid color-mix(in srgb, var(--cc) 30%, var(--line)); text-align: center; display: grid; gap: 10px; }
.lg-end p:first-child { font-size: 18px; line-height: 1.7; color: var(--ink); }
.lg .lg-end-b { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(21px, 2.3vw, 26px); font-weight: 700; color: var(--ink); line-height: 1.25; }
@media (max-width: 600px) {
  .lg-who { grid-template-columns: minmax(0, 1fr); }
  .lg-who div { display: flex; align-items: center; gap: 14px; padding: 12px 14px; }
  .lg-who b { margin: 0; font-size: 28px; min-width: 52px; }
  .lg-list { grid-template-columns: minmax(0, 1fr); }
  .lg-day li { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; }
  .lg-day::before { left: 27px; }
  .lg p { font-size: 16.5px; }
}

/* Flagi przy językach */
.kp-flag { flex: none; display: inline-block; width: 22px; height: 15px; border-radius: 3.5px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 2px 6px -2px rgba(0,0,0,.5); }
.kp-flag svg { display: block; width: 100%; height: 100%; }
.lang-menu a.kp-has-flag { justify-content: flex-start; gap: 12px; }
.lang-menu a.kp-has-flag.active::after { margin-left: auto; }
.lang-menu a.kp-has-flag:hover .kp-flag { transform: scale(1.08); }
.kp-flag { transition: transform .35s cubic-bezier(.22,1,.36,1); }
.menu-lang a.kp-has-flag { gap: 8px; padding-left: 12px; }

/* ===== Taizé — parafia goszcząca ===== */
.tz { --tz: #F2B36B; padding-top: clamp(18px, 3vw, 34px); }
.tz-hero { position: relative; isolation: isolate; overflow: hidden; border-radius: 30px; padding: clamp(26px, 4.4vw, 60px); color: #fff;
  background: radial-gradient(90% 90% at 100% 0%, rgba(242,179,107,.38), transparent 60%), radial-gradient(70% 80% at 0% 100%, rgba(232,131,58,.18), transparent 60%), linear-gradient(160deg, #1A1F3A 0%, #0B1222 100%);
  border: 1px solid rgba(242,179,107,.28); box-shadow: 0 30px 70px -30px rgba(242,179,107,.45); }
.tz-hero::before { content: ""; position: absolute; z-index: -1; right: -60px; top: -60px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(255,214,150,.35), rgba(255,214,150,0) 65%); filter: blur(4px); animation: tz-glow 6s ease-in-out infinite alternate; }
@keyframes tz-glow { from { transform: scale(.92); opacity: .75; } to { transform: scale(1.06); opacity: 1; } }
.tz-badge { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 18px; padding: 7px 14px 7px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFD9A8; background: rgba(242,179,107,.14); border: 1px solid rgba(242,179,107,.45); }
.tz-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tz); box-shadow: 0 0 12px var(--tz); }
.tz-hero h1 { margin: 0; color: #fff; font-size: clamp(36px, 5.6vw, 70px); line-height: 1.02; letter-spacing: -.025em; max-width: 15ch; text-wrap: balance; }
.tz-hero h1 span { color: #FFD9A8; }
.tz-when { margin: 14px 0 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.3vw, 27px); color: #FFE3BD; }
.tz-lead { margin: 16px 0 0; max-width: 60ch; font-size: 17.5px; line-height: 1.65; color: rgba(255,255,255,.82); }
.tz-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 26px; max-width: 880px; }
.tz-facts div { position: relative; padding: 14px 16px 14px 18px; border-radius: 18px; background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.tz-facts div::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--tz); }
.tz-facts small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.tz-facts b { font-size: 16px; line-height: 1.35; color: #fff; }
.tz-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.tz .btn { min-height: 50px; padding: 0 24px; border-radius: 999px; font-weight: 800; font-size: 16px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.tz-go { background: var(--tz); color: #1A1206; border: 0; box-shadow: 0 12px 30px -12px var(--tz); }
.tz-go:hover { filter: brightness(1.06); transform: translateY(-1px); }
.tz-hero .tz-tel { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.tz-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(22px, 4vw, 56px); margin-top: clamp(30px, 4vw, 54px); align-items: start; }
.tz-main > p { font-size: 18px; line-height: 1.75; color: var(--ink-2); margin: 0 0 12px; }
.tz-h { margin: 34px 0 14px; font-size: clamp(23px, 2.4vw, 29px); line-height: 1.2; color: var(--ink); }
.tz-main .tz-h:first-child { margin-top: 0; }
.tz-h::before { content: ""; display: block; width: 120px; height: 3px; border-radius: 3px; margin-bottom: 14px; background: linear-gradient(90deg, var(--tz), rgba(242,179,107,0)); }
.tz-day { list-style: none; margin: 0; padding: 0; position: relative; }
.tz-day::before { content: ""; position: absolute; left: 47px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(var(--tz), rgba(242,179,107,.15)); }
.tz-day li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 10px 0; position: relative; }
.tz-day time { display: grid; place-items: center; height: 40px; padding: 0 6px; border-radius: 12px; font-weight: 800; font-size: 13.5px; white-space: nowrap; color: #1A1206; background: var(--tz); position: relative; z-index: 1; }
.tz-day b { display: block; font-size: 18px; color: var(--ink); margin-top: 8px; }
.tz-day span { display: block; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); margin-top: 2px; }
.tz-small { font-size: 14px !important; opacity: .8; }
.tz-help { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tz-help li { padding: 18px 20px; border-radius: 20px; background: color-mix(in srgb, var(--tz) 8%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 28%, var(--line)); }
.tz-help b { display: block; font-size: 18px; color: var(--ink); margin-bottom: 4px; }
.tz-help span { font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.tz-word { margin: 34px 0 6px; padding: 30px 24px 26px; border-radius: 24px; text-align: center; background: radial-gradient(120% 120% at 50% 0%, rgba(242,179,107,.22), transparent 70%), linear-gradient(160deg, #1A1F3A, #0B1222); border: 1px solid rgba(242,179,107,.3); }
.tz-word blockquote { margin: 0; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.5vw, 27px); line-height: 1.4; color: #fff; }
.tz-word figcaption { margin-top: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--tz); }
.tz-en { margin-top: 30px; padding: 20px 22px; border-radius: 20px; border: 1px dashed color-mix(in srgb, var(--tz) 50%, var(--line)); }
.tz-en h2 { margin: 0 0 8px; font-size: 19px; color: var(--ink); }
.tz-en p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.tz-side { position: sticky; top: 100px; display: grid; gap: 14px; }
.tz-card { display: grid; gap: 10px; padding: 24px; border-radius: 22px; background: radial-gradient(120% 80% at 100% 0%, rgba(242,179,107,.18), transparent 60%), color-mix(in srgb, var(--tz) 6%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 35%, var(--line)); }
.tz-card h3 { margin: 0; font-size: 22px; color: var(--ink); }
.tz-card p { margin: 0 0 4px; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.tz-card .tz-tel { background: transparent; color: var(--ink); border: 1px solid color-mix(in srgb, var(--tz) 35%, var(--line)); }
.tz-links a { color: var(--ink); text-decoration: none; font-weight: 600; padding: 8px 0; border-top: 1px solid var(--line-2); }
.tz-links a:hover { color: var(--tz); }
.tz-floor { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; margin: 22px 0 6px; padding: 22px 24px; border-radius: 24px; background: radial-gradient(120% 140% at 0% 50%, rgba(242,179,107,.24), transparent 65%), linear-gradient(160deg, #1A1F3A, #0B1222); border: 1px solid rgba(242,179,107,.35); }
.tz-floor > b { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(46px, 6vw, 64px); line-height: 1; color: #FFD9A8; white-space: nowrap; }
.tz-floor p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.8); }
.tz-floor strong { display: block; color: #fff; font-size: 18px; margin-bottom: 2px; }
.tz-ask { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 8px; }
.tz-ask li { position: relative; padding: 0 0 0 30px; font-size: 17.5px; line-height: 1.6; color: var(--ink-2); }
.tz-ask li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #1A1206; background: var(--tz); }
.tz-ask b { color: var(--ink); }
.tz-heart { margin: 14px 0 0 !important; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(21px, 2.4vw, 26px) !important; color: var(--ink) !important; }
.tz-themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tz-themes > div { position: relative; overflow: hidden; padding: 18px 18px 18px 20px; border-radius: 20px; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 65%), color-mix(in srgb, var(--c) 6%, var(--bg)); border: 1px solid color-mix(in srgb, var(--c) 35%, var(--line)); }
.tz-themes > div::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 3px; background: var(--c); }
.tz-themes b { display: block; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: 22px; color: var(--c); margin-bottom: 6px; }
.tz-themes span { display: block; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }
.tz-help a { color: var(--tz); }
.tz-centrum h4 { margin: 6px 0 0; padding-top: 12px; border-top: 1px solid var(--line-2); font-size: 16px; color: var(--ink); }
.tz-centrum a { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--tz) 60%, transparent); }
.tz-centrum small { color: var(--ink-3, var(--ink-2)); opacity: .85; }
@media (max-width: 600px) { .tz-themes { grid-template-columns: minmax(0, 1fr); } .tz-floor { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 20px; } }
@media (max-width: 900px) { .tz-body { grid-template-columns: minmax(0, 1fr); } .tz-side { position: static; } }
@media (max-width: 600px) {
  .tz-hero { border-radius: 24px; padding: 24px 18px; margin: 0 -4px; }
  .tz-facts { grid-template-columns: minmax(0, 1fr); }
  .tz-cta { display: grid; }
  .tz-day li { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  .tz-day time { font-size: 12.5px; padding: 0 4px; }
  .tz-day::before { left: 43px; }
}
/* strona główna: karta Taizé obok Komunii + znaczek w powitaniu */
.kom-promo .wrap { display: grid; gap: 14px; }
.kp-card.kp-taize { --kpc: #F2B36B; background: radial-gradient(80% 140% at 100% 0%, rgba(242,179,107,.26), transparent 60%), linear-gradient(160deg, rgba(26,31,58,.9), rgba(11,18,34,.92)) !important; border-color: rgba(242,179,107,.4) !important; }
.kp-card.kp-taize .kp-k { color: #FFD9A8 !important; }
.kp-card.kp-taize .kp-art { color: #FFD9A8 !important; border-color: rgba(242,179,107,.45) !important; background: rgba(242,179,107,.12) !important; }
.kp-card.kp-taize .kp-btn { background: #F2B36B !important; color: #1A1206 !important; }
.hero-taize { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px; padding: 7px 14px 7px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; color: #FFE3BD !important; background: rgba(242,179,107,.14); border: 1px solid rgba(242,179,107,.42); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .3s, transform .4s cubic-bezier(.22,1,.36,1); width: max-content; max-width: 100%; }
.hero-taize:hover { background: rgba(242,179,107,.24); transform: translateY(-1px); }
.hero-taize i { width: 8px; height: 8px; border-radius: 50%; background: #F2B36B; box-shadow: 0 0 10px #F2B36B; flex: none; }
#menu a.mg-tz { color: #FFD9A8 !important; font-weight: 600; }
#menu a.mg-tz .mg-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; font: 700 10.5px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #1A1206; background: #F2B36B; vertical-align: 1px; }
.hero-name .hero-taize { display: flex; margin: 0 0 16px; letter-spacing: 0; text-transform: none; }
/* Taizé — formularz domu goszczącego */
.tz-formsec { margin-top: 30px; scroll-margin-top: 90px; }
.tzf { display: grid; gap: 14px; padding: clamp(20px, 3vw, 30px); border-radius: 24px; background: radial-gradient(120% 70% at 100% 0%, rgba(242,179,107,.16), transparent 60%), color-mix(in srgb, var(--tz) 5%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 38%, var(--line)); box-shadow: 0 24px 50px -32px rgba(242,179,107,.6); }
.tzf h3 { margin: 0; font-size: clamp(22px, 2.4vw, 27px); color: var(--ink); }
.tzf-lead { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.tzf-f { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.tzf-f > span, .tzf-f legend { font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--ink); padding: 0; margin-bottom: 6px; }
.tzf-f small, .tzf-hint { font-size: 13px; color: var(--ink-2); margin: -4px 0 0; }
.tzf input:not([type=checkbox]), .tzf select, .tzf textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: 16px; }
.tzf textarea { min-height: 96px; resize: vertical; }
.tzf input:focus, .tzf select:focus, .tzf textarea:focus { outline: none; border-color: var(--tz); box-shadow: 0 0 0 4px rgba(242,179,107,.2); }
.tzf-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tzf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tzf-chips label { position: relative; cursor: pointer; }
.tzf-chips input { position: absolute; opacity: 0; pointer-events: none; }
.tzf-chips span { display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-size: 14.5px; transition: background .2s, border-color .2s, color .2s; }
.tzf-chips input:checked + span { background: var(--tz); border-color: var(--tz); color: #1A1206; font-weight: 700; }
.tzf-chips input:focus-visible + span { outline: 3px solid rgba(242,179,107,.5); outline-offset: 2px; }
.tzf-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ink); cursor: pointer; }
.tzf-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: #E8A04F; }
.tzf-rodo { font-size: 13px; color: var(--ink-2); }
.tzf-msg { margin: 0; font-size: 14.5px; font-weight: 600; }
.tzf-msg:empty { display: none; }
.tzf-bad { color: #FF8A8F; }
.tzf-send { justify-self: start; min-width: 220px; }
.tzf-done { text-align: center; justify-items: center; padding: 36px 24px; }
.tzf-ok { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; font-weight: 800; color: #1A1206; background: var(--tz); box-shadow: 0 10px 30px -10px var(--tz); }
.tzf-done p { margin: 0; color: var(--ink-2); }
@media (max-width: 600px) { .tzf-2 { grid-template-columns: minmax(0, 1fr); } .tzf-send { justify-self: stretch; } }
/* Taizé — logo */
.site-header .tz-head img { width: 19px; height: auto; display: block; opacity: .92; transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .3s; }
.site-header .tz-head:hover img { opacity: 1; transform: rotate(-8deg) scale(1.08); }
.kp-card.kp-taize .kp-art-tz img { width: 24px; height: auto; display: block; }
.tz-logo { float: right; width: clamp(150px, 22vw, 260px); height: auto; margin: 0 0 16px 24px; padding: 14px 18px; box-sizing: content-box; background: #fff; border-radius: 20px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.6); }
@media (max-width: 760px) { .tz-logo { float: none; display: block; width: 200px; margin: 0 0 18px; } }
/* Taizé — ładniejsze listy wyboru (strzałka z odstępem od krawędzi) */
.tzf select { -webkit-appearance: none; appearance: none; padding: 10px 52px 10px 18px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2B36B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center; background-size: 18px 18px; }
.tzf input:not([type=checkbox]), .tzf textarea { padding-left: 18px; padding-right: 18px; }
.tzf { padding: clamp(22px, 3.4vw, 36px); }
.tzf-2 { gap: 16px; }
.tz-logo { background: linear-gradient(160deg, #EFE9DE, #E2DACB); box-shadow: 0 18px 40px -18px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.35); }

/* ===== Przegląd wizualny (19.10) ===== */
/* godziny Mszy: na komputerze bez łamania wierszy */
#msze .time-list li { flex-wrap: nowrap; }
@media (max-width: 620px) { #msze .time-list li { flex-wrap: wrap; } }
/* strona główna: kancelaria i „czy należysz” są w kafelkach, na podstronach Kancelaria i Kontakt */
main:has(> .today) > #kancelaria, main:has(> .today) > #czy-nalezisz, main:has(.today) #kancelaria.section, main:has(.today) #czy-nalezisz.section { display: none; }
/* spowiedź jako karta pod godzinami Mszy */
.msze-spow { margin-top: 28px; padding: 20px 22px; border-radius: 20px; background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border: 1px solid var(--line); position: relative; }
.msze-spow::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 3px; background: #E3C27A; }
.msze-spow h2 { font-size: 20px; margin: 0 0 8px; }
.msze-spow h2::before { display: none !important; }
.msze-spow p { margin: 0 0 6px; font-size: 15.5px !important; line-height: 1.6 !important; color: var(--ink-2); max-width: none; }
.msze-spow p.lead { color: var(--ink); }
/* stopka: „Wyznacz trasę” i „Większy tekst” obok siebie */
.site-footer .ft-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.site-footer .ft-actions .ft-route { margin: 0 !important; }
.site-footer .kp-big-f { display: inline-flex; margin: 0; padding: 8px 14px 8px 10px; font-size: 13.5px; }
/* menu: „Większy tekst” */
#menu .mg-staff .kp-big-m { margin: 0 0 0 auto; padding: 8px 14px 8px 10px; font-size: 13.5px; }
@media (max-width: 1240px) { #menu .kp-big-m { margin: 18px 20px 4px; } #menu.mm .mg-staff-h { margin-left: 6px !important; } }
/* ikona Taizé w menu na telefonie */
#menu .mm-ic img { width: 19px; height: auto; display: block; }
@media (min-width: 1241px) { #menu .mg-tz .mm-ic { display: none !important; } }
/* telefon: wspólnoty Kairos On jako przewijany pasek kart (krótsza strona główna) */
@media (max-width: 600px) {
  main:has(.today) #invite-list .inv-sub { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; grid-template-columns: none; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 2px 12px; margin: 0 -2px; }
  main:has(.today) #invite-list .inv-sub::-webkit-scrollbar { display: none; }
  main:has(.today) #invite-list .inv-sub > li { scroll-snap-align: start; height: auto; }
  main:has(.today) #invite-list .inv-group::after { content: "Przesuń w bok →"; display: block; margin: 2px 4px 0; font-size: 12.5px; font-weight: 600; color: rgba(238,241,248,.5); text-align: right; }
  html[lang]:not([lang="pl"]) #invite-list .inv-group::after { content: "→"; }
  /* stopka: dwie kolumny linków obok siebie */
  .site-footer .footer-inner { display: grid; grid-template-columns: 1fr 1fr !important; gap: 26px 18px; }
  .site-footer .footer-inner > div:first-child { grid-column: 1 / -1; }
  .site-footer .footer-inner > .ft-col:last-child { grid-column: 1 / -1; }
  .site-footer .footer-links a { font-size: 15px; }
}
.tzf-info { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 14px; font-size: 14.5px; line-height: 1.5; color: var(--ink); background: rgba(242,179,107,.1); border: 1px solid rgba(242,179,107,.3); }
.tzf-info span { flex: none; font-size: 17px; line-height: 1.3; }
.tzf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* menu języków — liquid glass */
body .lang-menu { padding: 8px; min-width: 210px; border-radius: 22px; isolation: isolate; overflow: hidden;
  background: linear-gradient(155deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 38%, rgba(255,255,255,.03) 62%, rgba(255,255,255,.10) 100%), rgba(14,20,38,.6);
  -webkit-backdrop-filter: blur(34px) saturate(190%); backdrop-filter: blur(34px) saturate(190%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(255,255,255,.06), inset 0 0 0 .5px rgba(255,255,255,.08), 0 24px 60px -12px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.22);
  transform-origin: top right; animation: lmGlass .42s cubic-bezier(.22,1,.36,1); }
body .lang-menu::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
  background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.22), transparent 55%), radial-gradient(90% 50% at 110% 110%, rgba(140,156,245,.16), transparent 60%); }
body .lang-menu a { position: relative; padding: 10px 14px; border-radius: 14px; color: #fff; transition: background .25s, transform .3s cubic-bezier(.22,1,.36,1); }
body .lang-menu a:hover, body .lang-menu a:focus-visible { background: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); transform: translateX(2px); outline: none; }
body .lang-menu a.active { background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 0 0 1px rgba(255,255,255,.08); }
body .lang-menu a.active::after { color: #E3C27A; font-weight: 900; }
body .lang-menu .kp-flag { box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 2px 6px rgba(0,0,0,.3); }
@keyframes lmGlass { from { opacity: 0; transform: translateY(-6px) scale(.96); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); } to { opacity: 1; transform: none; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { body .lang-menu { background: rgba(16,22,40,.96); } }
@media (prefers-reduced-motion: reduce) { body .lang-menu { animation: none; } body .lang-menu a { transition: none; } }
/* dolny pasek (telefon) — liquid glass, owalny */
@media (max-width: 760px) {
  html body .dock-wrap { left: 14px; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 0 10px; border-radius: 999px; isolation: isolate;
    background: linear-gradient(160deg, rgba(255,255,255,.17) 0%, rgba(255,255,255,.05) 40%, rgba(255,255,255,.03) 65%, rgba(255,255,255,.11) 100%), rgba(14,20,38,.62);
    -webkit-backdrop-filter: blur(30px) saturate(190%); backdrop-filter: blur(30px) saturate(190%);
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(255,255,255,.07), 0 22px 50px -14px rgba(0,0,0,.7), 0 4px 14px rgba(0,0,0,.28); }
  html body .dock-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
    background: radial-gradient(70% 120% at 18% -30%, rgba(255,255,255,.24), transparent 60%), radial-gradient(60% 120% at 100% 130%, rgba(227,194,122,.16), transparent 60%); }
  html body .dock-wrap > .dock { border-radius: 999px; padding: 7px 0; }
  html body .dock-wrap > .dock a { padding: 8px 2px 9px; border-radius: 999px; transition: background .3s, transform .2s, box-shadow .3s; }
  html body .dock-wrap > .dock a:active { background: rgba(255,255,255,.12); }
  html body .dock-wrap > .dock a.dk-here { background: rgba(255,255,255,.13); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), inset 0 0 0 1px rgba(255,255,255,.08); }
  html body .dock-wrap > .dock a.dk-here svg { color: #E3C27A; }
  html body .dock-wrap .dk-arrow { width: 30px; height: 30px; border-radius: 50%; color: #E3C27A;
    background: linear-gradient(160deg, rgba(255,255,255,.22), rgba(255,255,255,.06)), rgba(14,20,38,.55);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 4px 12px rgba(0,0,0,.35); }
  html body .dock-wrap .dk-arrow.l { left: 6px; } html body .dock-wrap .dk-arrow.r { right: 6px; }
  html body .dock-wrap .dk-track { bottom: 5px; width: 40px; height: 3px; margin-left: -20px; background: rgba(255,255,255,.14); }
  html body .dock-wrap .dk-track i { background: linear-gradient(90deg, #E3C27A, #F3DDA6); }
  html body .dock-wrap > .dock.dk-more-r { -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent 97%); mask-image: linear-gradient(90deg, #000 80%, transparent 97%); }
  html body .dock-wrap > .dock.dk-more-l { -webkit-mask-image: linear-gradient(90deg, transparent 3%, #000 20%); mask-image: linear-gradient(90deg, transparent 3%, #000 20%); }
  html body .dock-wrap > .dock.dk-more-l.dk-more-r { -webkit-mask-image: linear-gradient(90deg, transparent 3%, #000 20%, #000 80%, transparent 97%); mask-image: linear-gradient(90deg, transparent 3%, #000 20%, #000 80%, transparent 97%); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { @media (max-width: 760px) { html body .dock-wrap { background: rgba(14,20,38,.96); } } }
/* nagłówek strony (h1) wygląda jak dotychczasowy nagłówek sekcji */
h1.as-h2 { font-size: clamp(32px, 4vw, 48px); }
.section .section-head > h1.as-h2::before { content: ""; display: block; width: 160px; height: 3px; border-radius: 3px; margin-bottom: 20px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
@media (prefers-reduced-motion: reduce) { .section .section-head > h1.as-h2::before { animation: none; } }
.km h1.as-h2, .sp h1.as-h2 { margin: 0 0 16px; }
.ws2 .ws-hero > h1.as-h2::before { display: none; }
/* dolny pasek: tryb zwinięty przy przewijaniu w dół (jak w Instagramie) */
@media (max-width: 760px) {
  html body .dock-wrap { transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s; }
  html body .dock-wrap > .dock a { transition: padding .4s cubic-bezier(.22,1,.36,1), gap .4s cubic-bezier(.22,1,.36,1), background .3s, transform .2s; }
  html body .dock-wrap .dk-lb { display: block; max-height: 16px; overflow: hidden; transition: max-height .4s cubic-bezier(.22,1,.36,1), opacity .25s; }
  html body .dock-wrap.dk-compact > .dock { padding-block: 4px; }
  html body .dock-wrap.dk-compact > .dock a { padding-block: 9px; gap: 0; }
  html body .dock-wrap.dk-compact .dk-lb { max-height: 0; opacity: 0; }
  html body .dock-wrap.dk-compact { transform: translateY(4px) scale(.97); }
  html body .dock-wrap.dk-compact .dk-track { opacity: 0; }
  html body .dock-wrap .dk-track { transition: opacity .3s; }
  html body .dock-wrap.dk-compact .dk-arrow { width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) { html body .dock-wrap, html body .dock-wrap > .dock a, html body .dock-wrap .dk-lb { transition: none; } }
/* Msze: kolumny nie mogą wychodzić poza kontener (dzień powszedni wychodził za prawą krawędź) */
@media (min-width: 621px) { #msze .times { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(28px, 4vw, 64px); } }
#msze .time-list li > * { min-width: 0; }
#msze .times-group { grid-template-columns: minmax(0, 1fr); min-width: 0; }
@media (min-width: 761px) { #msze .section-inner { display: block; } #msze .section-head { max-width: 640px; margin-bottom: 34px; position: static; } #msze .tl-badge, #msze .tl-when { margin-right: auto; } }
/* Komunia: data urodzenia — „dzień” nie może być ucięty; dłuższe pole na uwagi */
@media (max-width: 480px) { html body .km .km-dmy { grid-template-columns: 1.1fr 1.4fr 1fr; gap: 6px; } html body .km .km-dmy select { padding-left: 10px; padding-right: 22px; background-position: right 7px center; font-size: 15px; } }
.km textarea { min-height: 96px; }
/* Wesprzyj: podpis pod kodem QR na białej karcie był zbyt jasny */
.donate-qr .muted, .donate-qr p.small { color: #3A4256 !important; }
/* Napisz: „Jesteśmy też tutaj” w osobnej linii na telefonie, przyciski równo pod spodem */
@media (max-width: 600px) { .kh-soc small { flex-basis: 100%; margin: 0 0 2px; } }
/* większe pola dotyku na telefonie (bez zmiany wyglądu) */
@media (pointer: coarse) {
  .hs-dots .hs-dot { position: relative; }
  .hs-dots .hs-dot::after { content: ""; position: absolute; inset: -14px -8px; }
  .km .km-ics { display: inline-flex; align-items: center; min-height: 40px; }
}
/* menu: szkło tylko na telefonie (na komputerze menu zostaje jak było) */
@media (max-width: 760px) {
/* menu na smartfonie — kafelki liquid glass */
html body #menu.mm { background:
    radial-gradient(70% 28% at 0% 4%, rgba(43,108,176,.38), transparent 70%),
    radial-gradient(60% 24% at 100% 22%, rgba(201,164,90,.2), transparent 70%),
    radial-gradient(70% 26% at 0% 52%, rgba(140,156,245,.18), transparent 70%),
    radial-gradient(60% 26% at 100% 78%, rgba(43,108,176,.26), transparent 70%),
    radial-gradient(70% 24% at 10% 100%, rgba(201,164,90,.14), transparent 70%), #0D1525;
  background-attachment: local; }
html body #menu.mm .mm-top { background: rgba(13,21,37,.55); -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%); border-bottom-color: rgba(255,255,255,.1); }
html body #menu.mm .mm-x { background: linear-gradient(160deg, rgba(255,255,255,.18), rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
#menu.mm .mm-quick > a, #menu.mm .mg-col > a.mg-a, #menu.mm .mm-list, #menu.mm .mg-staff-l {
  position: relative; border-radius: 22px;
  background: linear-gradient(155deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.025) 68%, rgba(255,255,255,.08) 100%);
  -webkit-backdrop-filter: blur(18px) saturate(175%); backdrop-filter: blur(18px) saturate(175%);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 26px -14px rgba(0,0,0,.7); }
#menu.mm .mm-quick > a { border-radius: 20px; }
#menu.mm .mm-list > a, #menu.mm .mg-staff-l > a { background: transparent; }
#menu.mm .mm-list > a + a::before { border-color: rgba(255,255,255,.08); }
#menu.mm .mm-quick > a:active, #menu.mm .mg-col > a.mg-a:active, #menu.mm .mm-list > a:active, #menu.mm .mg-staff-l > a:active { background: rgba(255,255,255,.12); }
#menu.mm .mm-quick > a svg, #menu.mm .mg-col > a.mg-a svg { filter: drop-shadow(0 2px 6px rgba(227,194,122,.25)); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { #menu.mm .mm-quick > a, #menu.mm .mg-col > a.mg-a, #menu.mm .mm-list, #menu.mm .mg-staff-l { background: rgba(255,255,255,.07); } }
/* (nadpisanie stylów wstrzykiwanych przez menu-mobile.js) */
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join {
  border-radius: 22px !important;
  background: linear-gradient(155deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.025) 68%, rgba(255,255,255,.085) 100%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(175%); backdrop-filter: blur(18px) saturate(175%);
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 26px -14px rgba(0,0,0,.75) !important; }
html body #menu.mm .mm-quick a { border-radius: 20px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 999px !important; }
html body #menu.mm .mm-cta .menu-donate { box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 24px -12px rgba(201,164,90,.7) !important; }
html body #menu.mm .mm-list { border-radius: 22px; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(155deg, rgba(227,194,122,.28), rgba(227,194,122,.08)) !important; border-color: rgba(227,194,122,.4) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active { background: rgba(255,255,255,.16) !important; transform: scale(.97) !important; }
html body #menu.mm .menu-lang a { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.1) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
html body #menu.mm .menu-lang a.active { background: #EEF1F8 !important; }
html body #menu.mm .mm-soc a { border-radius: 50% !important; background: linear-gradient(155deg, rgba(255,255,255,.15), rgba(255,255,255,.04) 55%, rgba(255,255,255,.08)) !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 8px 20px -12px rgba(0,0,0,.7) !important; }
html body #menu.mm .mg-col:first-child a { padding-inline: 10px !important; }
/* menu na smartfonie — wersja „iOS / macOS”: mniej zaokrąglone, spokojniejsze szkło, cienkie krawędzie */
html body #menu.mm { background:
    radial-gradient(80% 30% at 0% 0%, rgba(43,108,176,.22), transparent 70%),
    radial-gradient(70% 26% at 100% 40%, rgba(201,164,90,.1), transparent 70%),
    radial-gradient(80% 30% at 0% 85%, rgba(43,108,176,.14), transparent 70%), #0C1422; background-attachment: local; }
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join {
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045)) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
  border: .5px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.22), 0 1px 2px rgba(0,0,0,.25) !important; }
html body #menu.mm .mm-quick a { border-radius: 13px !important; }
html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04)) !important;
  border: .5px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.25) !important; }
html body #menu.mm .mm-list > a + a::before { background: rgba(255,255,255,.09) !important; height: .5px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 12px !important; }
html body #menu.mm .mm-cta .menu-donate { background: linear-gradient(180deg, #D7B56C, #C29E54) !important; box-shadow: inset 0 .5px 0 rgba(255,255,255,.45), 0 1px 2px rgba(0,0,0,.3) !important; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(180deg, rgba(227,194,122,.2), rgba(227,194,122,.1)) !important; border-color: rgba(227,194,122,.35) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active, html body #menu.mm .mm-list > a:active { background: rgba(255,255,255,.14) !important; transform: none !important; }
html body #menu.mm .mm-soc a { background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045)) !important; border: .5px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 .5px 0 rgba(255,255,255,.22) !important; }
html body #menu.mm .menu-lang a { border: .5px solid rgba(255,255,255,.12) !important; box-shadow: none !important; }
html body #menu.mm .mm-x { background: rgba(255,255,255,.1); border: .5px solid rgba(255,255,255,.14); box-shadow: none; }
html body #menu.mm .mm-top { background: rgba(12,20,34,.72); border-bottom: .5px solid rgba(255,255,255,.1); }
html body #menu.mm .mm-quick > a svg, html body #menu.mm .mg-col > a.mg-a svg { filter: none; }
/* menu na smartfonie — szkło jak na karcie „Komunia Św. 2027” (zaokrąglenia umiarkowane, w stylu iOS) */
html body #menu.mm { background:
    radial-gradient(90% 34% at 0% 0%, rgba(43,108,176,.42), transparent 70%),
    radial-gradient(80% 30% at 100% 36%, rgba(30,80,150,.32), transparent 70%),
    radial-gradient(70% 26% at 0% 68%, rgba(201,164,90,.14), transparent 70%),
    radial-gradient(90% 34% at 100% 100%, rgba(43,108,176,.3), transparent 70%), #0B1424; background-attachment: local; }
html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l, html body #menu.mm .mm-soc a {
  position: relative; isolation: isolate;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.28) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 40px -26px rgba(0,0,0,.75) !important; }
html body #menu.mm .mm-quick a::after, html body #menu.mm .mg-col:first-child a::after, html body #menu.mm .mm-list::after, html body #menu.mm .mg-staff-l::after, html body #menu.mm .mm-cta .menu-join::after {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: radial-gradient(120% 60% at 20% -10%, rgba(255,255,255,.2), transparent 55%); }
html body #menu.mm .mm-quick a { border-radius: 16px !important; }
html body #menu.mm .mg-col:first-child a { border-radius: 18px !important; }
html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { border-radius: 18px !important; overflow: hidden; }
html body #menu.mm .mm-list > a, html body #menu.mm .mg-staff-l > a { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body #menu.mm .mm-list > a + a::before { background: rgba(255,255,255,.12) !important; height: 1px !important; }
html body #menu.mm .mm-cta .menu-join, html body #menu.mm .mm-cta .menu-donate { border-radius: 14px !important; }
html body #menu.mm .mm-soc a { border-radius: 50% !important; }
/* ikona kafelka w szklanym kwadraciku, jak na karcie Komunii */
html body #menu.mm .mg-col:first-child a .mm-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
html body #menu.mm .mg-col:first-child a .mm-ic svg { width: 20px; height: 20px; }
html body #menu.mm .mg-col:first-child a.mm-cur { background: linear-gradient(180deg, rgba(227,194,122,.26), rgba(227,194,122,.1)), rgba(14,24,42,.28) !important; border-color: rgba(227,194,122,.45) !important; }
html body #menu.mm .mm-quick a:active, html body #menu.mm .mg-col:first-child a:active { background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.1)), rgba(14,24,42,.28) !important; }
html body #menu.mm .mm-list > a:active, html body #menu.mm .mg-staff-l > a:active { background: rgba(255,255,255,.1) !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html body #menu.mm .mm-quick a, html body #menu.mm .mg-col:first-child a, html body #menu.mm .mm-list, html body #menu.mm .mg-staff-l { background: rgba(26,38,62,.92) !important; } }
}
/* ===== Kalendarz adwentowy dla dzieci (adwent.html) ===== */
.adv { margin-top: 44px; padding: clamp(20px, 3vw, 32px); border-radius: 26px; position: relative; isolation: isolate;
  background: radial-gradient(120% 80% at 0% 0%, rgba(140,156,245,.16), transparent 60%), radial-gradient(90% 70% at 100% 100%, rgba(227,194,122,.14), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 60px -34px rgba(0,0,0,.8); }
.adv-k { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #E3C27A; }
.adv-t { margin: 0 0 8px; font-size: clamp(26px, 3.4vw, 36px); line-height: 1.1; color: var(--ink); }
.adv-lead { margin: 0 0 18px; max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.adv-skyw { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px -24px rgba(0,0,0,.8); }
.adv-sky { display: block; width: 100%; height: auto; }
.adv-st path { fill: rgba(255,255,255,.22); transition: fill .4s; }
.adv-st.on path { fill: #FFE29A; filter: drop-shadow(0 0 3px rgba(255,226,154,.9)); animation: adv-tw 3.2s ease-in-out var(--d, 0s) infinite; transform-box: fill-box; transform-origin: center; }
.adv-big path { fill: rgba(255,255,255,.28); }
.adv-big.on path { fill: #FFF1C4; filter: drop-shadow(0 0 8px #FFD87A); }
.adv-pop path { animation: adv-pop .9s cubic-bezier(.2,1.6,.4,1) both !important; transform-box: fill-box; transform-origin: center; }
@keyframes adv-tw { 0%, 100% { opacity: 1; } 50% { opacity: .65; } }
@keyframes adv-pop { from { transform: scale(.2); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.adv-count { position: absolute; right: 12px; top: 12px; display: grid; justify-items: end; padding: 8px 12px; border-radius: 14px; color: #fff; font-size: 14px;
  background: rgba(10,18,40,.45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.18); }
.adv-count b { font-size: 22px; line-height: 1; color: #FFE29A; }
.adv-count span { font-size: 11px; letter-spacing: .04em; color: rgba(255,255,255,.75); }
.adv-soon, .adv-fin { margin: 14px 0 0; padding: 12px 16px; border-radius: 14px; font-size: 15.5px; line-height: 1.5; color: var(--ink); background: rgba(227,194,122,.1); border: 1px solid rgba(227,194,122,.3); }
.adv-grid { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; }
.adv-w { width: 100%; min-height: 76px; display: grid; justify-items: start; align-content: space-between; gap: 2px; padding: 9px 10px; border-radius: 14px; cursor: pointer; text-align: left; font: inherit; color: var(--ink);
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); position: relative; transition: transform .2s, background .3s, border-color .3s; }
.adv-w:hover { transform: translateY(-2px); }
.adv-n { font-family: var(--display); font-size: 22px; font-weight: 700; line-height: 1; }
.adv-dt { font-size: 11.5px; color: var(--ink-2); padding-right: 16px; }
.adv-ic { position: absolute; right: 8px; bottom: 7px; font-size: 14px; line-height: 1; }
.adv-open { border-color: rgba(227,194,122,.55); }
.adv-open .adv-ic { color: #E3C27A; }
.adv-ok { background: linear-gradient(160deg, rgba(255,226,154,.32), rgba(227,194,122,.12)); border-color: rgba(255,226,154,.6); }
.adv-ok .adv-ic { color: #FFE29A; text-shadow: 0 0 8px rgba(255,226,154,.8); }
.adv-lock { opacity: .55; }
.adv-lock .adv-ic { font-size: 11px; }
.adv-today { box-shadow: 0 0 0 2px #E3C27A, 0 0 18px -2px rgba(227,194,122,.7); }
.adv-last { border-color: rgba(255,226,154,.45); background: radial-gradient(90% 90% at 100% 0%, rgba(255,226,154,.18), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); }
.adv-note { margin: 12px 0 0; font-size: 13px; color: var(--ink-2); opacity: .85; }
.adv-dlg { width: min(92vw, 440px); padding: 0; border: 0; border-radius: 24px; background: transparent; color: var(--ink); }
.adv-dlg::backdrop { background: rgba(5,10,24,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.adv-box { position: relative; margin: 0; padding: 26px 22px 22px; border-radius: 24px; background: radial-gradient(120% 70% at 50% 0%, rgba(255,226,154,.18), transparent 60%), #111B30; border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 30px 70px -20px rgba(0,0,0,.8); }
.adv-dk { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #E3C27A; }
.adv-dtx { margin: 0 0 18px; font-size: 19px; line-height: 1.5; color: #fff; }
.adv-acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.adv-do { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; font: inherit; font-weight: 800; color: #1A1206; background: linear-gradient(180deg, #FFE29A, #E3C27A); box-shadow: 0 10px 24px -10px rgba(227,194,122,.8); cursor: pointer; }
.adv-undo { min-height: 40px; padding: 0 16px; border-radius: 999px; font: inherit; color: var(--ink-2); background: transparent; border: 1px solid rgba(255,255,255,.2); cursor: pointer; }
.adv-litmsg { font-weight: 700; color: #FFE29A; }
.adv-x { position: absolute; right: 10px; top: 8px; width: 40px; height: 40px; border: 0; border-radius: 50%; font-size: 26px; line-height: 1; color: var(--ink-2); background: transparent; cursor: pointer; }
@media (max-width: 600px) { .adv-count { right: 8px; top: 8px; padding: 5px 9px; border-radius: 11px; font-size: 12px; } .adv-count b { font-size: 17px; } .adv-count span { display: none; } .adv { margin-top: 32px; border-radius: 22px; } .adv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; } .adv-w { min-height: 70px; padding: 8px; } .adv-n { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .adv-st.on path, .adv-pop path { animation: none !important; } .adv-w { transition: none; } }
@media (min-width: 900px) {
  .adv { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 28px; align-items: start; }
  .adv > .adv-head { grid-column: 1 / -1; }
  .adv > .adv-skyw { grid-column: 1; grid-row: 2 / span 4; }
  .adv > .adv-soon, .adv > .adv-fin, .adv > .adv-grid, .adv > .adv-note { grid-column: 2; }
  .adv > .adv-soon, .adv > .adv-fin { margin-top: 0; margin-bottom: 12px; }
  .adv > .adv-grid { margin-top: 0; grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
/* ===== Powiadomienia z parafii ===== */
.kp-push-btn { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px 9px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: inherit; font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: background .3s, border-color .3s; }
.kp-push-btn svg { width: 18px; height: 18px; color: #E3C27A; flex: none; }
.kp-push-btn:hover { background: rgba(255,255,255,.12); }
.kp-push-btn[aria-pressed="true"] { border-color: rgba(60,203,127,.55); background: rgba(60,203,127,.12); }
.kp-push-btn[aria-pressed="true"] svg { color: #3CCB7F; }
.site-footer .kp-push-f { padding: 8px 14px 8px 10px; font-size: 13.5px; color: rgba(244,246,252,.85); }
#menu .kp-push-m { margin: 10px 20px 4px; }
@media (min-width: 1241px) { #menu .kp-push-m { display: none; } }
.kp-push-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 16px; padding: 20px 22px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
.kp-push-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.35); }
.kp-push-ic svg { width: 26px; height: 26px; color: #E3C27A; }
.kp-push-tx h3 { margin: 0 0 4px; font-size: 19px; color: var(--ink); }
.kp-push-tx p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); max-width: 60ch; }
.kp-push-c { white-space: nowrap; background: linear-gradient(180deg, #F0D48E, #E3C27A); color: #1A1206; border: 0; padding: 12px 18px 12px 14px; }
.kp-push-c svg { color: #1A1206; }
.kp-push-c[aria-pressed="true"] { background: rgba(255,255,255,.08); color: var(--ink); border: 1px solid rgba(255,255,255,.2); }
.kp-push-c[aria-pressed="true"] svg { color: #3CCB7F; }
@media (max-width: 700px) { .kp-push-card { grid-template-columns: auto minmax(0, 1fr); padding: 18px; align-items: start; } .kp-push-c { grid-column: 1 / -1; justify-self: start; } .kp-push-ic { width: 44px; height: 44px; border-radius: 14px; } }
.kp-push-msg { position: fixed; left: 50%; bottom: calc(100px + env(safe-area-inset-bottom)); z-index: 10000; width: min(92vw, 460px); transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  display: flex; gap: 12px; align-items: center; padding: 14px 14px 14px 18px; border-radius: 18px; color: #fff; font-size: 14.5px; line-height: 1.5;
  background: rgba(14,22,40,.82); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 20px 50px -20px rgba(0,0,0,.8); transition: opacity .3s, transform .4s cubic-bezier(.22,1,.36,1); }
.kp-push-msg.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.kp-push-msg p { margin: 0; flex: 1; }
.kp-push-msg button { flex: none; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; font: inherit; font-size: 13px; cursor: pointer; }
@media (min-width: 761px) { .kp-push-msg { bottom: 28px; } }
/* ===== „Zapytaj parafię” — asystent ===== */
.kp-ask-fab { position: fixed; left: 20px; bottom: 24px; z-index: 60; display: inline-flex; align-items: center; gap: 9px; height: 48px; padding: 0 18px 0 14px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 14.5px; font-weight: 700; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)), rgba(14,24,42,.6); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 14px 34px -14px rgba(0,0,0,.75); transition: transform .3s cubic-bezier(.22,1,.36,1), opacity .3s; }
.kp-ask-fab svg { width: 22px; height: 22px; color: #E3C27A; }
.kp-ask-fab:hover { transform: translateY(-2px); }
.kp-ask-fab.on { opacity: 0; pointer-events: none; transform: scale(.9); }
.kp-ask { position: fixed; left: 20px; bottom: 24px; z-index: 61; width: min(400px, calc(100vw - 40px)); height: min(600px, calc(100dvh - 120px)); display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.03)), rgba(12,20,36,.88); -webkit-backdrop-filter: blur(26px) saturate(1.6); backdrop-filter: blur(26px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 30px 80px -24px rgba(0,0,0,.85);
  opacity: 0; transform: translateY(14px) scale(.98); transform-origin: bottom left; transition: opacity .22s, transform .3s cubic-bezier(.22,1,.36,1); }
.kp-ask.show { opacity: 1; transform: none; }
.kp-ask-h { display: flex; align-items: center; gap: 10px; padding: 14px 12px 12px 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.kp-ask-h b { flex: 1; font-size: 16px; }
.kp-ask-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: rgba(227,194,122,.14); border: 1px solid rgba(227,194,122,.35); }
.kp-ask-ic svg { width: 18px; height: 18px; color: #E3C27A; }
.kp-ask-clr { padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: transparent; color: rgba(255,255,255,.75); font: inherit; font-size: 12.5px; cursor: pointer; }
.kp-ask-x { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.kp-ask-list { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 14px 14px 6px; display: flex; flex-direction: column; gap: 10px; }
.kp-ask-m { max-width: 88%; padding: 10px 13px; border-radius: 16px; font-size: 14.5px; line-height: 1.55; }
.kp-ask-m p { margin: 0; } .kp-ask-m p + p { margin-top: 8px; }
.kp-ask-m a { color: #F0D48E; text-decoration: underline; text-underline-offset: 2px; word-break: break-word; }
.kp-ask-m.a { align-self: flex-start; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-bottom-left-radius: 6px; }
.kp-ask-m.u { align-self: flex-end; background: linear-gradient(180deg, #F0D48E, #E3C27A); color: #1A1206; border-bottom-right-radius: 6px; }
.kp-ask-sug { display: flex; flex-wrap: wrap; gap: 7px; }
.kp-ask-sug button { padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(227,194,122,.4); background: rgba(227,194,122,.08); color: #fff; font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
.kp-ask-wait { display: flex; gap: 5px; padding: 14px; }
.kp-ask-wait i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.7); animation: kp-ask-dot 1s infinite ease-in-out; }
.kp-ask-wait i:nth-child(2) { animation-delay: .15s; } .kp-ask-wait i:nth-child(3) { animation-delay: .3s; }
.kp-ask-wait .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@keyframes kp-ask-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.kp-ask-f { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px 6px; }
.kp-ask-f textarea { flex: 1; resize: none; min-height: 44px; max-height: 120px; padding: 11px 14px; border-radius: 22px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.07); color: #fff; font: inherit; font-size: 16px; line-height: 1.4; }
.kp-ask-f textarea::placeholder { color: rgba(255,255,255,.5); }
.kp-ask-f button { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: #1A1206; background: linear-gradient(180deg, #F0D48E, #E3C27A); }
.kp-ask-f button svg { width: 20px; height: 20px; }
.kp-ask-note { margin: 0; padding: 2px 16px 12px; font-size: 11.5px; color: rgba(255,255,255,.55); }
@media (max-width: 760px) {
  .kp-ask-fab { left: 14px; bottom: calc(96px + env(safe-area-inset-bottom)); height: 42px; padding: 0 14px 0 11px; font-size: 13.5px; }
  html:not(.kp-has-dock) body .kp-ask-fab { bottom: calc(18px + env(safe-area-inset-bottom)); }
  .kp-ask { left: 8px; right: 8px; bottom: 8px; width: auto; height: min(78dvh, 640px); border-radius: 22px; }
}
html:has(#menu:popover-open) .kp-ask-fab { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .kp-ask, .kp-ask-fab { transition: none; } .kp-ask-wait i { animation: none; } }
@media print { .kp-ask-fab, .kp-ask { display: none !important; } }
/* Napisz/Kontakt: ikonki w kafelkach dokładnie na środku (reguła „.kh-c span” zmieniała je w zwykły blok) */
.kh-c span.kh-ic { display: grid; place-items: center; margin: 0; line-height: 1; font-size: 0; color: #E2C27F; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.3); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.kh-c span.kh-ic svg { display: block; margin: 0; }
.kp-card.kp-adw { --kpc: #8C9CF5; background: radial-gradient(80% 140% at 100% 0%, rgba(140,156,245,.3), transparent 60%), radial-gradient(60% 120% at 0% 100%, rgba(255,226,154,.14), transparent 60%), linear-gradient(160deg, rgba(22,40,90,.88), rgba(10,20,48,.92)) !important; border-color: rgba(160,175,255,.4) !important; }
.kp-card.kp-adw .kp-k { color: #FFE29A !important; }
.kp-card.kp-adw .kp-art { color: #FFE29A !important; border-color: rgba(255,226,154,.45) !important; background: rgba(255,226,154,.12) !important; }
.kp-card.kp-adw .kp-btn { background: linear-gradient(180deg, #FFE29A, #E3C27A) !important; color: #1A1206 !important; }
.kom-promo .kp-push-card { margin-top: 0; }
/* ===== Bierzmowanie ===== */
.bz-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 6px 0 34px; }
.bz-path { position: relative; padding: 22px 22px 20px 72px; border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
.bz-path h3 { margin: 0 0 6px; font-size: 19px; color: var(--ink); }
.bz-path p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.bz-num { position: absolute; left: 20px; top: 20px; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-family: var(--display); font-weight: 800; font-size: 18px; color: #1A1206; background: linear-gradient(180deg, #F3D9A0, #E3C27A); }
.bz-path-2 { border-color: rgba(227,194,122,.4); background: radial-gradient(90% 120% at 100% 0%, rgba(227,194,122,.16), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); }
.bz-info { margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bz-info ul { margin: 0 0 10px; padding-left: 18px; display: grid; gap: 6px; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.bz-info ul b { color: var(--ink); }
.bz-info p { font-size: 14.5px; }
.bz-stage { border: 0; margin: 0 0 6px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bz-stage legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: var(--ink); }
.bz-stage label { cursor: pointer; }
.bz-stage input { position: absolute; opacity: 0; pointer-events: none; }
.bz-stage span { display: grid; gap: 2px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.03); transition: border-color .2s, background .2s, box-shadow .2s; }
.bz-stage b { font-size: 18px; color: var(--ink); }
.bz-stage small { font-size: 13.5px; color: var(--ink-2); }
.bz-stage input:checked + span { border-color: #E3C27A; background: rgba(227,194,122,.12); box-shadow: 0 0 0 1px #E3C27A inset; }
.bz-stage input:focus-visible + span { outline: 2px solid #E3C27A; outline-offset: 2px; }
.bz-h { margin: 22px 0 10px; font-size: 15px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #E3C27A; }
.sp-f small { font-weight: 400; }
@media (max-width: 900px) { .bz-info { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .bz-paths { grid-template-columns: minmax(0, 1fr); } .bz-path { padding: 18px 18px 18px 66px; } }
.bz-info ul { list-style: disc; } .bz-info li::marker { color: #E3C27A; }
/* menu języków: odstęp między pozycjami, bez przesuwania przy najechaniu (podświetlenia nie nachodzą na siebie) */
body .lang-menu:not([hidden]) { display: grid; gap: 4px; }
body .lang-menu a { margin: 0; transform: none !important; }
body .lang-menu a:hover, body .lang-menu a:focus-visible { transform: none !important; background: rgba(255,255,255,.08); box-shadow: none; }
body .lang-menu a.active, body .lang-menu a.active:hover { background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.22); }
/* Zamów Mszę: krótsza lista terminów, ofiara zwinięta, błędy przy polu */
.slotpick-more { display: block; width: 100%; margin: 6px 0 4px; padding: 11px 12px; border-radius: 10px; border: 1px dashed color-mix(in srgb, var(--brass-dot, #C9A45A) 60%, var(--line)); background: transparent; color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.slotpick-more:hover { background: rgba(201,164,90,.08); }
.int-off { margin: 4px 0 14px; border: 1px solid var(--line); border-radius: 14px; padding: 0 14px; background: rgba(255,255,255,.02); }
.int-off > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 14px 24px 14px 0; position: relative; font-weight: 700; color: var(--ink); }
.int-off > summary::-webkit-details-marker { display: none; }
.int-off > summary::after { content: "+"; position: absolute; right: 2px; top: 10px; font-size: 22px; font-weight: 400; color: var(--brass-dot, #C9A45A); }
.int-off[open] > summary::after { content: "−"; }
.int-off > summary small { font-weight: 400; font-size: 13.5px; color: var(--ink-2); }
.int-off[open] { padding-bottom: 12px; }
.int-bad, .int-f textarea.int-bad, .int-f input.int-bad { border-color: #E5484D !important; box-shadow: 0 0 0 3px rgba(229,72,77,.18) !important; }
.slotpick.int-bad { border-color: #E5484D !important; }
.nf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.nf-a { display: grid; gap: 3px; padding: 16px 18px; border-radius: 18px; text-decoration: none; color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); transition: border-color .2s, transform .2s; }
.nf-a:hover { border-color: #E3C27A; transform: translateY(-2px); }
.nf-a b { font-size: 17px; } .nf-a span { font-size: 14px; color: var(--ink-2); }
/* Strona główna: kolęda na pierwszym ekranie */
.hero-open .hero-note-wrap { grid-area: note; display: grid; gap: 14px; justify-items: start; }
.hero-kol { display: inline-grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; max-width: 520px; padding: 11px 16px 11px 12px; border-radius: 18px; text-decoration: none; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)), rgba(14,24,42,.3); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 14px 30px -18px rgba(0,0,0,.7); transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s; }
.hero-kol:hover { transform: translateY(-2px); border-color: rgba(227,194,122,.6); }
.hk-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #E3C27A; background: rgba(227,194,122,.14); border: 1px solid rgba(227,194,122,.35); }
.hk-ic svg { width: 22px; height: 22px; }
.hk-tx { display: grid; gap: 1px; min-width: 0; }
.hk-tx b { display: flex; align-items: center; gap: 7px; font-size: 15px; }
.hk-tx > span { font-size: 13.5px; color: rgba(255,255,255,.78); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hk-go { color: #E3C27A; font-weight: 700; }
.hk-dot { width: 9px; height: 9px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 0 rgba(60,203,127,.6); animation: hk-pulse 1.8s infinite; flex: none; }
@keyframes hk-pulse { 70% { box-shadow: 0 0 0 9px rgba(60,203,127,0); } 100% { box-shadow: 0 0 0 0 rgba(60,203,127,0); } }
.hero-kol.hk-live { border-color: rgba(60,203,127,.5); }
:root[data-theme=light] .hero-open:not(.has-photo) .hero-kol { color: var(--ink); background: rgba(255,255,255,.7); border-color: rgba(20,72,124,.16); }
:root[data-theme=light] .hero-open:not(.has-photo) .hk-tx > span { color: var(--ink-2); }
@media (max-width: 600px) { .hero-kol { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .hk-dot { animation: none; } }
html body #menu.mm .mm-search { display: flex; align-items: center; gap: 10px; width: calc(100% - 28px); margin: 12px 14px 4px; padding: 12px 14px; border-radius: 14px; font: inherit; font-size: 15px; text-align: left; cursor: pointer; color: rgba(255,255,255,.62);
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
html body #menu.mm .mm-search svg { width: 18px; height: 18px; color: #E3C27A; flex: none; }
@media (min-width: 1241px) { #menu .mm-search { display: none !important; } }
.hero-open .hero-note-wrap > .hero-open-note { grid-area: auto; margin: 0; }
.hero-open .hero-note-wrap > .hero-kol { grid-area: auto; width: 100%; max-width: 520px; box-sizing: border-box; }
#intention-form .slotpick { max-height: none; overflow: visible; }

/* ===== Wyniki ankiety WMM (wmm-wyniki.html) ===== */
.wr-page{--g:#E3C27A;padding-top:clamp(18px,4vw,40px)}
.wr-back{margin:0 0 14px;font-size:14px}.wr-back a{color:var(--ink-2);text-decoration:none}.wr-back a:hover{color:var(--ink)}
#wmm-res{max-width:1080px;margin:0 auto}
.wr-wait{text-align:center;padding:60px 0;color:var(--ink-2)}
.wr-gate{max-width:440px;margin:clamp(10px,6vw,60px) auto;text-align:center;padding:34px 26px 30px;border-radius:26px;border:1px solid rgba(227,194,122,.35);background:linear-gradient(180deg,rgba(227,194,122,.12),rgba(227,194,122,.03)),var(--bg-2);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.wr-gate h1{font-size:clamp(28px,6vw,38px);margin:4px 0 8px}
.wr-gate p{color:var(--ink-2);margin:0 0 18px}
.wr-lock{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;color:#E3C27A;background:rgba(227,194,122,.14);border:1px solid rgba(227,194,122,.4)}
.wr-lock svg{width:26px;height:26px}
.wr-pw{display:block;text-align:left;margin:0 0 12px}.wr-pw span{display:block;font-size:13px;font-weight:600;margin:0 0 6px;color:var(--ink-2)}
.wr-pw input{width:100%;box-sizing:border-box;font-size:18px;letter-spacing:.12em;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:center}
.wr-pw input:focus{outline:2px solid #E3C27A;outline-offset:1px}
.wr-err{color:#E5484D!important;font-size:14px;margin:0 0 12px!important}
.wr-gate .btn{width:100%;justify-content:center}
.wr-kick{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#C9A55A;margin:0 0 6px}
.wr-hero{text-align:center;padding:clamp(18px,4vw,40px) 0 clamp(16px,3vw,28px)}
.wr-hero h1{font-size:clamp(40px,9vw,76px);line-height:1;margin:6px 0 14px;background:linear-gradient(120deg,#E3C27A,#F6E3B4 45%,#C9A55A);-webkit-background-clip:text;background-clip:text;color:transparent}
.wr-lead{font-size:clamp(17px,2.4vw,20px);color:var(--ink-2);margin:0 auto;max-width:640px}
.wr-head{font-family:var(--serif,Georgia,serif);font-style:italic;font-size:clamp(19px,2.8vw,24px);max-width:760px;margin:18px auto 0;line-height:1.4}
.wr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 clamp(30px,5vw,54px)}
.wr-kpi{position:relative;text-align:center;padding:20px 12px 18px;border-radius:22px;background:var(--bg-2);border:1px solid var(--line-2,var(--line));opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.wr-kpi.in{opacity:1;transform:none}
.wr-kpi svg{width:min(120px,70%);display:block;margin:0 auto;transform:rotate(-90deg)}
.wr-ring-bg{fill:none;stroke:var(--line);stroke-width:9}
.wr-ring{fill:none;stroke:var(--c);stroke-width:9;stroke-linecap:round;stroke-dashoffset:var(--full);transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1) .15s}
.wr-kpi.in .wr-ring{stroke-dashoffset:var(--off)}
.wr-kpi>b{position:absolute;left:0;right:0;top:calc(20px + min(60px,35%) - 22px);font-size:clamp(26px,4vw,34px);font-weight:800;line-height:1}
.wr-kpi>b small{font-size:.5em;font-weight:700;margin-left:1px}
.wr-kl{display:block;font-weight:700;margin-top:12px;font-size:15px}
.wr-ks{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.35}
.wr-sec{margin:0 0 clamp(34px,5vw,56px)}
.wr-sec>h2{font-size:clamp(24px,3.6vw,32px);margin:0 0 6px;display:flex;flex-direction:column;gap:2px}
.wr-sec>h2 span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C9A55A;font-family:var(--sans);font-weight:700}
.wr-sub{color:var(--ink-2);margin:0 0 16px;font-size:15px}
.wr-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wr-th{border-radius:20px;padding:18px 18px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 16%,transparent),color-mix(in srgb,var(--c) 4%,transparent)),var(--bg-2);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.wr-th.in,.wr-q.in{opacity:1;transform:none}
.wr-th h3{margin:0 0 10px;font-size:18px;display:flex;align-items:center;gap:9px}
.wr-th h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 25%,transparent);flex:none}
.wr-th ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.5}.wr-th li{margin:0 0 6px}
.wr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.wr-q{border-radius:20px;padding:18px;background:var(--bg-2);border:1px solid var(--line-2,var(--line));opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;min-width:0}
.wr-q h3{font-size:16.5px;margin:0 0 3px;line-height:1.3}
.wr-n{font-size:12.5px;color:var(--ink-2);margin:0 0 12px}
.wr-big{margin:0 0 10px;font-size:14px;color:var(--ink-2)}.wr-big b{font-size:26px;color:var(--ink);margin-right:4px}
.wr-stack{display:flex;height:34px;border-radius:12px;overflow:hidden;background:var(--line)}
.wr-stack i{flex:0 0 0;background:var(--c);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;color:#10192b;white-space:nowrap;overflow:hidden;transition:flex-basis 1.1s cubic-bezier(.2,.8,.2,1)}
.wr-q.in .wr-stack i{flex-basis:var(--w)}
.wr-leg{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px;font-size:13.5px}
.wr-leg li{display:flex;align-items:center;gap:8px}.wr-leg li b{margin-left:auto;font-variant-numeric:tabular-nums}
.wr-leg li>i{width:11px;height:11px;border-radius:4px;background:var(--c);flex:none}
.wr-pie{display:flex;align-items:center;gap:18px}.wr-pie svg{width:110px;flex:none;transform:rotate(0)}.wr-pie .wr-leg{flex:1;margin:0}
.wr-bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.wr-bars li{display:grid;grid-template-columns:1fr 46px;grid-template-areas:"l p" "t t";gap:4px 8px;font-size:13.5px;align-items:end}
.wr-bl{grid-area:l;line-height:1.3}.wr-bars b{grid-area:p;text-align:right;font-variant-numeric:tabular-nums}
.wr-bt{grid-area:t;height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.wr-bt i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#C9A55A,#E3C27A);transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.wr-q.in .wr-bt i{width:var(--w)}
.wr-bars li.top .wr-bl{font-weight:700}
.wr-next{border-radius:24px;padding:clamp(20px,4vw,32px);border:1px solid rgba(227,194,122,.4);background:linear-gradient(160deg,rgba(227,194,122,.16),rgba(227,194,122,.03)),var(--bg-2)}
.wr-next ol{margin:12px 0 14px;padding:0;list-style:none;counter-reset:n;display:grid;gap:10px}
.wr-next li{counter-increment:n;display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.wr-next li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:#E3C27A;color:#10192b}
.wr-foot{text-align:center;font-size:13px;color:var(--ink-2);margin:0 0 40px}
.wr-out{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
@media (max-width:900px){.wr-kpis{grid-template-columns:repeat(2,1fr)}.wr-themes{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wr-grid,.wr-themes{grid-template-columns:1fr}.wr-kpis{gap:10px}.wr-kpi{padding:16px 8px 14px}.wr-kl{font-size:14px}}
@media (prefers-reduced-motion:reduce){.wr-kpi,.wr-q,.wr-th{opacity:1;transform:none;transition:none}.wr-ring,.wr-stack i,.wr-bt i{transition:none}}
.wmm-a .wmm-res{margin-left:8px}
.wmm-pw{font-size:13px;opacity:.8;margin-top:6px!important}
.wr-bars b small{font-size:.75em;font-weight:600;opacity:.75}
.wr-thanks{margin:4px 0 6px;padding:14px 18px;border-radius:16px;background:rgba(127,209,168,.12);border:1px solid rgba(127,209,168,.35);font-size:16px}
.wr-thanks b{color:#7FD1A8}
/* ===== Stałe grupki WMM ===== */
.gk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 clamp(30px,5vw,50px)}
.gk-card{border-radius:22px;padding:16px 18px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 18%,transparent),color-mix(in srgb,var(--c) 4%,transparent)),var(--bg-2);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .5s ease,transform .5s ease}
.gk-card.in{opacity:1;transform:none}
.gk-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.gk-no{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:17px;background:var(--c);color:#10192b}
.gk-tag{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c);text-align:right}
.gk-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gk-card li{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.gk-card li i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.gk-card li.gk-free{font-weight:500;font-size:14px;color:var(--ink-2);font-style:italic}
.gk-card li.gk-free i{background:transparent;border:1.5px dashed var(--c);width:8px;height:8px}
.gk-open{border-style:dashed}
@media (max-width:1000px){.gk-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gk-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.gk-card{opacity:1;transform:none;transition:none}}
/* nagłówek: skracanie nazwy do „Parafia Królowej Pokoju” */
.site-header .brand .bk-x { display: inline-block; vertical-align: top; overflow: hidden; white-space: pre; max-width: var(--w, 6em); opacity: 1;
  transition: max-width 1.1s cubic-bezier(.65,0,.35,1), opacity .7s ease, filter .7s ease; }
.site-header .brand.bk-short .bk-x { max-width: 0; opacity: 0; filter: blur(3px); }
.site-header .brand.bk-gone .bk-x { display: none; }
.site-header .brand.bk-anim b { background: none !important; -webkit-text-fill-color: currentColor !important; color: color-mix(in oklab, var(--ink) 86%, transparent) !important; filter: none !important; }
.site-header .brand.bk-anim b * { -webkit-text-fill-color: currentColor !important; }
@media (prefers-reduced-motion: reduce) { .site-header .brand .bk-x { transition: none; } }

/* stopka: przy najechaniu na link przygasa cała stopka, a wybrany link się powiększa */
.site-footer .footer-inner > *, .site-footer .footer-credit { transition: opacity .45s ease, filter .45s ease; }
.site-footer:has(.footer-links a:hover) .footer-inner > div:first-child,
.site-footer:has(.footer-links a:hover) .footer-credit,
.site-footer:has(.footer-links a:hover) .ft-h { opacity: .35; filter: saturate(.6); }
.site-footer:has(.footer-links a:hover) .footer-links a { opacity: .32; filter: blur(.3px); }
.site-footer .footer-links a:hover, .site-footer .footer-links a:focus-visible { transform: translateX(8px) scale(1.14) !important; transform-origin: left center; }
@media (prefers-reduced-motion: reduce) { .site-footer .footer-links a:hover { transform: none !important; } }
/* ===== Strona główna: „Na skróty” — najczęściej wybierane miejsca, zaraz pod „Dziś” ===== */
.today .skroty { margin-top: 12px; }
.sk-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.sk-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; height: 100%; box-sizing: border-box; padding: 16px 16px 15px; border-radius: 20px; text-decoration: none !important; color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)), rgba(14,24,42,.55); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s, background .3s; }
.sk-tile:hover, .sk-tile:focus-visible { transform: translateY(-3px); border-color: rgba(227,194,122,.55); outline: none; }
.sk-tile:active { transform: scale(.97); }
.sk-ic { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; margin-bottom: 8px; color: #E3C27A; background: rgba(227,194,122,.12); border: 1px solid rgba(227,194,122,.28); }
.sk-ic svg { width: 21px; height: 21px; }
.sk-tile b { font-size: 16px; line-height: 1.2; font-weight: 700; }
.sk-tile small { font-size: 12.5px; line-height: 1.3; color: rgba(255,255,255,.62); }
.sk-tile.sk-hot { border-color: rgba(227,194,122,.6); background: linear-gradient(160deg, rgba(227,194,122,.24), rgba(227,194,122,.05)), rgba(14,24,42,.55); }
.sk-tile.sk-hot .sk-ic { background: #E3C27A; color: #10192b; border-color: #E3C27A; }
@media (max-width: 1000px) { .sk-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .sk-grid { gap: 9px; } .sk-tile { padding: 13px 12px 12px; border-radius: 17px; } .sk-ic { width: 34px; height: 34px; margin-bottom: 6px; } .sk-tile b { font-size: 14.5px; } .sk-tile small { font-size: 11.5px; } }
html[data-theme=light] .sk-tile { color: #1b2333; background: #fff; border-color: rgba(20,30,50,.12); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
html[data-theme=light] .sk-tile small { color: #5b6476; }
/* telefon: krótsza strona główna — bez podpisu pod tarczą i bez kodu QR (telefonem nie zeskanuje się własnego ekranu) */
@media (max-width: 760px) { .hero .dial-caption, figcaption.dial-caption { display: none; } #spolecznosc .wa-qr { display: none; } }
@media (max-width: 760px) { .today > .wrap { display: flex; flex-direction: column; } .today .skroty { order: -1; margin: 0 0 12px; } }
/* „Na skróty” na telefonie: jeden spójny panel, kafelki w dwóch kolumnach — ikona z lewej, napis z prawej, równa wysokość */
@media (max-width: 760px) {
  .today .skroty { margin: 0 0 14px; padding: 14px 12px 12px; border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), rgba(10,18,34,.55);
    border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 30px rgba(0,0,0,.25); }
  .today .skroty::before { content: "Na skróty"; display: block; margin: 0 4px 10px; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E3C27A; }
  .sk-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; } .sk-grid > li { min-width: 0; }
  .sk-tile { min-width: 0; flex-direction: row; align-items: center; gap: 10px; min-height: 60px; padding: 10px 10px; border-radius: 16px;
    background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.10); box-shadow: none; }
  .sk-tile > span.sk-ic { margin: 0; flex: none; width: 36px; height: 36px; border-radius: 11px; }
  .sk-tile b { font-size: 14.5px; line-height: 1.15; display: block; }
  .sk-tile small { display: block; font-size: 11.5px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sk-tile .sk-t { min-width: 0; display: block; }
  .sk-tile.sk-hot { background: linear-gradient(135deg, rgba(227,194,122,.22), rgba(227,194,122,.06)); border-color: rgba(227,194,122,.5); }
}
html[data-theme=light] .today .skroty { background: #fff; border-color: rgba(20,30,50,.10); }
@media (max-width: 760px) {
  .sk-tile small { display: none; }
  .sk-tile b { white-space: nowrap; font-size: 15px; letter-spacing: -.01em; }
  .sk-tile { min-height: 56px; padding: 9px 12px 9px 9px; }
  .sk-grid { gap: 9px; }
}
@media (max-width: 360px) { .sk-tile b { font-size: 13.5px; } .sk-tile > span.sk-ic { width: 32px; height: 32px; } }
@media (max-width: 760px) {
  .today .skroty { padding: 12px 10px 10px; }
  .sk-tile { gap: 8px; padding: 8px 10px 8px 8px; }
  .sk-tile > span.sk-ic { width: 32px; height: 32px; border-radius: 10px; }
  .sk-tile > span.sk-ic svg { width: 19px; height: 19px; }
  .sk-tile .sk-t { overflow: hidden; }
}
@media (max-width: 382px) { .sk-tile b { font-size: 13px; } .sk-tile { gap: 7px; padding: 7px 8px 7px 7px; } .sk-tile > span.sk-ic { width: 28px; height: 28px; } .sk-tile > span.sk-ic svg { width: 17px; height: 17px; } }
@media (max-width: 330px) { .sk-tile b { font-size: 12px; } .sk-tile { gap: 6px; padding: 6px 6px 6px 6px; } .sk-tile > span.sk-ic { width: 26px; height: 26px; } }
.sk-tile .sk-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sk-tile .sk-t b, .sk-tile .sk-t small { display: block; }
/* ===== Wyniki ankiety parafialnej ===== */
.wa-link { margin: 14px 0 0; }
.wa-facts { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; margin: 14px 0 6px; }
.wa-fact { border-radius: 22px; padding: 20px 22px; background: var(--bg-2); border: 1px solid var(--line-2, var(--line)); opacity: 0; transform: translateY(14px); transition: opacity .6s, transform .6s; }
.wa-fact.in { opacity: 1; transform: none; }
.wa-fact small { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #C9A55A; }
.wa-fact b { display: block; font-size: clamp(34px, 6vw, 52px); line-height: 1.05; margin: 8px 0 6px; font-weight: 800; }
.wa-fact span { display: block; font-size: 14px; color: var(--ink-2); }
.wa-fact.wa-f1 { border-color: rgba(227,194,122,.5); background: linear-gradient(150deg, rgba(227,194,122,.22), rgba(227,194,122,.04)), var(--bg-2); }
.wa-fact.wa-f1 b { color: #E3C27A; }
.wa-hl .wr-bt i { background: linear-gradient(90deg, #6FB7F2, #8C9CF5) !important; }
.wa-star { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #10192b; background: #E3C27A; padding: 2px 7px; border-radius: 999px; margin-left: 6px; vertical-align: 1px; }
.wa-legend { margin: 12px 0 0; font-size: 12.5px; color: var(--ink-2); display: flex; align-items: center; gap: 8px; }
.wa-legend i { width: 18px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #6FB7F2, #8C9CF5); }
.wa-msze .wr-grid { grid-template-columns: repeat(3, 1fr); }
.wa-note { margin-top: 14px; }
@media (max-width: 1000px) { .wa-msze .wr-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .wa-facts { grid-template-columns: 1fr; } .wa-msze .wr-grid { grid-template-columns: 1fr; } }
.wr-bars li { grid-template-columns: 1fr auto; } .wr-bars b { white-space: nowrap; min-width: 40px; }
.wa-live { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center; max-width: 720px; margin: 20px auto 0; padding: 14px 18px; border-radius: 18px;
  background: rgba(127,209,168,.10); border: 1px solid rgba(127,209,168,.35); text-align: left; }
.wa-live p { margin: 0; flex: 1 1 260px; font-size: 15px; color: var(--ink-2); }
.wa-live p b { color: var(--ink); }
.wa-live .btn { flex: none; }
.wa-dot { width: 11px; height: 11px; border-radius: 50%; background: #3CCB7F; box-shadow: 0 0 0 0 rgba(60,203,127,.6); animation: waPulse 2s infinite; flex: none; }
@keyframes waPulse { 0% { box-shadow: 0 0 0 0 rgba(60,203,127,.55); } 70% { box-shadow: 0 0 0 10px rgba(60,203,127,0); } 100% { box-shadow: 0 0 0 0 rgba(60,203,127,0); } }
@media (prefers-reduced-motion: reduce) { .wa-dot { animation: none; } }
@media (max-width: 560px) { .wa-live { text-align: left; } .wa-live .btn { width: 100%; justify-content: center; } }
.wa-msze { margin-top: 18px; }
/* Taizé: znak mieni się złotem (nagłówek i karta na stronie głównej) */
.tz-head, .kp-art-tz { position: relative; }
.tz-head img, .kp-art-tz img { opacity: 0; }
.tz-head::after, .kp-art-tz::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 21px; transform: translate(-50%, -50%); pointer-events: none;
  -webkit-mask: url(../img/taize/taize-znak-jasny.png) center / contain no-repeat; mask: url(../img/taize/taize-znak-jasny.png) center / contain no-repeat;
  background: linear-gradient(115deg, #E9A75A 0%, #F2B36B 30%, #FFF6E2 46%, #FFE2B0 54%, #F2B36B 70%, #E9A75A 100%) 0 0 / 300% 100%;
  animation: tzShine 3.8s ease-in-out infinite; filter: drop-shadow(0 0 3px rgba(242,179,107,.55)); }
.kp-art-tz::after { width: 26px; height: 27px; }
.tz-head:hover::after { animation-duration: 1.6s; filter: drop-shadow(0 0 6px rgba(242,179,107,.85)); }
@keyframes tzShine { 0% { background-position: 100% 0; } 55%, 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .tz-head::after, .kp-art-tz::after { animation: none; background-position: 50% 0; } }
@supports not ((mask: url(x)) or (-webkit-mask: url(x))) { .tz-head img, .kp-art-tz img { opacity: 1; } .tz-head::after, .kp-art-tz::after { display: none; } }
/* Kolęda — okienko budynku: dodatkowe pola schowane */
.kol-extra { margin: 6px 0 4px; border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; padding: 8px 12px; }
.kol-extra > summary { cursor: pointer; font-weight: 600; font-size: 14.5px; list-style: none; display: flex; align-items: center; gap: 8px; }
.kol-extra > summary::-webkit-details-marker { display: none; }
.kol-extra > summary::before { content: "+"; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: rgba(227,194,122,.18); color: #E3C27A; flex: none; }
.kol-extra[open] > summary::before { content: "−"; }
.kol-extra[open] > summary { margin-bottom: 8px; }
/* Kolęda — „Kiedy kolęda u mnie?” */
.kol-find2 { margin: 0 0 28px; padding: 18px; border-radius: 20px; border: 1px solid rgba(227,194,122,.4); background: linear-gradient(160deg, rgba(227,194,122,.12), rgba(227,194,122,.02)), var(--bg); }
.kol-find2 .kol-h3 { margin: 0 0 4px; }
.kol-find-lead { margin: 0 0 12px; color: var(--ink-2); font-size: 15px; }
.kol-find-row { display: grid; grid-template-columns: 1fr 120px auto; gap: 10px; align-items: end; }
.kol-find-row .kol-f { margin: 0; }
.kol-find-row .kol-btn { height: 46px; }
.kol-find2 .kol-res { margin-top: 12px; }
@media (max-width: 560px) { .kol-find-row { grid-template-columns: 1fr 96px; } .kol-find-row .kol-btn { grid-column: 1 / -1; width: 100%; } }
/* ===== Strona główna: „okładka” Królowej Pokoju po najechaniu na nazwę parafii ===== */
.km-layer { position: absolute; inset: 0; z-index: 6; overflow: hidden; pointer-events: none; visibility: hidden; }
html.km-on .km-layer { visibility: visible; }
.km-bg { position: absolute; inset: 0; opacity: var(--km, 0);
  background: radial-gradient(60% 70% at 78% 40%, #FBE7AE 0%, rgba(251,231,174,0) 60%), linear-gradient(135deg, #FFFDF8 0%, #FBF4E2 45%, #F4DE9E 100%); }
.km-grain { position: absolute; inset: 0; opacity: calc(var(--km, 0) * .35); mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .3 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.km-wrap { position: absolute; inset: 0; max-width: 1240px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 64px); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: clamp(24px, 5vw, 80px); }
.km-txt { color: #12233F; opacity: var(--km-txt, 0); transform: translateY(calc((1 - var(--km-txt, 0)) * 18px)); }
.km-k { margin: 0 0 18px; font-size: 13px; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; color: #A87A1E; }
.km-h { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(56px, 8.4vw, 132px); line-height: .9; letter-spacing: -.04em; color: #12233F; }
.km-p { margin: 26px 0 0; max-width: 30ch; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: #4A556B; }
.km-line { display: block; margin-top: 26px; height: 2px; width: calc(var(--km-txt, 0) * 120px); background: #C99A3B; }
.km-layer .km-poster { position: relative; margin: 0; height: min(78%, 680px); aspect-ratio: 953 / 1402; align-self: center; background: none !important; box-shadow: none !important; border: 0 !important;
  transform: translateY(calc((1 - var(--km, 0)) * 24px)) rotate(calc((1 - var(--km, 0)) * 2deg)); }
.km-poster .km-grid { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(9, 1fr); grid-template-rows: repeat(13, 1fr); border-radius: 22px; overflow: hidden; background: none;
  box-shadow: 0 40px 80px -30px rgba(120,80,10,calc(var(--km, 0) * .55)), 0 0 0 1px rgba(201,154,59,calc(var(--km, 0) * .4)); }
.km-poster .km-grid i { display: block; opacity: 0; transform: scale(.55); background-image: url(../img/krolowa-pokoju.webp); background-size: 900% 1300%; background-repeat: no-repeat; margin: -.5px;
  transition: opacity .25s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.km-frame { position: absolute; inset: -14px; border: 1px solid rgba(169,122,30,calc(var(--km, 0) * .7)); border-radius: 30px; }
html.km-on #hero-slider .hs-track, html.km-on #hero-slider .hs-nav { opacity: max(0, calc(1 - var(--km, 0) * 2.2)); }
@media (max-width: 1000px) { .km-wrap { grid-template-columns: 1fr; justify-items: center; } .km-txt { display: none; } }
@media (prefers-reduced-motion: reduce) { .km-poster .km-grid i { transition: none; } }

@media (max-width: 760px) { .today .skroty { margin-top: 26px !important; } }

  background: radial-gradient(120% 90% at 100% 0%, rgba(227,194,122,.35), transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(140,156,245,.22), transparent 60%), linear-gradient(150deg, #1E2C4A, #121C31);
  border: 1px solid rgba(227,194,122,.35); box-shadow: 0 24px 60px -30px rgba(0,0,0,.6); }
  background: linear-gradient(90deg, #F6E3B4, #E3C27A 60%, #C9A55A); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* ===== WMM: opis wspólnoty — zaproszenie, zasady, skąd pomysł, „miesiąc we Wspólnocie” ===== */
.m3 { --g: #E3C27A; margin: 0 0 clamp(40px, 6vw, 80px); padding-top: clamp(70px, 10vw, 130px); }
.m3-rv { opacity: 0; transform: translateY(26px); transition: opacity .9s ease, transform 1s cubic-bezier(.22,1,.36,1); }
.m3-rv.in { opacity: 1; transform: none; }
.m3-kick { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; color: #C9A55A; }
/* zaproszenie */
.m3-inv { text-align: center; max-width: 860px; margin: 0 auto; padding: 0 8px; }
.m3-lead { margin: 0 auto; font-size: clamp(21px, 2.5vw, 30px); line-height: 1.5; font-weight: 500; text-wrap: balance; color: var(--ink, #F2F4F8); }
.m3-lead em { font-style: normal; color: var(--g); }
.m3-big { margin: clamp(20px, 3vw, 30px) 0 0; font-family: var(--display); font-weight: 800; font-size: clamp(48px, 9vw, 112px); line-height: .95; letter-spacing: -.035em;
  background: linear-gradient(100deg, #F8EAC4 0%, #E3C27A 45%, #B88A35 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* cztery zasady */
.m3-vals { list-style: none; margin: clamp(56px, 8vw, 100px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.m3-vals li { display: flex; flex-direction: column; gap: 8px; padding: 26px 22px 24px; border-radius: 24px; background: var(--bg-2, rgba(255,255,255,.04)); border: 1px solid var(--line-2, rgba(255,255,255,.09)); }
.m3-vals li:nth-child(2) { transition-delay: .08s; } .m3-vals li:nth-child(3) { transition-delay: .16s; } .m3-vals li:nth-child(4) { transition-delay: .24s; }
.m3-vi { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: var(--g); background: rgba(227,194,122,.12); margin-bottom: 8px; }
.m3-vi svg { width: 24px; height: 24px; }
.m3-vals b { font-size: 18px; line-height: 1.25; }
.m3-vals span:last-child { font-size: 15px; line-height: 1.6; color: var(--ink-2, #B9C2D3); }
/* skąd pomysł */
.m3-story { margin-top: clamp(70px, 10vw, 130px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.m3-map { position: relative; aspect-ratio: 16 / 11; border-radius: 28px; overflow: hidden; background: radial-gradient(80% 90% at 75% 40%, rgba(227,194,122,.16), transparent 60%), radial-gradient(70% 80% at 20% 80%, rgba(140,156,245,.14), transparent 60%), var(--bg-2, #121C31); border: 1px solid var(--line-2, rgba(255,255,255,.09)); }
.m3-map::before { content: ""; position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1.2px); background-size: 18px 18px; }
.m3-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.m3-map .m3-route { fill: none !important; stroke: #E3C27A !important; stroke-width: 2.5; stroke-dasharray: 6 8; stroke-linecap: round; animation: m3Route 1.6s linear infinite; }
@keyframes m3Route { to { stroke-dashoffset: -28; } }
.m3-map .m3-pin { fill: #121C31 !important; stroke: #E3C27A !important; stroke-width: 3; }
.m3-map .m3-pin-b { fill: #E3C27A !important; }
.m3-map .m3-pulse { fill: none !important; stroke: #E3C27A !important; stroke-width: 2; transform-origin: 252px 92px; animation: m3Pulse 2.4s ease-out infinite; }
@keyframes m3Pulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
.m3-city { position: absolute; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.m3-wro { left: 13%; top: 74%; color: var(--ink-2, #B9C2D3); }
.m3-lodz { left: 70%; top: 52%; color: var(--g); font-size: 15px; }
.m3-st { transition-delay: .12s; }
.m3-st h3 { margin: 0 0 18px; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
.m3-st p { margin: 0 0 14px; font-size: 17px; line-height: 1.75; color: var(--ink-2, #B9C2D3); }
.m3-st a { color: var(--g); }
/* miesiąc we Wspólnocie */
.m3-month { margin-top: clamp(80px, 11vw, 140px); }
.m3-mh { text-align: center; margin-bottom: clamp(30px, 5vw, 56px); }
.m3-mh h3 { margin: 0; font-size: clamp(30px, 4.2vw, 50px); line-height: 1.05; letter-spacing: -.03em; }
.m3-mlead { margin: 14px 0 0; font-size: 17px; color: var(--ink-2, #B9C2D3); }
.m3-mgrid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.m3-wheel { --c: #E3C27A; position: relative; max-width: 380px; width: 100%; margin: 0 auto; aspect-ratio: 1; }
.m3-ring { width: 100%; height: 100%; overflow: visible; }
.m3-arc { fill: none; stroke: var(--c); stroke-width: 16; stroke-linecap: round; opacity: .28; cursor: pointer; transition: opacity .4s, stroke-width .4s; }
.m3-arc.on { opacity: 1; stroke-width: 22; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--c) 60%, transparent)); }
.m3-dot { cursor: pointer; }
.m3-dot circle { fill: #10192B; stroke: var(--c); stroke-width: 2; transition: fill .35s; }
.m3-dot svg { color: var(--c); transition: color .35s; }
.m3-dot.on circle { fill: var(--c); }
.m3-dot.on svg { color: #10192B; }
.m3-center { position: absolute; inset: 27%; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 8px; text-align: center;
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--c) 22%, transparent), transparent 70%), var(--bg-2, #121C31); border: 1px solid color-mix(in srgb, var(--c) 35%, transparent); transition: background .5s, border-color .5s; }
.m3-cn { display: grid; place-items: center; width: 54px; height: 54px; color: var(--c); }
.m3-cn svg { width: 46px; height: 46px; }
.m3-center span { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.m3-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.m3-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px 9px 10px; border-radius: 999px; font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; color: var(--ink, #F2F4F8);
  background: transparent; border: 1px solid var(--line, rgba(255,255,255,.16)); transition: background .3s, border-color .3s, color .3s; }
.m3-tab:hover { border-color: var(--c); }
.m3-tab:focus-visible { outline: 2px solid var(--c); outline-offset: 2px; }
.m3-ti { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--c); background: color-mix(in srgb, var(--c) 16%, transparent); }
.m3-ti svg { width: 15px; height: 15px; }
.m3-tab.on { background: var(--c); border-color: var(--c); color: #10192B; }
.m3-tab.on .m3-ti { background: rgba(16,25,43,.12); color: #10192B; }
.m3-panel { min-height: 320px; padding: clamp(24px, 3vw, 34px); border-radius: 26px; border: 1px solid color-mix(in srgb, var(--c, #E3C27A) 35%, transparent);
  background: linear-gradient(165deg, color-mix(in srgb, var(--c, #E3C27A) 14%, transparent), transparent 60%), var(--bg-2, #121C31); }
.m3-panel > * { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .6s cubic-bezier(.22,1,.36,1); }
.m3-panel.in > * { opacity: 1; transform: none; }
.m3-panel.in > *:nth-child(2) { transition-delay: .06s; } .m3-panel.in > *:nth-child(3) { transition-delay: .12s; } .m3-panel.in > *:nth-child(4) { transition-delay: .18s; }
.m3-dk { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.m3-panel h4 { margin: 0 0 12px; font-size: clamp(24px, 2.8vw, 32px); line-height: 1.15; letter-spacing: -.02em; }
.m3-dp { margin: 0; font-size: 16.5px; line-height: 1.7; color: var(--ink-2, #B9C2D3); }
.m3-plan { list-style: none; margin: 22px 0 0; padding: 0; position: relative; }
.m3-plan::before { content: ""; position: absolute; left: 93px; top: 14px; bottom: 14px; width: 2px; background: linear-gradient(var(--c), color-mix(in srgb, var(--c) 15%, transparent)); }
.m3-plan li { position: relative; display: grid; grid-template-columns: 80px 1fr; gap: 32px; align-items: baseline; padding: 9px 0; opacity: 0; transform: translateX(-8px); transition: opacity .5s ease var(--d), transform .6s cubic-bezier(.22,1,.36,1) var(--d); }
.m3-panel.in .m3-plan li { opacity: 1; transform: none; }
.m3-plan li::before { content: ""; position: absolute; left: 88px; top: 16px; width: 12px; height: 12px; border-radius: 50%; box-sizing: border-box; background: #121C31; border: 2px solid var(--c); }
.m3-plan li:first-child::before { background: var(--c); }
.m3-plan b { text-align: right; font-size: 15px; color: var(--c); font-variant-numeric: tabular-nums; white-space: nowrap; }
.m3-plan span { font-size: 17px; font-weight: 600; }
.m3-plan small { display: block; margin-top: 2px; font-size: 13.5px; font-weight: 400; color: var(--ink-2, #B9C2D3); }
@media (max-width: 960px) { .m3-vals { grid-template-columns: repeat(2, minmax(0, 1fr)); } .m3-story, .m3-mgrid { grid-template-columns: 1fr; } .m3-wheel { max-width: 300px; } }
@media (max-width: 560px) {
  .m3-vals { grid-template-columns: 1fr; }
  .m3-vals li { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; padding: 20px; }
  .m3-vals li .m3-vi { margin: 0; }
  .m3-vals li b { flex: 1; }
  .m3-vals li span:last-child { flex-basis: 100%; }
  .m3-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 18px; padding: 2px 16px 6px; scrollbar-width: none; }
  .m3-tabs::-webkit-scrollbar { display: none; }
  .m3-tab { flex: none; }
  .m3-wheel { max-width: 260px; }
  .m3-panel { min-height: 0; }
  .m3-plan::before { left: 85px; } .m3-plan li { grid-template-columns: 72px 1fr; gap: 30px; } .m3-plan li::before { left: 80px; }
}
@media (prefers-reduced-motion: reduce) { .m3-rv, .m3-panel > *, .m3-plan li { opacity: 1 !important; transform: none !important; transition: none !important; } .m3-route { stroke-dashoffset: 0; animation: none !important; } .m3-pulse { animation: none; } }
html[data-theme=light] .m3-dot circle, html[data-theme=light] .m3-plan li::before, html[data-theme=light] .m3-pin { fill: #fff; } html[data-theme=light] .m3-plan li::before { background: #fff; }

@media (max-width: 960px) { .m3-story, .m3-mgrid { grid-template-columns: minmax(0, 1fr); } .m3-side, .m3-wheel, .m3-story > * { min-width: 0; } }
@media (max-width: 960px) { .m3-st { order: -1; } }
.m3-vals + .m3-month { margin-top: clamp(80px, 11vw, 140px); }
#wspolnota .m3 { padding-top: 0 !important; margin-top: 0 !important; } #wspolnota .m3 > .m3-inv { padding-top: clamp(80px, 11vw, 140px); }
.wa-fact .wa-src { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(227,194,122,.25); display: grid; gap: 6px; font-size: 14px; color: var(--ink-2); }
.wa-fact .wa-src b { display: inline; font-size: 15px; margin: 0; font-weight: 700; line-height: inherit; color: #E3C27A; }
/* nagłówek: „Kontakt ▾” zamiast pięciu ikonek */
html .site-header .hdr-social .kt-switch { position: relative; display: inline-flex; }
html .site-header .hdr-social .kt-btn { gap: 0; padding: 0 !important; border-radius: 999px; color: var(--ink-2); }
html .site-header .hdr-social .kt-btn .kt-l, html .site-header .hdr-social .kt-btn .kt-c { display: none; }
html .site-header .hdr-social .kt-btn svg { width: 18px; height: 18px; flex: none; }
html .site-header .hdr-social .kt-btn .kt-c { width: 14px; height: 14px; opacity: .7; transition: transform .3s cubic-bezier(.22,1,.36,1); }
html .site-header .hdr-social .kt-open .kt-btn { color: var(--ink); background: var(--bg-2); }
html .site-header .hdr-social .kt-open .kt-c { transform: rotate(180deg); }
.kt-menu { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 9999; display: grid; gap: 4px; padding: 8px; min-width: 210px; border-radius: 22px; isolation: isolate;
  background: linear-gradient(155deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 38%, rgba(255,255,255,.03) 62%, rgba(255,255,255,.10) 100%), rgba(14,20,38,.6);
  -webkit-backdrop-filter: blur(34px) saturate(190%); backdrop-filter: blur(34px) saturate(190%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 24px 60px -12px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.22);
  animation: ktIn .32s cubic-bezier(.22,1,.36,1); }
.kt-menu[hidden] { display: none; }
.kt-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.kt-menu .kt-i { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap; transition: background .2s; }
.kt-menu .kt-i:hover, .kt-menu .kt-i:focus-visible { background: rgba(255,255,255,.1); outline: none; }
.kt-menu .kt-i svg { width: 18px; height: 18px; flex: none; opacity: .9; }
@keyframes ktIn { from { opacity: 0; transform: translate(-50%, -6px) scale(.97); } to { opacity: 1; transform: translate(-50%, 0) scale(1); } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kt-menu { background: rgba(16,22,40,.96); } }
@media (prefers-reduced-motion: reduce) { .kt-menu { animation: none; } }
/* strona główna dla gości z zagranicy (en, it, es, pt, fr, tr, zh, ja, uk) */
html:not([lang="pl"]) main nav.skroty, html:not([lang="pl"]) main .kom-promo, html:not([lang="pl"]) main #czy-nalezisz { display: none !important; }
.gx { padding-top: 34px; padding-bottom: 10px; }
.gx-k { margin: 0 0 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #E3C27A; }
.gx h2 { margin: 0; font-size: clamp(26px, 4.2vw, 40px); line-height: 1.12; letter-spacing: -.01em; }
.gx-p { margin: 10px 0 22px; max-width: 62ch; color: var(--ink-2); font-size: 16.5px; line-height: 1.55; }
.gx-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 16px; }
.gx-c { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 22px; background: var(--bg-2); border: 1px solid var(--line-2, var(--line)); }
.gx-c h3 { margin: 4px 0 0; font-size: 19px; line-height: 1.25; }
.gx-c p { margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.5; }
.gx-ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(227,194,122,.14); color: #E3C27A; }
.gx-ic svg { width: 24px; height: 24px; }
.gx-mass { border-color: rgba(227,194,122,.5); background: linear-gradient(150deg, rgba(227,194,122,.2), rgba(227,194,122,.04)), var(--bg-2); }
.gx-mass .gx-big { color: var(--ink); font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; line-height: 1.2; }
.gx-sm { font-size: 13.5px !important; }
.gx-langs { display: flex; gap: 6px; }
.gx-langs span { font-size: 12px; font-weight: 800; letter-spacing: .06em; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line-2, var(--line)); color: var(--ink); }
.gx-a { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 10px; }
.gx-a .btn { font-size: 14.5px; }
.gx-tel { white-space: nowrap; }
.gx-tz img { width: 46px; height: auto; }
@media (max-width: 960px) { .gx-grid { grid-template-columns: 1fr 1fr; } .gx-mass { grid-column: 1 / -1; } }
@media (max-width: 620px) { .gx-grid { grid-template-columns: minmax(0, 1fr); } .gx { padding-top: 26px; } .gx-c { padding: 18px; } .gx-tel { white-space: normal; } }
/* Taizé: dłuższe etykiety dni po przetłumaczeniu (np. „31 de diciembre”) mieszczą się w dwóch linijkach */
.tz-day time { white-space: normal; height: auto; min-height: 40px; padding: 4px 6px; line-height: 1.15; text-align: center; }
/* Kontakt: kolorowe ikonki jak w prawdziwych logo */
.kt-menu .kt-i svg { width: 30px; height: 30px; padding: 6px; box-sizing: border-box; border-radius: 9px; color: #fff; opacity: 1; background: #3B4A6B; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.kt-menu .kt-i[href*="facebook.com"] svg { background: #1877F2; }
.kt-menu .kt-i[href*="whatsapp.com"] svg { background: #25D366; }
.kt-menu .kt-i[href*="instagram.com"] svg { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.kt-menu .kt-i[href^="mailto:"] svg { background: #EA4335; }
.kt-menu .kt-i[href*="napisz"] svg { background: #B08A38; }
/* znaczek „2. niedziela · Wspólnota Młodych Małżeństw” — w wąskiej kolumnie łamie się zamiast ucinać */
#msze .tl-badge.tl-kairos { white-space: normal; flex-shrink: 1; min-width: 0; max-width: 250px; line-height: 1.25; border-radius: 12px; }
@media (max-width: 620px) { #msze .tl-badge.tl-kairos { max-width: none; } }
/* Wspólnota Młodych Małżeństw: okrągła pieczęć „liquid glass” z napisem w łuku, w prawym górnym rogu kafelka */
#invite-list li.kk.kk-has-seal, .comm-card.kk.kk-has-seal { overflow: visible !important; z-index: 2; }
.kk-seal { position: absolute; right: -30px; top: -34px; width: 104px; height: 104px; z-index: 3; pointer-events: none; border-radius: 50%;
  background: radial-gradient(120% 90% at 30% 15%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.12) 38%, rgba(255,255,255,.04) 62%, rgba(227,194,122,.16) 100%);
  -webkit-backdrop-filter: blur(14px) saturate(170%) brightness(1.08); backdrop-filter: blur(14px) saturate(170%) brightness(1.08);
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: inset 0 1.5px 1px rgba(255,255,255,.75), inset 0 -10px 18px rgba(227,194,122,.22), inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.38); }
.kk-seal::before { content: ""; position: absolute; left: 14%; top: 7%; width: 52%; height: 26%; border-radius: 50%; background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0)); filter: blur(1px); opacity: .7; }
.kk-seal svg { position: relative; width: 100%; height: 100%; display: block; overflow: visible; }
.kk-seal-bg { fill: none; }
.kk-seal-in { fill: rgba(10,20,40,.18); stroke: rgba(255,255,255,.35); stroke-width: .8; }
.kk-seal-ring { transform-origin: 60px 60px; animation: kkSpin 28s linear infinite; }
.kk-seal-ring text { font: 800 11.5px/1 var(--sans, sans-serif); letter-spacing: 0; fill: rgba(255,255,255,.92); }
.kk-seal-n { font: 800 17px/1 var(--display, var(--sans, sans-serif)); fill: #F1D594; letter-spacing: -.3px; }
.kk-seal-t { font: 700 10px/1 var(--sans, sans-serif); fill: rgba(255,255,255,.9); }
html[data-theme=light] .kk-seal { background: radial-gradient(120% 90% at 30% 15%, rgba(255,255,255,.85), rgba(255,255,255,.45) 45%, rgba(227,194,122,.28)); border-color: rgba(20,72,124,.18); box-shadow: inset 0 1.5px 1px #fff, inset 0 -10px 18px rgba(227,194,122,.3), 0 10px 24px rgba(20,40,80,.18); }
html[data-theme=light] .kk-seal-ring text, html[data-theme=light] .kk-seal-t { fill: #14335A; }
html[data-theme=light] .kk-seal-n { fill: #8A6A22; }
html[data-theme=light] .kk-seal-in { fill: rgba(255,255,255,.4); stroke: rgba(20,72,124,.25); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .kk-seal { background: rgba(40,52,80,.92); } }
@keyframes kkSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kk-seal-ring { animation: none; } }
@media (max-width: 760px) { .kk-seal { right: 10px; top: 10px; bottom: auto; width: 82px; height: 82px; } .kk-has-seal > .kicker, .kk-has-seal > h3, .kk-has-seal .who { padding-right: 84px; overflow-wrap: anywhere; } .kk-has-seal { min-width: 0; } }
/* Kontakt: newsletter (beta) */
.kt-menu .kt-i[href*="newsletter"] svg { background: #4F6BED; }
.kt-menu .kt-beta { margin-left: auto; padding: 2px 7px 3px; border-radius: 999px; font: 700 10px/1.2 var(--sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: #0E1A2E; background: #E3C27A; }
/* Dymki pod ikonkami w nagłówku (np. „Taizé Łódź 2026”) — liquid glass jak menu Kontakt */
html .site-header .hs .hs-t { padding: 8px 14px; border-radius: 16px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25);
  background: linear-gradient(155deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.08) 40%, rgba(255,255,255,.04) 62%, rgba(255,255,255,.14) 100%), rgba(14,20,38,.45);
  -webkit-backdrop-filter: blur(26px) saturate(190%); backdrop-filter: blur(26px) saturate(190%);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -8px 16px rgba(255,255,255,.05), 0 18px 40px -14px rgba(0,0,0,.6), 0 3px 10px rgba(0,0,0,.2); }
html .site-header .hs .hs-t::before { top: -5px; background: linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,.12)), rgba(30,44,72,.7); -webkit-backdrop-filter: blur(26px); backdrop-filter: blur(26px); border-left: 1px solid rgba(255,255,255,.32); border-top: 1px solid rgba(255,255,255,.32); }
/* pieczęć „tworzy się” (np. Invisibilia): kciuk w górę nad liczbą chętnych */
.kk-seal-thumb path { stroke: #F1D594; }
html[data-theme=light] .kk-seal-thumb path { stroke: #8A6A22; }
.kk-seal-new .kk-seal-n { font-size: 19px; }
/* sam kciuk z liczbą chętnych (np. Invisibilia, Kairos On Kids) — w prawym górnym rogu, pionowo; tekst kafelka opływa go (kkWrap) */
.kk-thumb { position: absolute; right: 16px; top: 32px; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 1px; color: var(--cc, #6FB7F2); pointer-events: none; text-align: center; line-height: 1; width: 64px; }
.kk-thumb svg { width: 30px; height: 30px; filter: drop-shadow(0 0 10px color-mix(in oklab, var(--cc, #6FB7F2) 55%, transparent)); transform: rotate(-8deg); }
.kk-thumb b { font: 800 20px/1 var(--display, var(--sans, sans-serif)); color: #fff; margin-top: 3px; }
.kk-thumb span { font: 600 10.5px/1.15 var(--sans, sans-serif); color: rgba(255,255,255,.75); }
html[data-theme=light] .kk-thumb b { color: var(--ink, #141A2E); } html[data-theme=light] .kk-thumb span { color: var(--ink-2, #4A5270); }
.hs-card .hs-thumb { right: 6px; top: 30px; width: 56px; } .hs-card .hs-thumb svg { width: 26px; height: 26px; } .hs-card .hs-thumb span { font-size: 9.5px; }
.kk-wrap-pad { padding-right: var(--kkw, 70px) !important; }
.kk-wrap-flow::before { content: ""; float: right; width: var(--kkw, 70px); height: var(--kkh, 0px); }

/* rezerwacja miejsca na treści doczytywane przez skrypty — strona nie „skacze” podczas ładowania (CLS) */
.site-footer .nl-slot { min-height: 167px; }
@media (max-width: 860px) { .site-footer .nl-slot { min-height: 307px; } }
@media (max-width: 480px) { .site-footer .nl-slot { min-height: 425px; } }
html[data-ui]:not([data-ui="pl"]) .site-footer .nl-slot:empty { min-height: 0; }
#nl-page { min-height: 380px; }
#wyniki-ankiety.wr-page, #kalendarz.section { min-height: 110vh; }
#intention-form .int-l:empty::before { content: "\a0"; }
#int-slotpicker:empty { min-height: 130px; }
@media (max-width: 600px) { #int-slotpicker:empty { min-height: 157px; } }
.ws2 .ws-facts:empty { min-height: 96px; } .ws2 .ws-promise:empty { min-height: 48px; }
@media (max-width: 860px) { .ws2 .ws-facts:empty { min-height: 180px; } }
@media (max-width: 480px) { .ws2 .ws-facts:empty { min-height: 207px; } .ws2 .ws-promise:empty { min-height: 96px; } }

/* Ikonki jak na ekranie iPhone'a — tylko na telefonie, pod tytułem strony głównej */
.apps, .apps-sec, .ap-back, .ft-short { display: none; }
@media (max-width: 760px) {
  .apps-sec { display: none !important; }
  #tresc > section.apps-sec ~ section:not(.ap-open) { display: none !important; }
  #tresc > section.ap-open { animation: apOpen .35s ease both; }
  .ap-back { display: inline-flex; margin: 18px 20px 0; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
  .apps ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 6px; }
  .apps a { display: grid; justify-items: center; gap: 7px; text-decoration: none; color: #fff; -webkit-tap-highlight-color: transparent; }
  .app-ic { position: relative; width: 60px; height: 60px; border-radius: 15px; display: grid; place-items: center; overflow: hidden;
    background: linear-gradient(160deg, var(--a), var(--b)); box-shadow: 0 6px 14px -6px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(0,0,0,.12); transition: transform .15s ease, filter .15s ease; }
  .app-ic::after { content: ""; position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)); pointer-events: none; }
  .app-ic svg { width: 30px; height: 30px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 1px rgba(0,0,0,.2)); }
  .app-l { max-width: 78px; font: 500 11.5px/1.2 var(--sans); letter-spacing: -.01em; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: rgba(255,255,255,.92); text-shadow: 0 1px 3px rgba(0,0,0,.45); }
  .apps a:active .app-ic { transform: scale(.88); filter: brightness(.9); }
  html[data-theme=light] .app-l { color: var(--ink); text-shadow: none; }
}
@media (max-width: 350px) { .app-ic { width: 54px; height: 54px; border-radius: 13px; } .app-ic svg { width: 27px; height: 27px; } }
@media (prefers-reduced-motion: reduce) { .app-ic { transition: none; } }

@keyframes apOpen { from { opacity: 0; transform: translateY(12px); } }

/* Telefon, strona główna z ikonkami: zamiast rozbudowanej stopki — krótka */
@media (max-width: 760px) {
  body.kp-home .site-footer > *:not(.footer-credit) { display: none !important; }
  body.kp-home .site-footer { padding-top: 0 !important; background: transparent; border-top: 0; }
  body.kp-home .ft-short { display: grid; gap: 4px; padding: 26px 20px 4px; text-align: center; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.7); }
  .ft-short p { margin: 0; } .ft-short b { color: #fff; font-weight: 700; }
  .ft-short a { color: #E3C27A; text-decoration: none; }
  body.kp-home .footer-credit { margin-top: 14px !important; padding-bottom: 110px !important; font-size: 11.5px; }
}

/* Menu na smartfonie: ekran z ikonkami jak w iPhonie — jeden równy rytm siatki, odstępów i podpisów */
@media (max-width: 760px) {
  #menu.mi-on .mm-search, #menu.mi-on .mm-quick, #menu.mi-on .mg > .mg-col, #menu.mi-on .mm-soc, #menu.mi-on .mm-foot > p.mm-fh:first-of-type, #menu.mi-on .mm-cta, #menu.mi-on .mg-staff { display: none !important; }
  #menu .mi-wrap { --mi-gap: 10px; padding: 30px 20px 0; }
  #menu .mi-wrap > .mi-sec:last-child { margin-bottom: 8px; }
  #menu .mi-sec { margin: 0 0 44px; }
  #menu .mi-sec:first-child { margin-bottom: 26px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
  #menu .mi-h { display: flex; align-items: center; gap: 14px; margin: 0 0 20px 2px; font: italic 400 25px/1.1 var(--serif); letter-spacing: -.01em; text-transform: none; color: #F3E3BC; }
  #menu .mi-h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(227,194,122,.55), rgba(227,194,122,0)); }
  #menu .mi-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--mi-gap); row-gap: 14px; padding-top: 8px; }
  html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { display: grid !important; grid-template-rows: 60px 30px; justify-items: center !important; align-content: start !important; gap: 7px !important; min-height: 0 !important; width: auto; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-decoration: none; color: var(--ink); -webkit-tap-highlight-color: transparent; transform: none; opacity: 1; }
  html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a::before, html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a::after { content: none !important; display: none !important; }
  html body #menu.mm .mi-wrap a.mi-a:active { background: none !important; }
  #menu .mi-a .app-ic.mi-ic { position: relative; width: 60px; height: 60px; border-radius: 0; background: none; box-shadow: none; overflow: visible; display: block; transition: transform .15s ease, filter .15s ease; }
  #menu .mi-a .app-ic.mi-ic::after { content: none; }
  #menu .mi-a .app-ic.mi-ic svg { display: block; width: 60px; height: 60px; fill: none; stroke: none; filter: drop-shadow(0 4px 8px rgba(0,0,0,.28)) drop-shadow(0 1px 1.5px rgba(0,0,0,.2)); }
  #menu .mi-a:active .app-ic { transform: scale(.88); filter: brightness(.9); }
  #menu .mi-a .app-l { width: 100%; max-width: 82px; color: var(--ink); text-shadow: none; font: 500 11.5px/1.25 var(--sans); letter-spacing: -.01em; text-align: center; white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; hyphens: auto; }
  #menu .mi-cur .app-l { color: #E3C27A !important; font-weight: 700; }
  #menu .mi-badge { position: absolute; top: -5px; right: -5px; width: 16px; height: 16px; border-radius: 50%; background: #FF3B30; box-shadow: 0 1px 3px rgba(0,0,0,.35); z-index: 2; }
  #menu .mi-tag { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); z-index: 3; padding: 2px 7px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #E3C27A); color: #2A1E05; font: 800 9px/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.35); }
  #menu .mi-a .menu-dot { display: none !important; }
  /* rząd: ikonka prowadząca w pierwszej kolumnie siatki, ozdobny łącznik, przewijany pasek */
  #menu .mi-row { position: relative; display: grid; grid-template-columns: calc((100% - 3 * var(--mi-gap)) / 4) 34px minmax(0, 1fr); align-items: start; margin-top: 30px; padding: 22px 0 6px; border-top: 1px solid rgba(255,255,255,.07); }
  #menu .mi-sec > .mi-row:first-of-type:only-child { border-top: 0; }
  #menu .mi-sep { position: relative; display: block; width: 34px; height: 60px; margin-top: 0; }
  #menu .mi-sep::before { content: ""; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 1.5px; margin-left: -.75px; border-radius: 2px; background: linear-gradient(180deg, rgba(227,194,122,0), rgba(227,194,122,.75) 30%, rgba(227,194,122,.75) 70%, rgba(227,194,122,0)); }
  #menu .mi-sep::after { content: none; }
  #menu .mi-strip { display: flex; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-left: 4px; padding: 0 18px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  #menu .mi-strip::-webkit-scrollbar { display: none; }
  #menu .mi-strip > .mi-a { flex: none; width: 68px; scroll-snap-align: start; }
  #menu .mi-row.mi-more .mi-strip { -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent); mask-image: linear-gradient(90deg, #000 80%, transparent); }
  #menu .mi-row.mi-more.mi-less .mi-strip { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 80%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 80%, transparent); }
  #menu .mi-row.mi-less:not(.mi-more) .mi-strip { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%); mask-image: linear-gradient(90deg, transparent, #000 10%); }
  #menu .mi-join .app-l { color: #E3C27A; font-weight: 700; }
  #menu .mi-donate { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 4px 0 30px; padding: 16px 20px; border-radius: 18px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1E1505 !important; font: 800 16.5px/1.2 var(--sans); text-decoration: none; box-shadow: 0 10px 24px -10px rgba(227,194,122,.6), inset 0 1px 0 rgba(255,255,255,.6); }
  #menu .mi-donate svg { width: 20px; height: 20px; color: #C0392B; }
  #menu .mi-donate:active { transform: scale(.98); }
  #menu .mi-staff { margin: 6px 20px 22px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); text-align: center; font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.4); }
  html body #menu.mm p.mi-staff a { display: inline !important; position: static !important; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font: 500 12px/1.6 var(--sans) !important; letter-spacing: 0 !important; color: rgba(255,255,255,.6) !important; text-decoration: underline; text-underline-offset: 2px; }
  html body #menu.mm p.mi-staff a::before, html body #menu.mm p.mi-staff a::after { content: none !important; display: none !important; }
  #menu .mi-sec.mi-dock { margin: 0 0 40px; padding: 20px 14px 10px; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 30px -18px rgba(0,0,0,.7); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
  #menu .mi-sec.mi-dock .mi-h { margin-left: 4px; }
  #menu .mi-sec.mi-dock + .mi-sec { border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 34px; margin-bottom: 40px; }
  #menu .mi-sec.mi-dock .mi-h { font-size: 22px; margin-bottom: 18px; }

  /* liquid glass: przejrzyste tło menu z kolorową poświatą i szklane karty działów */
  html body #menu.mm.mi-on { background:
      radial-gradient(60% 22% at 8% 4%, rgba(64,140,255,.38), transparent 70%),
      radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.26), transparent 70%),
      radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.20), transparent 70%),
      radial-gradient(60% 24% at 100% 64%, rgba(40,200,190,.18), transparent 70%),
      radial-gradient(70% 24% at 30% 92%, rgba(64,120,255,.26), transparent 70%),
      rgba(8,14,28,.9) !important;
    background-attachment: local !important; -webkit-backdrop-filter: blur(38px) saturate(1.7); backdrop-filter: blur(38px) saturate(1.7); }
  html body #menu.mm.mi-on .mg-bg { opacity: .9; }
  html body #menu.mm.mi-on .mm-top { background: linear-gradient(180deg, rgba(10,18,34,.72), rgba(10,18,34,.38)) !important; -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); border-bottom: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 10px 30px -20px rgba(0,0,0,.8); }
  #menu .mi-wrap .mi-sec, #menu .mi-sec.mi-dock { position: relative; margin: 0 0 22px !important; padding: 22px 14px 14px !important; border: 1px solid rgba(255,255,255,.15) !important; border-radius: 30px; isolation: isolate;
    background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04) 42%, rgba(255,255,255,.07)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.30), inset 0 -1px 0 rgba(255,255,255,.04), 0 24px 44px -28px rgba(0,0,0,.9) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); }
  #menu .mi-wrap .mi-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 60% at 12% 0%, rgba(255,255,255,.16), transparent 55%), radial-gradient(80% 50% at 100% 100%, rgba(120,170,255,.10), transparent 60%); }
  #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(243,221,166,.20), rgba(255,255,255,.05) 45%, rgba(227,194,122,.10)) !important; border-color: rgba(243,221,166,.28) !important; }
  #menu .mi-wrap .mi-sec:not(.mi-dock):nth-child(2) { padding: 18px 14px 10px !important; border-bottom: 1px solid rgba(255,255,255,.15) !important; }
  #menu .mi-wrap .mi-sec:not(.mi-dock):nth-child(2) .mi-grid { padding-top: 0; }
  #menu .mi-wrap { padding-top: 26px; }
  #menu .mi-h { font-size: 23px; margin: 0 0 18px 4px; }
  #menu .mi-row { border-top: 1px solid rgba(255,255,255,.10); margin-top: 22px; padding-top: 20px; }
  #menu .mi-donate { margin: 6px 0 30px; border-radius: 22px; background: linear-gradient(180deg, rgba(248,228,178,.96), rgba(217,178,96,.94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 -2px 6px rgba(150,110,30,.25), 0 14px 30px -12px rgba(227,194,122,.55); }
  /* języki i przyciski na dole — też szkło */
  html body #menu.mm.mi-on .menu-lang a, html body #menu.mm.mi-on .kp-big-m, html body #menu.mm.mi-on .kp-push-m { background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.04)) !important; border: 1px solid rgba(255,255,255,.16) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.25) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  html body #menu.mm.mi-on .menu-lang a.active { background: linear-gradient(180deg, #fff, #E9EEF7) !important; }
  #menu .mi-a .app-l { width: calc(100% + 14px); max-width: none; margin: 0 -7px; font-size: 11px; overflow-wrap: normal; word-break: keep-all; hyphens: manual; }
  #menu .mi-strip > .mi-a .app-l { width: 100%; margin: 0; }
}

/* Menu na komputerze i tablecie: okno z ikonkami jak „Aplikacje” w macOS — wyszukiwarka, zakładki działów, równa siatka */
@media (min-width: 761px) {
  #menu.mi-desk .mg > .mg-col, #menu.mi-desk .mg > .mg-staff, #menu.mi-desk .mm-search, #menu.mi-desk .mm-quick, #menu.mi-desk .mm-cta, #menu.mi-desk .mm-soc, #menu.mi-desk .mm-foot > p.mm-fh:first-of-type, #menu.mi-desk .mi-donate { display: none !important; }
  #menu.mi-desk .mg { display: block !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  html body #menu.mm.mi-desk, html #menu.menu-sheet.mi-desk { background:
      radial-gradient(50% 40% at 6% 0%, rgba(64,140,255,.30), transparent 70%),
      radial-gradient(45% 40% at 100% 10%, rgba(175,110,255,.22), transparent 70%),
      radial-gradient(50% 45% at 50% 110%, rgba(227,194,122,.16), transparent 70%),
      rgba(16,22,36,.86) !important;
    border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 40px 90px -30px rgba(0,0,0,.85) !important;
    -webkit-backdrop-filter: blur(40px) saturate(1.7); backdrop-filter: blur(40px) saturate(1.7); }
  html #menu.menu-sheet.mi-desk { width: min(1120px, calc(100vw - 48px)); padding: 26px 30px 20px; border-radius: 30px; }
  #menu.mi-desk .mi-wrap { padding: 0; }
  #menu.mi-desk .mi-bar { position: sticky; top: -26px; z-index: 5; margin: -26px -30px 22px; padding: 22px 30px 16px; background: linear-gradient(180deg, rgba(16,22,36,.92), rgba(16,22,36,.78)); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,.09); border-radius: 30px 30px 0 0; }
  #menu.mi-desk .mi-find { display: flex; align-items: center; gap: 14px; padding: 4px 4px 16px; border-bottom: 1px solid rgba(255,255,255,.12); cursor: text; }
  #menu.mi-desk .mi-find svg { flex: none; width: 28px; height: 28px; color: rgba(255,255,255,.75); }
  #menu.mi-desk .mi-find input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: #fff; font: 400 30px/1.2 var(--sans); letter-spacing: -.01em; padding: 2px 0; }
  #menu.mi-desk .mi-find input::placeholder { color: rgba(255,255,255,.45); }
  #menu.mi-desk .mi-find input::-webkit-search-cancel-button { filter: invert(1) opacity(.6); }
  #menu.mi-desk .mi-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  #menu.mi-desk .mi-tabs::-webkit-scrollbar { display: none; }
  #menu.mi-desk .mi-tab { flex: none; padding: 9px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.82); font: 600 14.5px/1 var(--sans); cursor: pointer; transition: background .15s, color .15s; }
  #menu.mi-desk .mi-tab:hover { background: rgba(255,255,255,.14); color: #fff; }
  #menu.mi-desk .mi-tab.on { background: #F3E3BC; border-color: #F3E3BC; color: #1A1406; }
  #menu.mi-desk .mi-sec { margin: 0 0 30px; padding: 0; border: 0; background: none; }
  #menu.mi-desk .mi-sec.mi-dock { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.10); }
  #menu.mi-desk .mi-h { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; font: italic 400 22px/1.1 var(--serif); color: #F3E3BC; }
  #menu.mi-desk .mi-h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(227,194,122,.45), rgba(227,194,122,0)); }
  #menu.mi-desk .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 26px 8px; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html #menu.mi-desk .mi-grid > a.mi-a { display: grid !important; grid-template-rows: 66px auto; justify-items: center; align-content: start; gap: 9px; margin: 0 !important; padding: 8px 4px !important; border: 0 !important; border-radius: 16px !important; background: none !important; box-shadow: none !important; min-height: 0 !important; width: auto !important; text-decoration: none; color: #fff; transition: background .15s; }
  html body #menu.mi-desk .mi-grid > a.mi-a::before, html body #menu.mi-desk .mi-grid > a.mi-a::after { content: none !important; display: none !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.07) !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a[hidden] { display: none !important; }
  #menu.mi-desk .mi-sec[hidden] { display: none !important; }
  #menu.mi-desk .app-ic.mi-ic { position: relative; display: block; width: 66px; height: 66px; transition: transform .18s cubic-bezier(.2,.8,.2,1.3); }
  #menu.mi-desk .mi-a:hover .app-ic.mi-ic { transform: translateY(-3px) scale(1.05); }
  #menu.mi-desk .app-ic.mi-ic svg { display: block; width: 66px; height: 66px; filter: drop-shadow(0 5px 10px rgba(0,0,0,.35)) drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
  #menu.mi-desk .app-l { max-width: 124px; font: 500 13.5px/1.25 var(--sans); text-align: center; color: rgba(255,255,255,.92); white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: normal; }
  #menu.mi-desk .mi-cur .app-l { color: #E3C27A; font-weight: 700; }
  #menu.mi-desk .mi-badge { position: absolute; top: -5px; right: -5px; width: 17px; height: 17px; border-radius: 50%; background: #FF3B30; box-shadow: 0 1px 3px rgba(0,0,0,.35); }
  #menu.mi-desk .mi-tag { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 2px 8px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #E3C27A); color: #2A1E05; font: 800 9.5px/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.35); }
  #menu.mi-desk .mi-join .app-l { color: #E3C27A; font-weight: 700; }
  #menu.mi-desk .mi-a .menu-dot { display: none !important; }
  #menu.mi-desk .mi-empty { margin: 30px 0 40px; text-align: center; color: rgba(255,255,255,.55); font-size: 15px; }
  #menu.mi-desk .mi-staff { margin: 4px 0 6px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); text-align: left; font-size: 12.5px; color: rgba(255,255,255,.45); }
  html body #menu.mi-desk p.mi-staff a { color: rgba(255,255,255,.65) !important; text-decoration: underline; text-underline-offset: 2px; background: none !important; border: 0 !important; padding: 0 !important; display: inline !important; font-size: 12.5px !important; }
  #menu.mi-desk.mm-in .mi-wrap { padding: 0 28px; }
  #menu.mi-desk.mm-in .mi-bar { position: static; margin: 0 -28px 22px; padding: 18px 28px 16px; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  #menu.mi-desk.mm-in .mi-staff { margin: 4px 28px 20px; }
  /* jak w oknie Apple: węższe okno, stałe 7 kolumn rozłożonych na całą szerokość, mniejsze ikonki i spokojniejsze nagłówki */
  html #menu.menu-sheet.mi-desk:not(.mm-in) { width: min(940px, calc(100vw - 48px)); padding: 22px 26px 16px; }
  #menu.mi-desk:not(.mm-in) .mi-bar { margin: -22px -26px 18px; padding: 18px 26px 14px; top: -22px; }
  #menu.mi-desk .mi-find { gap: 12px; padding: 2px 2px 12px; }
  #menu.mi-desk .mi-find svg { width: 22px; height: 22px; }
  #menu.mi-desk .mi-find input { font-size: 24px; }
  #menu.mi-desk .mi-tabs { gap: 6px; margin-top: 12px; }
  #menu.mi-desk .mi-tab { padding: 7px 12px; border-radius: 9px; border-color: transparent; background: rgba(255,255,255,.08); font-size: 13px; font-weight: 600; }
  #menu.mi-desk .mi-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 18px 4px; justify-items: center; }
  @media (max-width: 1100px) { #menu.mi-desk .mi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  html body #menu.mi-desk .mi-grid > a.mi-a { width: 100% !important; grid-template-rows: 54px auto; gap: 7px; padding: 6px 2px !important; border-radius: 14px !important; }
  #menu.mi-desk .app-ic.mi-ic, #menu.mi-desk .app-ic.mi-ic svg { width: 54px; height: 54px; }
  #menu.mi-desk .app-l { max-width: 110px; font-size: 12.5px; }
  #menu.mi-desk .mi-tag { top: -9px; font-size: 8.5px; padding: 1px 7px; }
  #menu.mi-desk .mi-badge { width: 15px; height: 15px; top: -4px; right: -4px; }
  #menu.mi-desk .mi-sec { margin-bottom: 22px; }
  #menu.mi-desk .mi-sec.mi-dock { padding-bottom: 20px; }
  #menu.mi-desk .mi-h { font-size: 18px; margin-bottom: 12px; }
}

/* menu: żywe plakietki na ikonkach (najbliższa Msza, kancelaria otwarta, kolęda dziś, wolne intencje) */
#menu .mi-tip { display: none; }
#menu .mi-live { position: absolute; z-index: 3; pointer-events: none; font-style: normal; }
#menu .mi-live-time { left: 50%; bottom: -7px; transform: translateX(-50%); padding: 2px 7px; border-radius: 999px; background: #fff; color: #1C1C1E; font: 800 10px/1.25 var(--sans); letter-spacing: -.01em; box-shadow: 0 2px 6px rgba(0,0,0,.4); white-space: nowrap; }
#menu .mi-live-dot { top: -4px; right: -4px; width: 15px; height: 15px; border-radius: 50%; background: #8E8E93; border: 2.5px solid #1B2436; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
#menu .mi-live-dot.on { background: #34C759; box-shadow: 0 0 0 3px rgba(52,199,89,.28), 0 1px 3px rgba(0,0,0,.4); }
#menu .mi-live-tag { left: 50%; top: -9px; transform: translateX(-50%); padding: 1px 7px; border-radius: 999px; background: #FF3B30; color: #fff; font: 800 9px/1.35 var(--sans); letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 2px 5px rgba(0,0,0,.35); white-space: nowrap; }
#menu .mi-live-num { top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #FF3B30; color: #fff; font: 700 11.5px/20px var(--sans); text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,.4); box-sizing: border-box; }
@media (min-width: 761px) {
  /* podpowiedź po najechaniu */
  html body #menu.mi-desk .mi-grid > a.mi-a { position: relative; overflow: visible; }
  #menu.mi-desk .mi-tip { display: block; position: absolute; left: 50%; top: calc(100% + 2px); z-index: 20; width: max-content; max-width: 210px; padding: 7px 10px; border-radius: 10px; background: rgba(20,26,40,.96); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 10px 24px -8px rgba(0,0,0,.7); color: rgba(255,255,255,.9); font: 500 12px/1.35 var(--sans); text-align: center; white-space: normal; opacity: 0; transform: translate(-50%, -4px); transition: opacity .15s ease .25s, transform .15s ease .25s; pointer-events: none; }
  #menu.mi-desk .mi-a:hover .mi-tip, #menu.mi-desk .mi-a:focus-visible .mi-tip { opacity: 1; transform: translate(-50%, 0); }
  #menu.mi-desk .mi-a:focus-visible { outline: 2px solid #E3C27A; outline-offset: 2px; }
  #menu.mi-desk .mi-sec { overflow: visible; }
  /* „Najczęściej wybierane” jak Dock w macOS: wyśrodkowany, szklany, większe ikonki */
  #menu.mi-desk .mi-sec.mi-dock { margin: 4px auto 26px; padding: 14px 26px 16px; width: max-content; max-width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04) 45%, rgba(255,255,255,.08)); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 18px 40px -22px rgba(0,0,0,.8); -webkit-backdrop-filter: blur(20px) saturate(1.5); backdrop-filter: blur(20px) saturate(1.5); }
  #menu.mi-desk .mi-sec.mi-dock .mi-h { justify-content: center; font-size: 15px; margin-bottom: 10px; color: rgba(243,227,188,.85); }
  #menu.mi-desk .mi-sec.mi-dock .mi-h::after { display: none; }
  #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: flex !important; justify-content: center; gap: 10px 22px; }
  html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 104px !important; grid-template-rows: 64px auto; }
  #menu.mi-desk .mi-dock .app-ic.mi-ic, #menu.mi-desk .mi-dock .app-ic.mi-ic svg { width: 64px; height: 64px; }
  #menu.mi-desk .mi-sec.mi-dock[hidden] { display: none !important; }
}
#menu .mi-a:has(.mi-live-time) .app-l { margin-top: 5px; }
/* audyt mobilny: słowa w kafelkach z pieczęcią nie łamią się w połowie */
@media (max-width: 760px) { .kk-has-seal .who, .kk-has-seal > .kicker { overflow-wrap: normal !important; word-break: keep-all; hyphens: none; letter-spacing: .08em; padding-right: 88px; } .kk-has-seal > h3 { overflow-wrap: normal !important; hyphens: manual; } }

/* ===== audyt mobilny (27.10.2026) ===== */
/* przycisk „Dołącz do wspólnoty” poza stroną wspólnoty — złoty jak inne główne przyciski */
.zw-btn:not(.ws2 .ws-actions .zw-btn) { background: linear-gradient(180deg, #F3DDA6, #E3C27A) !important; color: #1E1505 !important; border: 0 !important; box-shadow: 0 10px 24px -12px rgba(227,194,122,.7) !important; }
.zw-btn:not(.ws2 .ws-actions .zw-btn) svg { stroke: currentColor; color: #1E1505; }
@media (max-width: 760px) {
  /* formularze: min. 16 px, żeby iPhone nie powiększał ekranu przy pisaniu */
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { font-size: 16px !important; }
  /* większe pola wyboru */
  input[type=checkbox], input[type=radio] { width: 22px !important; height: 22px !important; min-width: 22px; flex: none; }
  label:has(> input[type=checkbox]), label:has(> input[type=radio]) { min-height: 40px; }
  /* kropki slajdów: większe pole dotyku przy tym samym wyglądzie */
  .hs-dot { position: relative; }
  .hs-dot::after { content: ""; position: absolute; inset: -16px -8px; }
  /* linki w stopce — wygodniejsze do kliknięcia */
  .site-footer li > a, .site-footer p > a:not(.btn) { display: inline-block; padding: 8px 0; }
  /* numery telefonów w treści jako przyciski „zadzwoń” */
  main a[href^="tel:"]:not(.btn):not(.mi-a):not([class*="dock"]):not(.of-call):not(:has(svg)) { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 6px; margin: 10px 0 6px; padding: 7px 12px 7px 10px; border-radius: 999px; background: rgba(52,199,89,.14); border: 1px solid rgba(52,199,89,.35); color: #7DE39A !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; line-height: 1.2; }
  main a[href^="tel:"]:not(.btn):not(.mi-a):not([class*="dock"]):not(.of-call):not(:has(svg))::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; }
  html[data-theme=light] main a[href^="tel:"]:not(.btn):not(.mi-a) { color: #1E7A3A !important; }
  /* najmniejszy tekst na pieczęciach i plakietkach — min. 11 px */
  .kk-thumb span, .hs-thumb span { font-size: 11px !important; line-height: 1.2; }
  .kk-new { font-size: 11px !important; }
  /* strona główna: pływający pasek zastąpiło menu z ikonkami */
}
.hero-next { display: none; }
@media (max-width: 760px) {
  .hero-open .hero-open-inner { grid-template-areas: "name" "title" "next" "note" "cue" "live"; }
  .hero-open .hero-next:not([hidden]) { grid-area: next; justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin: 2px 0 4px; padding: 10px 16px 10px 14px; border-radius: 999px; background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #fff; text-decoration: none; font: 700 15px/1.2 var(--sans); }
  .hero-next i { width: 9px; height: 9px; border-radius: 50%; background: #E3C27A; box-shadow: 0 0 0 4px rgba(227,194,122,.25); }
  .hero-next b { color: #E3C27A; }
}
.mj-toc, .mj-cta { display: none; }
@media (max-width: 760px) {
  .mj-toc { display: flex; gap: 8px; margin: 18px -20px 4px; padding: 2px 20px 6px; overflow-x: auto; scrollbar-width: none; align-items: center; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .mj-toc::-webkit-scrollbar { display: none; }
  .mj-toc span { flex: none; font: 700 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(227,194,122,.85); }
  .mj-toc a { flex: none; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: var(--ink) !important; font: 600 14px/1.1 var(--sans); text-decoration: none !important; white-space: nowrap; }
  html[data-theme=light] .mj-toc a { background: rgba(10,20,40,.05); border-color: rgba(10,20,40,.12); }
  .mj-cta { display: block; position: fixed; left: 16px; right: 16px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 40; padding: 16px 20px; border: 0; border-radius: 18px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1E1505; font: 800 16.5px/1.2 var(--sans); box-shadow: 0 14px 30px -10px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.6); transform: translateY(140%); opacity: 0; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .2s; pointer-events: none; }
  .mj-cta.on { transform: none; opacity: 1; pointer-events: auto; }
}
@media (max-width: 760px) { html.kp-mj-on body .pl-up { bottom: calc(96px + env(safe-area-inset-bottom)) !important; } }

/* ===== menu „mistrzostwo”: podpisy w jednej linii, ruch, przypinanie, szukanie na telefonie, jasny motyw, duży tekst ===== */
#menu .mi-wrap a.mi-a[hidden], #menu .mi-wrap .mi-sec[hidden], #menu .mi-wrap .mi-row[hidden], #menu .mi-bar[hidden] { display: none !important; }
#menu .mi-a .app-l { white-space: nowrap !important; display: block !important; -webkit-line-clamp: unset !important; overflow: hidden; text-overflow: ellipsis; }
html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { grid-template-rows: 60px 18px; }
@keyframes miIn { from { opacity: 0; transform: translateY(12px) scale(.82); } }
#menu.mi-on .mi-wrap .mi-a { animation: miIn .42s cubic-bezier(.34,1.45,.64,1) both; animation-delay: calc(var(--i, 0) * 16ms + 40ms); }
#menu .mi-a .app-ic.mi-ic { transition: transform .22s cubic-bezier(.34,1.56,.64,1), filter .15s ease !important; }
#menu .mi-a.mi-press .app-ic.mi-ic { transform: scale(.86) !important; filter: brightness(.88); transition-duration: .5s !important; }
#menu .mi-a:active .app-ic.mi-ic { transform: scale(.9); }
@media (prefers-reduced-motion: reduce) { #menu.mi-on .mi-wrap .mi-a { animation: none; } #menu .mi-a .app-ic.mi-ic { transition: none !important; } }
#menu .mi-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 80; max-width: calc(100vw - 40px); padding: 11px 18px; border-radius: 999px; background: rgba(20,26,40,.94); border: 1px solid rgba(255,255,255,.16); color: #fff; font: 600 14px/1.3 var(--sans); text-align: center; box-shadow: 0 14px 30px -10px rgba(0,0,0,.7); transform: translate(-50%, 20px); opacity: 0; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .25s; pointer-events: none; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
#menu .mi-toast.on { transform: translate(-50%, 0); opacity: 1; }
.mi-find-btn { display: none; }
@media (max-width: 760px) {
  #menu .mm-top .mi-find-btn { display: grid; place-items: center; width: 44px; height: 44px; margin-left: auto; margin-right: 8px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff; }
  #menu .mm-top .mi-find-btn svg { width: 19px; height: 19px; }
  #menu .mi-bar-m { margin: 0 0 18px; }
  #menu .mi-bar-m .mi-find { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 16px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
  #menu .mi-bar-m .mi-find svg { width: 20px; height: 20px; color: rgba(255,255,255,.7); flex: none; }
  #menu .mi-bar-m input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: #fff; font: 400 17px/1.2 var(--sans) !important; }
  #menu .mi-bar-m input::placeholder { color: rgba(255,255,255,.5); }
  @keyframes miBar { from { opacity: 0; transform: translateY(-14px); } }
  #menu .mi-bar-in { animation: miBar .3s cubic-bezier(.2,.8,.2,1); }
  #menu .mi-empty { margin: 10px 0 30px; text-align: center; color: rgba(255,255,255,.6); }
  /* duży tekst: 3 kolumny, większe ikonki i podpisy */
  html.kp-big #menu .mi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 22px; }
  html.kp-big #menu .mi-a .app-ic.mi-ic, html.kp-big #menu .mi-a .app-ic.mi-ic svg { width: 72px !important; height: 72px !important; }
  html.kp-big body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a { grid-template-rows: 72px 22px; }
  html.kp-big #menu .mi-a .app-l { font-size: 14px !important; max-width: 110px; }
  html.kp-big #menu .mi-row { grid-template-columns: calc((100% - 2 * var(--mi-gap)) / 3) 30px minmax(0, 1fr); }
  html.kp-big #menu .mi-strip > .mi-a { width: 88px; }
}
/* jasny motyw — mleczne szkło */
html[data-theme=light] body #menu.mm.mi-on { background: radial-gradient(60% 22% at 8% 4%, rgba(90,150,255,.22), transparent 70%), radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.16), transparent 70%), radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.22), transparent 70%), radial-gradient(70% 24% at 30% 92%, rgba(90,150,255,.16), transparent 70%), rgba(246,248,252,.9) !important; color: #141A2E; }
html[data-theme=light] #menu.mi-on .mm-top { background: linear-gradient(180deg, rgba(250,251,254,.85), rgba(250,251,254,.55)) !important; border-bottom-color: rgba(10,20,40,.08) !important; }
html[data-theme=light] #menu .mi-wrap .mi-sec, html[data-theme=light] #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(255,255,255,.85), rgba(255,255,255,.55)) !important; border-color: rgba(10,20,40,.08) !important; box-shadow: inset 0 1px 0 #fff, 0 18px 40px -26px rgba(20,30,60,.35) !important; }
html[data-theme=light] #menu .mi-sec.mi-dock { background: linear-gradient(160deg, rgba(255,248,230,.95), rgba(255,255,255,.6)) !important; border-color: rgba(201,164,90,.35) !important; }
html[data-theme=light] #menu .mi-h { color: #7A5C1E !important; }
html[data-theme=light] #menu .mi-a .app-l { color: #1C2236 !important; }
html[data-theme=light] #menu .mi-cur .app-l, html[data-theme=light] #menu .mi-join .app-l { color: #8F6F26 !important; }
html[data-theme=light] #menu .mi-row { border-top-color: rgba(10,20,40,.08); }
html[data-theme=light] #menu .mi-a .app-ic.mi-ic svg { filter: drop-shadow(0 4px 8px rgba(20,30,60,.18)) drop-shadow(0 1px 1.5px rgba(20,30,60,.15)); }
html[data-theme=light] #menu .mi-find-btn, html[data-theme=light] #menu .mi-bar-m .mi-find { background: rgba(10,20,40,.05); border-color: rgba(10,20,40,.1); color: #141A2E; }
html[data-theme=light] #menu .mi-bar-m input, html[data-theme=light] #menu.mi-desk .mi-find input { color: #141A2E; }
html[data-theme=light] #menu .mi-staff { color: rgba(20,26,46,.55); border-top-color: rgba(10,20,40,.08); }
html[data-theme=light] body #menu.mm p.mi-staff a { color: rgba(20,26,46,.75) !important; }
html[data-theme=light] #menu .mi-live-dot { border-color: #fff; }
@media (min-width: 761px) {
  html[data-theme=light] body #menu.mm.mi-desk { background: radial-gradient(50% 40% at 6% 0%, rgba(90,150,255,.18), transparent 70%), radial-gradient(45% 40% at 100% 10%, rgba(175,110,255,.12), transparent 70%), rgba(248,250,253,.92) !important; border-color: rgba(10,20,40,.1) !important; }
  html[data-theme=light] #menu.mi-desk .mi-bar { background: linear-gradient(180deg, rgba(250,251,254,.95), rgba(250,251,254,.8)); border-bottom-color: rgba(10,20,40,.08); }
  html[data-theme=light] #menu.mi-desk .mi-find svg { color: rgba(20,26,46,.6); }
  html[data-theme=light] #menu.mi-desk .mi-tab { background: rgba(10,20,40,.05); color: #1C2236; }
  html[data-theme=light] #menu.mi-desk .mi-tab.on { background: #1C2236; color: #fff; }
  html[data-theme=light] #menu.mi-desk .mi-sec, html[data-theme=light] #menu.mi-desk .mi-sec.mi-dock { background: none !important; box-shadow: none !important; border: 0 !important; }
  html[data-theme=light] #menu.mi-desk .mi-sec.mi-dock { background: rgba(255,255,255,.7) !important; border: 1px solid rgba(10,20,40,.08) !important; }
  html[data-theme=light] #menu.mi-desk .mi-tip { background: #1C2236; }
  html.kp-big #menu.mi-desk .mi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html.kp-big #menu.mi-desk .app-ic.mi-ic, html.kp-big #menu.mi-desk .app-ic.mi-ic svg { width: 66px; height: 66px; }
  html.kp-big #menu.mi-desk .app-l { font-size: 15px; }
}
html body #menu.mm .mi-wrap :is(.mi-grid, .mi-row, .mi-strip) > a.mi-a[hidden] { display: none !important; }
html[data-theme=light] #menu.mi-on .mm-top, html[data-theme=light] #menu.mi-on .mm-top * { color: #141A2E !important; }
html[data-theme=light] #menu.mi-on .mm-top .mm-x, html[data-theme=light] #menu.mi-on .mm-top .mi-find-btn { background: rgba(10,20,40,.06) !important; border-color: rgba(10,20,40,.12) !important; }

/* menu spójne ze stroną: nagłówki działów jak nagłówki sekcji (Bricolage 600, złota kreska 3 px nad tytułem), łączniki tej samej grubości */
#menu .mi-wrap .mi-h, #menu.mi-desk .mi-h, #menu .mi-sec.mi-dock .mi-h, #menu.mi-desk .mi-sec.mi-dock .mi-h { display: block !important; margin: 0 0 18px 2px !important; font: 600 22px/1.1 var(--display) !important; font-style: normal !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--ink, #fff) !important; text-align: left !important; justify-content: flex-start !important; }
#menu .mi-wrap .mi-h::before { content: ""; display: block; width: 96px; height: 3px; border-radius: 3px; margin-bottom: 12px; background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.85) 18%, rgba(201,164,90,.35) 55%, rgba(201,164,90,0) 100%); transform-origin: 0 50%; animation: dp-line 1.1s cubic-bezier(.22,1,.36,1) both; }
#menu .mi-wrap .mi-h::after { content: none !important; display: none !important; }
#menu .mi-sep::before { width: 3px !important; margin-left: -1.5px !important; border-radius: 3px !important; background: linear-gradient(180deg, rgba(227,194,122,0) 0%, rgba(227,194,122,.35) 18%, #E3C27A 50%, rgba(227,194,122,.35) 82%, rgba(227,194,122,0) 100%) !important; }
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap .mi-h { font-size: 19px !important; margin-bottom: 14px !important; }
  #menu.mi-desk .mi-wrap .mi-h::before { width: 80px; margin-bottom: 10px; }
  #menu.mi-desk .mi-sec.mi-dock .mi-h { text-align: center !important; }
  #menu.mi-desk .mi-sec.mi-dock .mi-h::before { margin-left: auto; margin-right: auto; background: linear-gradient(90deg, rgba(201,164,90,0), #E3C27A 50%, rgba(201,164,90,0)); }
}
html[data-theme=light] #menu .mi-wrap .mi-h { color: #141A2E !important; }
@media (prefers-reduced-motion: reduce) { #menu .mi-wrap .mi-h::before { animation: none; } }
/* kreski w menu: na początku 3 px, potem dłuższe i coraz smuklejsze (zwężający się klin + zanikający gradient) */
#menu .mi-wrap .mi-h::before { width: min(78%, 300px) !important; height: 3px !important; border-radius: 0 !important; clip-path: polygon(0 0, 100% 46%, 100% 54%, 0 100%); background: linear-gradient(90deg, #E3C27A 0%, rgba(227,194,122,.9) 22%, rgba(201,164,90,.45) 60%, rgba(201,164,90,0) 100%) !important; }
@media (min-width: 761px) { #menu.mi-desk .mi-wrap .mi-h::before { width: min(60%, 340px) !important; } #menu.mi-desk .mi-sec.mi-dock .mi-h::before { width: 260px !important; clip-path: polygon(0 46%, 50% 0, 100% 46%, 100% 54%, 50% 100%, 0 54%); background: linear-gradient(90deg, rgba(201,164,90,0), #E3C27A 50%, rgba(201,164,90,0)) !important; } }
#menu .mi-sep::before { width: 3px !important; margin-left: -1.5px !important; top: -6px !important; bottom: -14px !important; border-radius: 0 !important; clip-path: polygon(0 0, 100% 0, 54% 100%, 46% 100%); background: linear-gradient(180deg, #E3C27A 0%, rgba(227,194,122,.85) 25%, rgba(201,164,90,.4) 65%, rgba(201,164,90,0) 100%) !important; }

/* ===== komputer: prawdziwe liquid glass, działy jako szklane karty w dwóch kolumnach ===== */
@media (min-width: 761px) {
  html body #menu.mm.mi-desk, html #menu.menu-sheet.mi-desk {
    background: radial-gradient(70% 50% at 0% 0%, rgba(90,150,255,.22), transparent 70%), radial-gradient(60% 50% at 100% 0%, rgba(175,110,255,.16), transparent 70%), radial-gradient(70% 60% at 50% 110%, rgba(227,194,122,.14), transparent 70%), rgba(18,26,44,.52) !important;
    -webkit-backdrop-filter: blur(44px) saturate(1.9) brightness(.92) !important; backdrop-filter: blur(44px) saturate(1.9) brightness(.92) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.04), 0 50px 100px -30px rgba(0,0,0,.75) !important; }
  #menu.mi-desk .mg-bg { opacity: .55; }
  #menu.mi-desk:not(.mm-in) .mi-bar { background: linear-gradient(180deg, rgba(22,30,50,.72), rgba(22,30,50,.38)) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; -webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6); }
  #menu.mi-desk .mi-find { border-bottom: 0 !important; padding: 10px 14px !important; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
  #menu.mi-desk .mi-find input { font-size: 20px !important; }
  /* zakładki jako jeden przełącznik w szkle */
  #menu.mi-desk .mi-tabs { display: flex !important; flex-wrap: nowrap !important; gap: 2px !important; width: max-content; max-width: 100%; margin: 12px 0 0 !important; padding: 4px; border-radius: 13px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); overflow-x: auto; scrollbar-width: none; }
  #menu.mi-desk .mi-tab { border: 0 !important; background: transparent !important; color: rgba(255,255,255,.75) !important; padding: 7px 12px !important; border-radius: 10px !important; font-size: 13px !important; white-space: nowrap; }
  #menu.mi-desk .mi-tab:hover { color: #fff !important; background: rgba(255,255,255,.08) !important; }
  #menu.mi-desk .mi-tab.on { background: rgba(255,255,255,.92) !important; color: #141A2E !important; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
  /* układ: karty w dwóch kolumnach */
  #menu.mi-desk .mi-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  #menu.mi-desk .mi-wrap > .mi-bar, #menu.mi-desk .mi-wrap > .mi-empty, #menu.mi-desk .mi-wrap > .mi-dock, #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp], #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { grid-column: 1 / -1; }
  #menu.mi-desk .mi-wrap > .mi-sec { margin: 0 !important; padding: 18px 16px 10px !important; border-radius: 24px !important; border: 1px solid rgba(255,255,255,.13) !important; background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 50%, rgba(255,255,255,.06)) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 18px 34px -24px rgba(0,0,0,.7) !important; height: 100%; box-sizing: border-box; }
  #menu.mi-desk .mi-wrap > .mi-sec.mi-dock { width: auto !important; margin: 0 !important; padding: 16px 16px 12px !important; background: linear-gradient(160deg, rgba(243,221,166,.16), rgba(255,255,255,.04) 50%, rgba(227,194,122,.08)) !important; border-color: rgba(243,221,166,.26) !important; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)) !important; justify-items: center; gap: 14px 4px !important; }
  #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important; }
  #menu.mi-desk .mi-wrap .mi-h { margin-left: 4px !important; }
  /* dół okna */
  #menu.mi-desk .mg-bless { margin: 18px 0 0 !important; padding: 14px 18px !important; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
  #menu.mi-desk .mi-staff { border-top: 0 !important; padding-top: 6px !important; }
}
/* telefon: tło też bardziej szklane */
@media (max-width: 760px) {
  html body #menu.mm.mi-on { background: radial-gradient(60% 22% at 8% 4%, rgba(64,140,255,.34), transparent 70%), radial-gradient(55% 20% at 96% 18%, rgba(175,110,255,.24), transparent 70%), radial-gradient(60% 22% at 0% 46%, rgba(227,194,122,.18), transparent 70%), radial-gradient(70% 24% at 30% 92%, rgba(64,120,255,.24), transparent 70%), rgba(10,16,30,.74) !important;
    -webkit-backdrop-filter: blur(46px) saturate(1.9) !important; backdrop-filter: blur(46px) saturate(1.9) !important; }
}
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap > .mi-bar { order: 0; } #menu.mi-desk .mi-wrap > .mi-dock { order: 1; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { order: 2; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { order: 3; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { order: 4; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life] { order: 5; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp] { order: 6; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { order: 7; } #menu.mi-desk .mi-wrap > .mi-empty { order: 8; }
  #menu.mi-desk:not(.mm-in) .mi-bar { background: linear-gradient(180deg, rgba(24,32,54,.94), rgba(24,32,54,.86)) !important; }
}

/* telefon: strona główna — tylko jedna linijka stopki */
@media (max-width: 760px) {
  body.kp-home .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 26px 24px calc(28px + env(safe-area-inset-bottom)) !important; border-top: 1px solid rgba(255,255,255,.06); font-size: 12.5px !important; line-height: 1.5; text-align: center; color: rgba(255,255,255,.45); }
}
/* telefon: ustawienia na dole menu */
@media (max-width: 760px) {
  #menu.mi-on .mm-foot, #menu.mi-on > .kp-big-m, #menu.mi-on > .kp-push-m, #menu.mi-on .kp-big-m, #menu.mi-on .kp-push-m { display: none !important; }
  #menu .mi-set { padding-bottom: 8px !important; }
  #menu .mi-set-row { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 4px; border: 0; border-top: 1px solid rgba(255,255,255,.08); background: none; color: inherit; font: inherit; text-align: left; -webkit-tap-highlight-color: transparent; }
  #menu .mi-set-row:first-of-type { border-top: 0; }
  #menu .mi-set-t { flex: 1; min-width: 0; }
  #menu .mi-set-t b { display: block; font: 600 16px/1.25 var(--sans); color: var(--ink, #fff); }
  #menu .mi-set-t small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.62); }
  #menu .mi-set-lang { flex-direction: column; align-items: stretch; gap: 12px; }
  #menu .mi-flags { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
  #menu .mi-flag { display: grid; justify-items: center; gap: 5px; padding: 10px 2px 8px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.85); text-decoration: none; font: 700 11.5px/1 var(--sans); letter-spacing: .04em; }
  #menu .mi-flag .kp-flag, #menu .mi-flag img, #menu .mi-flag svg { width: 30px !important; height: 20px !important; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.35); margin: 0 !important; }
  #menu .mi-flag.on { background: rgba(255,255,255,.92); border-color: #fff; color: #141A2E; }
  #menu .mi-sw { position: relative; flex: none; width: 51px; height: 31px; border-radius: 999px; background: rgba(120,120,128,.36); transition: background .25s; }
  #menu .mi-sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 27px; height: 27px; border-radius: 50%; background: #fff; box-shadow: 0 3px 8px rgba(0,0,0,.25); transition: transform .25s cubic-bezier(.34,1.4,.64,1); }
  #menu .mi-set-tg.on .mi-sw { background: #34C759; }
  #menu .mi-set-tg.on .mi-sw::after { transform: translateX(20px); }
  html[data-theme=light] #menu .mi-set-t small { color: rgba(20,26,46,.6); }
  html[data-theme=light] #menu .mi-set-row { border-top-color: rgba(10,20,40,.08); }
  html[data-theme=light] #menu .mi-flag { background: rgba(10,20,40,.04); border-color: rgba(10,20,40,.1); color: #1C2236; }
  html[data-theme=light] #menu .mi-flag.on { background: #1C2236; color: #fff; }
}
@media (max-width: 760px) {
  body.kp-home .site-footer .footer-credit, body.kp-home .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.55) !important; }
  html body #menu.mm.mi-on { background-color: rgba(10,16,30,.84) !important; }
}
@media (max-width: 760px) {
  /* strona główna: dolny pasek z 4 najczęściej wybieranymi — bez przewijania, równo rozłożone */
  body.kp-home .dock-wrap > .dock { display: grid !important; grid-template-columns: repeat(4, 1fr); overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
  body.kp-home .dock-wrap > .dock a { min-width: 0 !important; width: auto !important; }
  body.kp-home .dock-wrap .dk-arrow, body.kp-home .dock-wrap .dk-track { display: none !important; }
  body.kp-home .site-footer .footer-credit { padding-bottom: 22px !important; }
  body.kp-home { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
}

/* komunikat powiadomień w menu (np. jak włączyć na iPhonie) */
#menu .mi-set-note { margin: 2px 0 6px; padding: 12px 14px; border-radius: 14px; background: rgba(201,164,90,.14); border: 1px solid rgba(201,164,90,.4); color: #F3E3BF; font-size: 14.5px; line-height: 1.45; }
#menu .mi-set-note[hidden] { display: none; }
/* telefon: nagłówki w menu bez złotych linii nad nimi — czyściej */
@media (max-width: 760px) { #menu .mi-wrap .mi-h::before { display: none !important; content: none !important; } #menu .mi-wrap .mi-h { padding-top: 0 !important; } }

/* komputer: „Pamięć o zmarłych” na całą szerokość, między sakramentami a życiem parafii */
@media (min-width: 761px) { #menu.mi-desk .mi-wrap > .mi-sec[data-cat=dead] { grid-column: 1 / -1; order: 4; } #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { order: 4; } }
/* ===== asystent „Zapytaj parafię” (rozmowa z bazy odpowiedzi) ===== */
.kp-ask2 { background: linear-gradient(165deg, rgba(22,34,62,.94), rgba(10,18,36,.96)); -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.12); }
.kp-ask2 .kp-ask-h b { display: grid; gap: 1px; line-height: 1.15; }
.kp-ask2 .kp-ask-h b small { font-size: 11.5px; font-weight: 600; color: #7FE0B2; letter-spacing: .01em; }
.kp-ask2 .kp-ask-h b small::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #3DD68C; box-shadow: 0 0 0 3px rgba(61,214,140,.18); vertical-align: 1px; }
.kp-ask2 .kp-ask-m { font-size: 15px; }
.kp-ask2 .kp-ask-m.a { max-width: 92%; }
.kp-ask-go { display: inline-flex; margin-top: 10px; padding: 8px 13px; border-radius: 999px; background: rgba(227,194,122,.16); border: 1px solid rgba(227,194,122,.45); color: #F3DDA5 !important; text-decoration: none !important; font-weight: 700; font-size: 13.5px; }
.kp-ask-go:hover { background: rgba(227,194,122,.26); }
.kp-ask2 .kp-ask-sug { margin: -2px 0 2px; }
.kp-ask2 .kp-ask-sug button { font-size: 13.5px; line-height: 1.3; padding: 9px 13px; transition: background .15s, border-color .15s; }
.kp-ask2 .kp-ask-sug button:hover { background: rgba(227,194,122,.18); border-color: rgba(227,194,122,.7); }
.kp-ask2 .kp-ask-m ul { margin: 6px 0 0; padding-left: 18px; }
@media (max-width: 760px) {
  .kp-ask-fab { width: 46px; height: 46px !important; padding: 0 !important; justify-content: center; border-radius: 50%; }
  .kp-ask-fab span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .kp-ask-fab svg { width: 23px; height: 23px; }
  .kp-ask2 { height: min(82dvh, 680px); }
}

/* ===== asystent po prawej, jako znak parafii z plakietką AI ===== */
.kp-ask-fab { left: auto !important; right: 22px; bottom: 24px; width: 58px; height: 58px !important; padding: 0 !important; gap: 0; justify-content: center; border-radius: 50%; color: #E9CF8E;
  background: radial-gradient(120% 120% at 30% 20%, rgba(70,110,200,.55), rgba(14,24,48,.92) 70%) !important; border: 1px solid rgba(233,207,142,.45) !important; box-shadow: 0 16px 36px -12px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.25) !important; }
.kp-ask-fab .kp-ask-mark { width: 30px; height: 30px; color: #E9CF8E; filter: drop-shadow(0 1px 4px rgba(233,207,142,.35)); }
.kp-ask-fab > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kp-ai-b { position: absolute; top: -5px; right: -7px; padding: 3px 6px 2px; border-radius: 999px; background: linear-gradient(180deg, #F3DDA6, #D9B260); color: #1A1206; font: 800 10.5px/1 var(--sans, system-ui), sans-serif; letter-spacing: .04em; box-shadow: 0 2px 8px rgba(0,0,0,.35); border: 1.5px solid rgba(10,18,36,.9); }
.kp-ask { left: auto !important; right: 22px; }
.kp-ask-ic { position: relative; width: 36px !important; height: 36px !important; border-radius: 50% !important; }
.kp-ask-ic .kp-ask-mark { width: 20px; height: 20px; color: #E9CF8E; }
.kp-ask-ic .kp-ai-b { top: -7px; right: -11px; font-size: 9px; padding: 2px 5px 1px; }
.kp-ask-x { display: grid !important; place-items: center; padding: 0 !important; width: 36px; height: 36px; line-height: 0 !important; font-size: 0 !important; flex: none; }
.kp-ask-x svg { display: block; }
/* przycisk „do góry” nad asystentem, żeby się nie nakładały */
html.kp-has-ask body .pl-up { bottom: 102px; right: 30px; }
@media (max-width: 760px) {
  .kp-ask-fab { right: 14px !important; width: 52px !important; height: 52px !important; bottom: calc(96px + env(safe-area-inset-bottom)); }
  html:not(.kp-has-dock) body .kp-ask-fab { bottom: calc(18px + env(safe-area-inset-bottom)); }
  html.kp-mj-on body .kp-ask-fab { bottom: calc(96px + env(safe-area-inset-bottom)); }
  .kp-ask-fab .kp-ask-mark { width: 27px; height: 27px; }
  .kp-ask { left: 8px !important; right: 8px !important; }
  html.kp-has-ask body .pl-up { right: 21px !important; bottom: calc(160px + env(safe-area-inset-bottom)) !important; }
  html.kp-has-ask body .pl-up { margin-bottom: 8px; }
  html.kp-has-ask:not(.kp-has-dock):not(.kp-mj-on) body .pl-up { bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
}

/* ===== ikonka asystenta: liquid glass + opalizująca plakietka AI ===== */
.kp-ask-fab { isolation: isolate; overflow: visible;
  background: linear-gradient(150deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.14) 100%), rgba(18,32,64,.38) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.9) brightness(1.08); backdrop-filter: blur(18px) saturate(1.9) brightness(1.08);
  border: 1px solid rgba(255,255,255,.42) !important;
  box-shadow: inset 0 1.5px 1px rgba(255,255,255,.75), inset 0 -10px 18px rgba(10,20,45,.35), inset 0 0 0 1px rgba(255,255,255,.06), 0 18px 34px -14px rgba(0,0,0,.65), 0 0 0 6px rgba(233,207,142,.06) !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, opacity .3s; }
.kp-ask-fab::before { content: ""; position: absolute; left: 14%; top: 7%; width: 58%; height: 34%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.55), rgba(255,255,255,0)); filter: blur(1px); pointer-events: none; z-index: 0; }
.kp-ask-fab::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; background: conic-gradient(from 210deg, rgba(142,197,255,.0), rgba(142,197,255,.55), rgba(183,156,255,.5), rgba(255,181,216,.45), rgba(240,207,126,.5), rgba(142,197,255,.0)); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.6px), #000 calc(100% - 1.5px)); mask: radial-gradient(farthest-side, transparent calc(100% - 1.6px), #000 calc(100% - 1.5px)); pointer-events: none; z-index: 0; }
.kp-ask-fab .kp-ask-mark { position: relative; z-index: 1; color: #F0CF7E; filter: drop-shadow(0 1px 1px rgba(0,0,0,.35)) drop-shadow(0 0 8px rgba(240,207,126,.35)); }
@media (hover: hover) { .kp-ask-fab:hover { transform: translateY(-2px) scale(1.04); box-shadow: inset 0 1.5px 1px rgba(255,255,255,.8), inset 0 -10px 18px rgba(10,20,45,.3), 0 22px 40px -14px rgba(0,0,0,.7), 0 0 0 8px rgba(233,207,142,.10) !important; } }
.kp-ai-b { z-index: 2; display: inline-flex; align-items: center; gap: 2px; top: -6px; right: -8px; padding: 3px 6px 3px 5px; border-radius: 999px; color: #fff; font: 800 10px/1 var(--sans, system-ui), sans-serif; letter-spacing: .06em; text-shadow: 0 1px 2px rgba(40,20,90,.45);
  background: linear-gradient(120deg, #6FB3FF 0%, #9C8CFF 38%, #E99BD0 70%, #F5C979 100%); background-size: 180% 100%;
  border: 1px solid rgba(255,255,255,.75); box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 4px 10px -2px rgba(70,60,160,.55); animation: kpAiSheen 6s ease-in-out infinite; }
.kp-ai-b svg { display: block; filter: drop-shadow(0 0 2px rgba(255,255,255,.8)); }
@keyframes kpAiSheen { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
@media (prefers-reduced-motion: reduce) { .kp-ai-b { animation: none; } }
.kp-ask-ic { background: linear-gradient(150deg, rgba(255,255,255,.22), rgba(255,255,255,.04)) !important; border: 1px solid rgba(255,255,255,.3) !important; box-shadow: inset 0 1px 1px rgba(255,255,255,.5); }
.kp-ask-ic .kp-ai-b { padding: 2px 4px 2px 3px; font-size: 8.5px; top: -7px; right: -12px; }
.kp-ask-ic .kp-ai-b svg { width: 6px; height: 6px; }
.kp-ask-fab .kp-ai-b svg, .kp-ask-ic .kp-ai-b svg { width: 7px !important; height: 7px !important; color: #fff; }
.kp-ask-fab .kp-ai-b { top: -4px; right: -10px; font-size: 9.5px; padding: 3px 5px 3px 4px; }
.kp-ask-fab .kp-ask-mark { width: 30px !important; height: 30px !important; }
@media (max-width: 760px) { .kp-ask-fab .kp-ask-mark { width: 27px !important; height: 27px !important; } }
/* plakietka AI i obwódka bez różu: błękit → lazur → złoto (kolory strony) */
.kp-ai-b { background: linear-gradient(120deg, #4E9BFF 0%, #6C7DFF 40%, #3FB8C9 70%, #E2BC62 100%) !important; background-size: 180% 100% !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 4px 10px -2px rgba(30,60,140,.55) !important; }
.kp-ask-fab::after { background: conic-gradient(from 210deg, rgba(110,170,255,0), rgba(110,170,255,.6), rgba(108,125,255,.5), rgba(63,184,201,.45), rgba(240,207,126,.55), rgba(110,170,255,0)) !important; }
/* plakietka AI wyśrodkowana pod znakiem, na dolnej krawędzi kółka */
.kp-ask-fab .kp-ai-b { top: auto !important; right: auto !important; left: 50% !important; bottom: -7px !important; transform: translateX(-50%); }
.kp-ask-fab .kp-ai-b svg { width: 8px !important; height: 8px !important; }
.kp-ask-fab .kp-ai-b { padding: 3px 7px 3px 6px; gap: 3px; }
.kp-ai-b { width: max-content; white-space: nowrap; } .kp-ai-b svg { flex: none; }
/* plakietka AI z powrotem w prawym górnym rogu; napis wyśrodkowany w ramce */
.kp-ask-fab .kp-ai-b { left: auto !important; bottom: auto !important; transform: none; top: -5px !important; right: -9px !important; }
.kp-ai-b { box-sizing: border-box; height: 18px; padding: 1px 6px 0 5px !important; gap: 3px !important; justify-content: center; align-items: center; line-height: 1 !important; letter-spacing: 0 !important; font-size: 10px !important; }
.kp-ask-ic .kp-ai-b { height: 15px; padding: 1px 4px 0 3px !important; font-size: 8.5px !important; }
.kp-ai-b svg { margin-top: -1px; }
.kp-ai-b { padding: .5px 5.3px 0 6px !important; }
.kp-ask-ic .kp-ai-b { padding: .5px 3.4px 0 4px !important; }
/* plakietka AI: jasne, mleczne szkło + napis w gradiencie (błękit → granat → złoto), złota gwiazdka */
.kp-ai-b { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(232,240,255,.86)) !important; -webkit-backdrop-filter: blur(8px) saturate(1.6); backdrop-filter: blur(8px) saturate(1.6);
  border: .5px solid rgba(255,255,255,.95) !important; color: #C9973A; text-shadow: none !important; animation: none !important;
  box-shadow: 0 3px 10px -2px rgba(10,25,70,.55), 0 0 0 .5px rgba(80,110,200,.25), inset 0 -1px 0 rgba(120,150,220,.22) !important; }
.kp-ai-b svg { filter: none !important; color: #D4A13C !important; }
.kp-ai-b i { font-style: normal; font-weight: 850; letter-spacing: .01em; background: linear-gradient(110deg, #2B6BFF 0%, #4B4FD8 45%, #2B6BFF 60%, #B98A2E 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: kpAiText 7s ease-in-out infinite; }
@keyframes kpAiText { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
@media (prefers-reduced-motion: reduce) { .kp-ai-b i { animation: none; } }
/* nagłówek okna asystenta: bez plakietki (podpis „asystent AI” wystarcza) — czysty znak parafii */
.kp-ask-ic .kp-ai-b { display: none !important; }
.kp-ask-ic { width: 40px !important; height: 40px !important; }
.kp-ask-ic .kp-ask-mark { width: 22px !important; height: 22px !important; }

/* komputer: strona główna też tylko pierwszy ekran (Msze) i drugi w bok (Wspólnoty) + stopka; resztę otwiera menu lub link (#msze…) */
@media (min-width: 761px) {
  #tresc > section.apps-sec ~ section:not(.ap-open) { display: none !important; }
  #tresc > section.ap-open { animation: apOpen .35s ease both; }
  .ap-back { display: inline-flex; margin: 22px max(24px, calc((100% - 1180px) / 2)) 0; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
}
/* komputer: strona główna — pod ekranami tylko jedna linijka stopki (jak na telefonie) */
@media (min-width: 761px) {
  body.kp-home .site-footer > *:not(.footer-credit) { display: none !important; }
  body.kp-home .site-footer { padding: 0 !important; border-top: 0 !important; background: transparent !important; }
  body.kp-home .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 22px 24px 26px !important; border-top: 1px solid rgba(255,255,255,.06); font-size: 13px !important; line-height: 1.5; text-align: center; }
  body.kp-home .site-footer .footer-credit, body.kp-home .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.5) !important; }
}
@media (min-width: 761px) { body.kp-home .site-footer .footer-credit { padding: 16px 24px 18px !important; } }
/* ===== menu na komputerze jak na telefonie: bez złotych linii, nagłówki po lewej, ikonki równym rytmem, karty na 6-kolumnowej siatce ===== */
@media (min-width: 761px) {
  #menu.mi-desk .mi-wrap .mi-h::before, #menu.mi-desk .mi-wrap .mi-h::after, #menu.mi-desk .mi-sec.mi-dock .mi-h::before { display: none !important; content: none !important; }
  #menu.mi-desk .mi-wrap .mi-h, #menu.mi-desk .mi-sec.mi-dock .mi-h { text-align: left !important; justify-content: flex-start !important; margin: 0 0 16px 8px !important; padding: 0 !important; font: 600 21px/1.15 var(--display) !important; color: #fff !important; letter-spacing: -.01em; }
  #menu.mi-desk .mi-wrap { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 14px !important; }
  #menu.mi-desk .mi-wrap > * { grid-column: 1 / -1; }
  #menu.mi-desk .mi-wrap > .mi-sec { padding: 20px 16px 14px !important; }
  #menu.mi-desk .mi-wrap > .mi-sec.mi-dock { order: 1; width: auto !important; margin: 0 !important; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { grid-column: span 3; order: 2; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { grid-column: span 3; order: 3; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=sak] { grid-column: span 4; order: 4; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=dead] { grid-column: span 2; order: 5; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=life] { grid-column: span 3; order: 6; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=wsp] { grid-column: span 3; order: 7; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=cont] { grid-column: 1 / -1; order: 8; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid, #menu.mi-desk .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fill, 104px) !important; justify-content: start !important; justify-items: center; gap: 16px 4px !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 104px !important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat] { grid-column: 1 / -1 !important; }
}
@media (min-width: 1101px) {
  html #menu.menu-sheet.mi-desk { width: min(1320px, calc(100vw - 48px)) !important; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=day] { grid-column: span 2; }
  #menu.mi-desk .mi-wrap > .mi-sec[data-cat=know] { grid-column: span 4; }
  #menu.mi-desk .mi-wrap > .mi-sec .mi-grid, #menu.mi-desk .mi-sec.mi-dock .mi-grid { grid-template-columns: repeat(auto-fill, 98px) !important; }
  html body #menu.mi-desk .mi-grid > a.mi-a, html body #menu.mi-desk .mi-dock .mi-grid > a.mi-a { width: 98px !important; }
}
/* komputer: linijka stopki na stronie głównej zawsze widoczna — przyklejona do dołu okna */
@media (min-width: 761px) {
  body.kp-home .site-footer { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 55; }
  body.kp-home .site-footer .footer-credit { padding: 14px 90px 15px !important; background: rgba(9,15,30,.78) !important; -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); border-top: 1px solid rgba(255,255,255,.08) !important; }
  body.kp-home { padding-bottom: 50px !important; }
  body.kp-home .kp-ask-fab { bottom: 64px !important; }
  body.kp-home .pl-up { bottom: 136px !important; }
}
/* ===== KOMPUTER: MEGA-MENU (wariant A) — u góry kafle „na żywo”, pod nimi kolumny tekstowych linków ===== */
@media (min-width: 761px) {
  html #menu.menu-sheet.mi-desk.mi-mega { width: min(1240px, calc(100vw - 48px)) !important; }
  #menu.mi-mega .mi-tabs { display: none !important; }
  #menu.mi-mega .mi-wrap { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 28px !important;
    grid-template-areas: "bar bar bar bar bar" "top top top top top" "day sak wsp know dead" "day sak wsp life cont" "emp emp emp emp emp" "don don don don don"; align-items: start; }
  #menu.mi-mega .mi-wrap > * { order: 0 !important; }
  #menu.mi-mega .mi-wrap > .mi-bar { grid-area: bar !important; margin-bottom: 18px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=top] { grid-area: top !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=day] { grid-area: day !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=sak] { grid-area: sak !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=wsp] { grid-area: wsp !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=know] { grid-area: know !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=life] { grid-area: life !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=dead] { grid-area: dead !important; }
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] { grid-area: cont !important; }
  #menu.mi-mega .mi-wrap > .mi-empty { grid-area: emp !important; }
  #menu.mi-mega .mi-wrap > .mi-donate { grid-area: don !important; justify-self: end; margin-top: 18px !important; }
  /* kolumny: bez kart, nagłówek małymi złotymi literami */
  #menu.mi-mega .mi-wrap > .mi-sec { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 22px !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  #menu.mi-mega .mi-wrap > .mi-sec .mi-h { margin: 0 0 8px 10px !important; font: 700 12.5px/1.2 var(--sans) !important; letter-spacing: .13em !important; text-transform: uppercase !important; color: #E9CF8E !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid { display: flex !important; flex-direction: column; gap: 1px !important; grid-template-columns: none !important; }
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a { display: flex !important; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; width: auto !important; min-height: 0 !important; padding: 7px 10px !important; border-radius: 10px !important; grid-template-rows: none !important; text-align: left; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .app-l { order: 1; font: 500 15.5px/1.3 var(--sans) !important; color: rgba(255,255,255,.9) !important; white-space: normal !important; text-align: left !important; max-width: none !important; overflow: visible !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-a:hover .app-l { color: #fff !important; }
  /* ikonki znikają, zostają tylko plakietki (ZAPISY, kropka, godzina) — w jednej linii za napisem */
  #menu.mi-mega .mi-wrap .mi-a .app-ic { order: 2; position: static !important; width: auto !important; height: auto !important; min-width: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; margin: 0 !important; transform: none !important; }
  #menu.mi-mega .mi-wrap .mi-a .app-ic > svg { display: none !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-tag, #menu.mi-mega .mi-wrap .mi-a .mi-badge, #menu.mi-mega .mi-wrap .mi-a .mi-live { position: static !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-tag { padding: 2px 7px !important; font-size: 9.5px !important; }
  #menu.mi-mega .mi-wrap .mi-a .mi-badge { width: 8px !important; height: 8px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-tip, #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-sep, #menu.mi-mega .mi-row .mi-sep { display: none !important; }
  #menu.mi-mega .mi-row { display: contents !important; }
  #menu.mi-mega .mi-row > .mi-strip { display: contents !important; }
  /* górny rząd: kafle z informacją na żywo (napis + podpowiedź / stan „na żywo”) */
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock { padding: 0 !important; margin: 0 0 26px !important; border: 0 !important; background: none !important; width: auto !important; max-width: none !important; }
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock .mi-h { display: none !important; }
  #menu.mi-mega .mi-sec.mi-dock .mi-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 12px !important; justify-content: stretch !important; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a { width: auto !important; display: flex !important; flex-direction: column; align-items: flex-start !important; justify-items: start; gap: 4px; padding: 16px 18px 15px !important; border-radius: 18px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.11) !important; text-align: left; min-height: 92px; position: relative; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.12) !important; border-color: rgba(233,207,142,.45) !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { order: 1; font: 600 19px/1.15 var(--display) !important; color: #fff !important; text-align: left !important; white-space: normal !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-ic { order: 0; position: absolute !important; top: 14px; right: 14px; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip { order: 2; display: block !important; position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; max-width: none !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: rgba(255,255,255,.62) !important; font: 400 13px/1.35 var(--sans) !important; white-space: normal !important; text-align: left; pointer-events: none; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip::before, #menu.mi-mega .mi-sec.mi-dock .mi-tip::after { display: none !important; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  #menu.mi-mega .mi-wrap { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-template-areas: "bar bar bar" "top top top" "day sak wsp" "know dead wsp" "life cont wsp" "emp emp emp" "don don don"; }
}
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] .mi-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; flex-direction: unset; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont] .mi-grid > a.mi-a { justify-self: stretch; justify-content: flex-start !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { max-width: none !important; white-space: nowrap !important; overflow: visible !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap .mi-grid > a.mi-a[hidden] { display: none !important; }
  /* wyszukiwanie: wyniki od lewej, bez pustych kolumn */
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) { grid-template-areas: none !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-sec { grid-area: auto !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-bar, #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-empty, #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) > .mi-sec.mi-dock { grid-area: auto !important; grid-column: 1 / -1 !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a[hidden], html body #menu.mi-mega .mi-wrap > .mi-sec.mi-dock .mi-grid > a.mi-a[hidden], html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a[hidden] { display: none !important; }
}
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-dock .mi-grid { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; }
  html body #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-dock .mi-grid > a.mi-a { width: 230px !important; }
}
/* mega-menu: ciaśniej, żeby całość mieściła się na jednym ekranie; dół = jedna linijka (werset + Zamknij) */
@media (min-width: 761px) {
  #menu.mi-mega { padding-top: 18px !important; padding-bottom: 14px !important; }
  #menu.mi-mega .mi-wrap > .mi-bar { margin-bottom: 14px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  #menu.mi-mega .mi-find { padding: 8px 14px !important; }
  #menu.mi-mega .mi-find input { font-size: 19px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec.mi-dock { margin-bottom: 18px !important; }
  html body #menu.mi-mega .mi-sec.mi-dock .mi-grid > a.mi-a { min-height: 0 !important; padding: 12px 15px 12px !important; border-radius: 16px !important; }
  #menu.mi-mega .mi-sec.mi-dock .app-l { font-size: 17px !important; }
  #menu.mi-mega .mi-sec.mi-dock .mi-tip { font-size: 12.5px !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important; }
  #menu.mi-mega .mi-wrap > .mi-sec { margin-bottom: 14px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec .mi-h { margin-bottom: 4px !important; }
  html body #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .mi-grid > a.mi-a { padding: 4px 10px !important; }
  #menu.mi-mega .mi-wrap > .mi-sec:not(.mi-dock) .app-l { font-size: 15px !important; }
  /* dół: werset po lewej (jedna linia), Zamknij po prawej, w tym samym pasku */
  #menu.mi-mega .mg-bless { display: flex !important; align-items: center; min-height: 48px; margin: 8px 0 0 !important; padding: 10px 140px 10px 18px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; }
  #menu.mi-mega .menu-close { position: relative; float: right; margin: -42px 8px 0 0 !important; height: 36px !important; min-height: 0 !important; padding: 0 18px !important; border-radius: 999px !important; font-size: 14px !important; z-index: 2; }
  #menu.mi-mega .mi-staff { margin-top: 8px !important; padding-top: 0 !important; border-top: 0 !important; }
}
/* mega-menu: pasek wyszukiwania normalnie w środku okna (bez przyklejania i ciemnego paska) */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap > .mi-bar, html body #menu.mi-mega.mm-in .mi-wrap > .mi-bar, html body #menu.mi-mega:not(.mm-in) .mi-wrap > .mi-bar { position: static !important; top: auto !important; margin: 0 0 16px !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; border-radius: 0 !important; }
  html body #menu.mi-mega .mi-find { margin: 0 !important; padding: 10px 16px !important; border-radius: 16px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important; }
  html body #menu.mi-mega .mi-find:focus-within { border-color: rgba(233,207,142,.55) !important; background: rgba(255,255,255,.11) !important; }
  html body #menu.mi-mega .mi-find input { font-size: 18px !important; }
  html body #menu.mi-mega .mi-find svg { width: 20px; height: 20px; opacity: .75; }
  #menu.mi-mega { padding-top: 22px !important; }
}
/* ===== przycisk asystenta: prościej i naturalniej — niebieski znak parafii jak w nagłówku, spokojne tło ===== */
.kp-ask-fab { background: rgba(17,27,44,.82) !important; -webkit-backdrop-filter: blur(12px) !important; backdrop-filter: blur(12px) !important; border: 1px solid rgba(156,192,238,.28) !important; box-shadow: 0 8px 22px -8px rgba(0,0,0,.6) !important; }
.kp-ask-fab::before, .kp-ask-fab::after { display: none !important; content: none !important; }
.kp-ask-fab .kp-ask-mark path { fill: #9CC0EE !important; }
.kp-ask-fab .kp-ask-mark { filter: none !important; }
@media (hover: hover) { .kp-ask-fab:hover { transform: translateY(-1px) !important; border-color: rgba(156,192,238,.55) !important; box-shadow: 0 10px 26px -8px rgba(0,0,0,.65) !important; } }
.kp-ai-b { background: #9CC0EE !important; border: 0 !important; box-shadow: 0 2px 6px rgba(0,0,0,.35) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; animation: none !important; }
.kp-ai-b i { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: #10223E !important; animation: none !important; }
.kp-ai-b svg { display: none !important; }
.kp-ask-fab .kp-ai-b { padding: 1px 6px 0 !important; height: 16px; font-size: 9.5px !important; letter-spacing: .02em !important; top: -3px !important; right: -6px !important; }
.kp-ask-ic { background: rgba(156,192,238,.12) !important; border: 1px solid rgba(156,192,238,.3) !important; box-shadow: none !important; }
.kp-ask-ic .kp-ask-mark path { fill: #9CC0EE !important; }
html[data-theme=light] .kp-ask-fab { background: rgba(255,255,255,.9) !important; border-color: rgba(20,72,124,.25) !important; }
html[data-theme=light] .kp-ask-fab .kp-ask-mark path { fill: #14487C !important; }
/* ===== okno asystenta w tym samym spokojnym, niebieskim stylu co przycisk ===== */
.kp-ask2 { background: rgba(17,27,44,.94) !important; -webkit-backdrop-filter: blur(16px) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(156,192,238,.22) !important; box-shadow: 0 24px 60px -18px rgba(0,0,0,.7) !important; }
.kp-ask2 .kp-ask-h { border-bottom-color: rgba(156,192,238,.14) !important; }
.kp-ask2 .kp-ask-h b small { color: rgba(156,192,238,.85) !important; }
.kp-ask2 .kp-ask-h b small::before { background: #9CC0EE !important; box-shadow: none !important; }
.kp-ask2 .kp-ask-clr { border-color: rgba(156,192,238,.25) !important; color: rgba(220,232,250,.8) !important; }
.kp-ask2 .kp-ask-x { background: rgba(156,192,238,.1) !important; }
.kp-ask2 .kp-ask-m.a { background: rgba(156,192,238,.08) !important; border: 1px solid rgba(156,192,238,.14) !important; }
.kp-ask2 .kp-ask-m.u { background: #9CC0EE !important; color: #10223E !important; }
.kp-ask2 .kp-ask-m a { color: #B9D3F4 !important; }
.kp-ask2 .kp-ask-sug button { background: transparent !important; border: 1px solid rgba(156,192,238,.32) !important; color: #E6EEF9 !important; }
.kp-ask2 .kp-ask-sug button:hover { background: rgba(156,192,238,.12) !important; border-color: rgba(156,192,238,.6) !important; }
.kp-ask2 .kp-ask-go { background: rgba(156,192,238,.12) !important; border-color: rgba(156,192,238,.4) !important; color: #CFE0F7 !important; }
.kp-ask2 .kp-ask-f textarea { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(156,192,238,.25) !important; outline: none !important; box-shadow: none !important; }
.kp-ask2 .kp-ask-f textarea:focus, .kp-ask2 .kp-ask-f textarea:focus-visible { border-color: rgba(156,192,238,.7) !important; box-shadow: 0 0 0 3px rgba(156,192,238,.15) !important; outline: none !important; }
.kp-ask2 .kp-ask-f button { background: #9CC0EE !important; color: #10223E !important; }
.kp-ask2 .kp-ask-f button:hover { background: #B4D0F3 !important; }
.kp-ask2 .kp-ask-wait i { background: #9CC0EE !important; }
/* mega-menu: kolumny zwinięte do 4 pozycji + „Więcej” */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-sec.mi-cut:not(.mi-open) .mi-grid > a.mi-a:nth-child(n+5) { display: none !important; }
  #menu.mi-mega .mi-more { display: inline-flex; align-items: center; gap: 7px; margin: 4px 0 0 10px; padding: 4px 0; border: 0; background: none; color: rgba(156,192,238,.9); font: 600 13.5px/1.2 var(--sans); cursor: pointer; }
  #menu.mi-mega .mi-more span { font-weight: 500; color: rgba(156,192,238,.6); }
  #menu.mi-mega .mi-more i { width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s; }
  #menu.mi-mega .mi-sec.mi-open .mi-more i { transform: rotate(-135deg) translate(-2px,-2px); }
  #menu.mi-mega .mi-more:hover { color: #CFE0F7; }
  /* podczas wyszukiwania pokazujemy wszystko */
  html body #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-sec.mi-cut .mi-grid > a.mi-a:not([hidden]) { display: flex !important; }
  #menu.mi-mega .mi-wrap:has(.mi-find input:not(:placeholder-shown)) .mi-more { display: none !important; }
  /* Kontakt: 2 kolumny po 2 rzędy */
  html body #menu.mi-mega .mi-wrap > .mi-sec[data-cat=cont].mi-cut:not(.mi-open) .mi-grid > a.mi-a:nth-child(n+5) { display: none !important; }
}
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-sec.mi-open .mi-grid > a.mi-a:nth-child(n+5) { opacity: 1 !important; transform: none !important; animation: kpMoreIn .22s ease both !important; }
  @keyframes kpMoreIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}
/* nagłówek na komputerze: logo i przyciski przy samych krawędziach okna */
@media (min-width: 1025px) {
  html body .site-header > .wrap.header-inner { max-width: none !important; padding-left: 32px !important; padding-right: 32px !important; }
}
/* asystent: przezroczyste koło (tylko delikatne rozmycie tego, co pod spodem) */
html body .kp-ask-fab, html[data-theme=light] body .kp-ask-fab { background: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
html body .kp-ask-fab::before { display: none !important; }

/* ===== mega-menu: zakładki z boku ===== */
@media (min-width: 761px) {
  #menu.mi-mega .mi-wrap.mi-tabbed { grid-template-columns: 240px minmax(0, 1fr) !important; gap: 0 24px !important;
    grid-template-areas: "bar bar" "top top" "side pane" "emp emp" "don don" !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-side { grid-area: side; display: flex; flex-direction: column; gap: 2px; padding-right: 18px; border-right: 1px solid rgba(255,255,255,.09); align-self: stretch; }
  #menu.mi-mega .mi-side button { white-space: nowrap; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: none; color: rgba(255,255,255,.72); font: 500 15.5px/1.25 var(--sans); text-align: left; cursor: pointer; transition: background .15s, color .15s; }
  #menu.mi-mega .mi-side button i { width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-top: 1.6px solid currentColor; transform: rotate(45deg); opacity: 0; transition: opacity .15s, transform .15s; flex: none; }
  #menu.mi-mega .mi-side button:hover { background: rgba(255,255,255,.05); color: #fff; }
  #menu.mi-mega .mi-side button.on { background: rgba(255,255,255,.09); color: #fff; font-weight: 600; }
  #menu.mi-mega .mi-side button.on i { opacity: .8; color: #E9CF8E; }
  #menu.mi-mega .mi-side button:focus-visible { outline: 2px solid #E9CF8E; outline-offset: 1px; }
  /* prawa strona: tylko wybrany dział */
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane { grid-area: pane !important; margin: 0 !important; min-height: 100%; }
  #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane:not(.mi-on) { display: none !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-h { display: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px 10px !important; align-content: start; }
  @keyframes kpPaneIn { from { opacity: 0; transform: translateX(6px); } to { opacity: 1; transform: none; } }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid > a.mi-a:not([hidden]) { display: grid !important; grid-template-columns: auto 1fr; grid-template-areas: "l i" "t t"; align-items: center; justify-items: start; justify-self: stretch !important; width: auto !important; margin: 0 !important; text-align: left !important; gap: 3px 8px; padding: 11px 14px !important; border-radius: 12px !important; opacity: 1 !important; transform: none !important; animation: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover { background: rgba(255,255,255,.07) !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { grid-area: l; justify-self: start; text-align: left !important; font: 600 15.5px/1.3 var(--sans) !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-ic { grid-area: i; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-tip { grid-area: t; display: block !important; position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: rgba(255,255,255,.55) !important; font: 400 13px/1.35 var(--sans) !important; white-space: normal !important; text-align: left; pointer-events: none; }
  #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip::before, #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip::after { display: none !important; }
  /* wyszukiwanie: bez zakładek, wyniki jak dotąd */
  #menu.mi-mega .mi-wrap.mi-tabbed:has(.mi-find input:not(:placeholder-shown)) > .mi-side { display: none !important; }
  #menu.mi-mega .mi-wrap.mi-tabbed:has(.mi-find input:not(:placeholder-shown)) { grid-template-areas: none !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  #menu.mi-mega .mi-wrap.mi-tabbed { grid-template-columns: 190px minmax(0, 1fr) !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
html body .kp-ask-fab, html[data-theme=light] body .kp-ask-fab { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* smartfon: podpis w stopce nie chowa się pod przyciskiem asystenta */
@media (max-width: 760px) {
  html body .site-footer .footer-credit, html body.kp-home .site-footer .footer-credit { padding-left: 72px !important; padding-right: 72px !important; }
}
/* ===== podstrony: stopka jak na stronie głównej — tylko „Made with love…” ===== */
body:not(.kp-home) .site-footer > *:not(.footer-credit) { display: none !important; }
body:not(.kp-home) .site-footer { padding: 0 !important; margin-top: 0 !important; border-top: 0 !important; background: transparent !important; min-height: 0 !important; }
body:not(.kp-home) .site-footer .footer-credit { display: block !important; margin: 0 !important; padding: 22px 24px 26px !important; border-top: 1px solid rgba(255,255,255,.06) !important; font-size: 13px !important; line-height: 1.5; text-align: center; }
body:not(.kp-home) .site-footer .footer-credit, body:not(.kp-home) .site-footer .footer-credit * { opacity: 1 !important; filter: none !important; transform: none !important; color: rgba(255,255,255,.5) !important; }
html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit { border-top-color: rgba(0,0,0,.08) !important; }
html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit, html[data-theme=light] body:not(.kp-home) .site-footer .footer-credit * { color: rgba(20,30,50,.55) !important; }
@media (max-width: 760px) { html body:not(.kp-home) .site-footer .footer-credit { padding: 20px 72px calc(24px + env(safe-area-inset-bottom)) !important; } }
/* podstrony: bez pustego miejsca pod stopką i mniejszy odstęp nad nią */
html body:not(.kp-home) { padding-bottom: 0 !important; }
html body:not(.kp-home) main > section:last-child { margin-bottom: 24px !important; }
html body:not(.kp-home) main > :has(+ section:last-child .op-in), html body:not(.kp-home) main > section:not(:has(.op-in)):last-child { padding-bottom: 28px !important; margin-bottom: 0 !important; }
html body:not(.kp-home) main > section:last-child:has(.op-in) { margin-bottom: 28px !important; }
@media (min-width: 761px) { html body:not(.kp-home) main > :has(+ section:last-child .op-in), html body:not(.kp-home) main > section:not(:has(.op-in)):last-child { padding-bottom: 40px !important; } html body:not(.kp-home) main > section:last-child:has(.op-in) { margin-bottom: 36px !important; } }
html body:not(.kp-home) main > :has(+ section:last-child .op-in) > .section-inner, html body:not(.kp-home) main > section:not(:has(.op-in)):last-child > .section-inner { padding-bottom: 0 !important; }
/* ===== ochrona dzieci ===== */
.som .som-help { border-color: rgba(127,196,168,.35) !important; }
.som .som-list { margin: 4px 0 10px; padding-left: 22px; line-height: 1.6; color: var(--ink-2); }
.som .som-list li { margin: 0 0 6px; }
.som .som-people { margin: 0 0 10px; padding-left: 18px; line-height: 1.6; color: var(--ink-2); }
.som .som-people li { margin: 0 0 6px; }
.som .som-note { font-size: 14px; opacity: .8; }
.som .som-h { margin: 44px 0 6px; font-family: var(--display); font-size: clamp(22px, 2.6vw, 30px); }
.som .som-meta { margin: 0 0 16px; color: var(--ink-2); font-size: 14.5px; }
.som .som-acc summary { font-size: 20px !important; }
.som .som-body { padding: 0 0 18px; color: var(--ink-2); line-height: 1.65; }
.som .som-body h3 { margin: 18px 0 6px; font-family: var(--display); font-size: 17px; color: var(--ink); }
.som .som-body ol { padding-left: 26px; margin: 0 0 8px; }
.som .som-body li { margin: 0 0 6px; }
.som .som-body a { overflow-wrap: anywhere; }
/* komputer: przełącznik Msze | Wspólnoty przy prawej krawędzi, w linii z przyciskiem Menu */
@media (min-width: 1025px) { html body .hs > .hs-nav { left: auto !important; right: 32px !important; margin: 0 !important; } }
html body .som .som-list, html body .som .som-body ol { list-style: decimal outside !important; }
html body .som .som-list li, html body .som .som-body ol li { display: list-item !important; }
html body .som .som-list li::marker, html body .som .som-body ol li::marker { color: #E9CF8E; font-weight: 700; }
html body .som .som-people { list-style: disc outside !important; }
html body .som .som-people li { display: list-item !important; }
/* ochrona dzieci: numery w zdaniach i w liście delegatów jako zwykłe linki (bez „pigułek”) */
html body main .som .som-list a[href^="tel:"], html body main .som .som-people a[href^="tel:"], html body main .som .som-body a[href^="tel:"] { display: inline !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: inherit !important; text-decoration: underline !important; font-weight: 600 !important; }
html body main .som .som-list a[href^="tel:"]::before, html body main .som .som-people a[href^="tel:"]::before, html body main .som .som-body a[href^="tel:"]::before { display: none !important; }
.som .sp-grid > * { min-width: 0; }
.som a[href^="mailto:"], .som .som-body a { overflow-wrap: anywhere; word-break: break-word; }
.som .som-people li { margin-bottom: 12px !important; }
/* ===== przełącznik Msze | Wspólnoty — lżej: bez ramki i strzałek, delikatny złoty akcent ===== */
html body #hero-slider .hs-nav { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html body #hero-slider .hs-nav .hs-arrow { display: none !important; }
html body #hero-slider .hs-dots.hs-seg { gap: 2px !important; padding: 3px !important; background: rgba(10,18,34,.32) !important; border: 1px solid rgba(255,255,255,.16) !important; box-shadow: 0 6px 20px -10px rgba(0,0,0,.5) !important; -webkit-backdrop-filter: blur(14px) saturate(1.3) !important; backdrop-filter: blur(14px) saturate(1.3) !important; }
html body #hero-slider .hs-seg .hs-dot { min-height: 30px !important; padding: 0 15px !important; background: transparent !important; color: rgba(255,255,255,.66) !important; font: 500 13.5px/1 var(--sans) !important; letter-spacing: .01em; box-shadow: none !important; transition: background .25s ease, color .25s ease, box-shadow .25s ease; }
html body #hero-slider .hs-seg .hs-dot:hover { color: #fff !important; }
html body #hero-slider .hs-seg .hs-dot.on { background: rgba(233,207,142,.16) !important; color: #F3DDA6 !important; box-shadow: inset 0 0 0 1px rgba(233,207,142,.5) !important; font-weight: 600 !important; }
/* strona główna: pełna nazwa parafii tylko dla wyszukiwarek i czytników ekranu (w nagłówku jest „Parafia Królowej Pokoju”) */
html body .hero-open .hero-name { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
/* smartfon: „Najbliższa Msza” pokazuje zegar poniżej, więc bez osobnego przycisku pod tytułem */
@media (max-width: 640px) {
  html body #hero-slider:has(.hs-dots) .hs-track > .hero-open { padding-top: 58px !important; }
  html body .hero-open .hero-first { margin-top: 8px !important; }
}
/* kontakt: lista ulic zwinięta */
#kontakt .streets-d { margin: 22px 0 6px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
#kontakt .streets-d > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font-weight: 600; font-size: 15.5px; color: var(--ink); }
#kontakt .streets-d > summary::-webkit-details-marker { display: none; }
#kontakt .streets-d > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s; flex: none; opacity: .7; }
#kontakt .streets-d[open] > summary::after { transform: rotate(-135deg); }
#kontakt .streets-d .streets { margin: 0 0 16px !important; }
.office .office-more { margin-top: 10px; }
.office .office-more a { font-weight: 600; }
/* menu: język jako jedna linijka, która rozwija flagi */
#menu details.mi-lang-d { display: block !important; }
#menu details.mi-lang-d > summary { list-style: none; cursor: pointer; display: flex !important; align-items: center; gap: 10px; }
#menu details.mi-lang-d > summary::-webkit-details-marker { display: none; }
#menu details.mi-lang-d > summary b { flex: 1; }
#menu .mi-lang-cur { display: inline-flex; align-items: center; gap: 8px; font: 500 14.5px/1 var(--sans); color: rgba(255,255,255,.72); }
#menu .mi-lang-cur svg, #menu .mi-lang-cur img, #menu .mi-lang-cur .kp-flag { width: 20px !important; height: 14px !important; border-radius: 3px; flex: none; }
#menu details.mi-lang-d > summary > i { width: 8px; height: 8px; border-right: 1.8px solid rgba(255,255,255,.6); border-bottom: 1.8px solid rgba(255,255,255,.6); transform: rotate(-45deg); transition: transform .2s; flex: none; margin-left: 2px; }
#menu details.mi-lang-d[open] > summary > i { transform: rotate(45deg); }
#menu details.mi-lang-d[open] .mi-flags { margin-top: 12px; }
html[data-theme=light] #menu .mi-lang-cur { color: rgba(20,26,46,.7); }
/* komputer: bez ikonki „Kontakt” w nagłówku (kontakt jest w menu) */
html body .site-header .kt-switch { display: none !important; }
/* smartfon: bez strzałki „do góry” — wystarczy stuknąć w górny pasek ekranu */
@media (max-width: 760px) { html body .pl-up { display: none !important; } }
#menu .mi-lang-cur { flex: none !important; white-space: nowrap; }
#menu .mi-lang-cur > :not(span) { width: 22px !important; height: 16px !important; max-width: 22px; overflow: hidden; border-radius: 3px; display: inline-block; }
/* tytuł strony głównej widoczny od pierwszej klatki (szybsze LCP) — samo lekkie uniesienie, bez zanikania */
@keyframes kpRiseT { from { transform: translateY(14px); } }
.hero-open h1 { animation-name: kpRiseT !important; }
/* Komunia: licznik dni ma miejsce od początku, pokazuje się dopiero z aktualną liczbą */
.km-count:not(.km-live) { visibility: hidden; }
/* ===== Pierwszy raz u nas ===== */
.hero-open .hero-first { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(233,207,142,.45); background: rgba(233,207,142,.1); color: #F3DDA6; font: 600 14.5px/1 var(--sans); text-decoration: none; width: max-content; }
.hero-open .hero-first:hover { background: rgba(233,207,142,.18); }
.pr1 .pr1-steps { list-style: none; margin: 8px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr1 .pr1-steps > li { position: relative; padding-top: 58px !important; }
.pr1 .pr1-steps > li:first-child { grid-column: 1 / -1; }
.pr1 .pr1-n { position: absolute; top: 18px; left: 24px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(233,207,142,.14); color: #E9CF8E; font: 700 14px/1 var(--sans); box-shadow: inset 0 0 0 1px rgba(233,207,142,.45); }
.pr1 .pr1-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 4px !important; }
.pr1 .pr1-links a:not(.btn) { font-weight: 600; }
.pr1 .pr1-help { margin-top: 0; }
@media (max-width: 760px) { .pr1 .pr1-steps { grid-template-columns: 1fr; } }
/* ===== Finanse parafii ===== */
.fin .fin-pills { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fin .fin-pills li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 11px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg-2); color: var(--ink-2); font: 500 14px/1.2 var(--sans); }
.fin .fin-pills svg { width: 17px; height: 17px; color: #E9CF8E; }
.fin .fin-sheet { position: relative; padding: 26px 28px 24px; border-radius: 24px; border: 1px solid rgba(233,207,142,.28); background: radial-gradient(120% 140% at 0% 0%, rgba(233,207,142,.09), transparent 55%), var(--bg-2); box-shadow: 0 24px 60px -36px rgba(0,0,0,.7); }
.fin .fin-sheet-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.fin .fin-sheet-top h2 { margin: 0; font: 700 clamp(22px, 2.4vw, 28px)/1.1 var(--display); }
.fin .fin-period { padding: 5px 12px; border-radius: 999px; background: rgba(233,207,142,.14); color: #F3DDA6; font: 600 13px/1 var(--sans); box-shadow: inset 0 0 0 1px rgba(233,207,142,.4); }
.fin .fin-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.fin .fin-col h3 { margin: 0 0 12px; font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #E9CF8E; }
.fin .fin-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fin .fin-bars li { display: grid; gap: 6px; }
.fin .fin-bars li span { display: flex; justify-content: space-between; gap: 10px; font: 500 14.5px/1.3 var(--sans); color: var(--ink); }
.fin .fin-bars li span b { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fin .fin-bars li span em { font-style: normal; font-weight: 500; opacity: .55; margin-left: 8px; }
.fin .fin-bars li i { display: block; height: 10px; width: var(--w); border-radius: 999px; background: linear-gradient(90deg, #5FD3A1, #3FB386); transform-origin: left; animation: finGrow .9s cubic-bezier(.2,.7,.1,1) both; }
.fin .fin-bars.fin-out li i { background: linear-gradient(90deg, #9CC0EE, #5E8FD8); }
@keyframes finGrow { from { transform: scaleX(0); } }
.fin .fin-ghost li span { height: 12px; width: 46%; border-radius: 6px; background: rgba(255,255,255,.08); }
.fin .fin-ghost li i { background: rgba(255,255,255,.08) !important; animation: finPulse 2.4s ease-in-out infinite; }
@keyframes finPulse { 50% { opacity: .45; } }
.fin .fin-tot { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--ink-2); font-size: 14.5px; }
.fin .fin-tot b { color: var(--ink); font-variant-numeric: tabular-nums; }
.fin .fin-empty { margin: 20px 0 0; text-align: center; color: var(--ink-2); font-size: 15px; }
.fin .fin-bal { margin: 18px 0 0; padding: 12px 16px; border-radius: 14px; text-align: center; font-size: 15px; color: var(--ink-2); background: rgba(95,211,161,.08); }
.fin .fin-bal.minus { background: rgba(240,140,120,.08); }
.fin .fin-bal b { color: var(--ink); }
.fin .fin-note { margin: 14px 0 0; font-size: 14px; color: var(--ink-2); }
.fin .fin-goal { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; margin: 18px 0; padding: 24px 28px; border-radius: 24px; background: linear-gradient(135deg, rgba(63,127,207,.22), rgba(63,127,207,.06)); border: 1px solid rgba(156,192,238,.28); }
.fin .fin-goal-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(156,192,238,.16); color: #9CC0EE; }
.fin .fin-goal-ic svg { width: 28px; height: 28px; }
.fin .fin-k { margin: 0 0 4px; font: 600 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #9CC0EE; }
.fin .fin-goal h2 { margin: 0 0 8px; font: 700 clamp(20px, 2.2vw, 26px)/1.15 var(--display); }
.fin .fin-goal p { margin: 0 0 10px; color: var(--ink-2); line-height: 1.6; }
.fin .fin-prog { margin: 6px 0 12px; }
.fin .fin-prog-bar { height: 12px; border-radius: 999px; background: rgba(255,255,255,.08); overflow: hidden; }
.fin .fin-prog-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #E9CF8E, #C9A45A); }
.fin .fin-prog-t { margin: 8px 0 0 !important; font-size: 14.5px; }
.fin .fin-goal-a a { font-weight: 600; }
.fin .fin-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fin .fin-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 14px; }
.fin .fin-src { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; }
.fin .fin-src svg { width: 38px; height: 38px; padding: 8px; border-radius: 12px; background: rgba(233,207,142,.1); color: #E9CF8E; }
.fin .fin-src b { display: block; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
.fin .fin-src p { margin: 0 !important; font-size: 14.5px; }
.fin .fin-reports { margin-top: 18px; padding: 20px 24px; border-radius: 20px; border: 1px solid var(--line); background: var(--bg-2); }
.fin .fin-reports h3 { margin: 0 0 8px; font: 700 18px/1.2 var(--display); }
.fin .fin-reports ul { margin: 0; padding-left: 18px; line-height: 1.8; }
.fin .fin-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 24px 28px; border-radius: 24px; background: linear-gradient(135deg, rgba(233,207,142,.16), rgba(233,207,142,.04)); border: 1px solid rgba(233,207,142,.32); }
.fin .fin-cta h2 { margin: 0 0 4px; font: 700 clamp(20px, 2.2vw, 26px)/1.15 var(--display); }
.fin .fin-cta p { margin: 0; color: var(--ink-2); }
.fin .fin-cta .btn { flex: none; }
@media (max-width: 760px) {
  .fin .fin-cols, .fin .fin-two { grid-template-columns: 1fr; gap: 22px; }
  .fin .fin-sheet, .fin .fin-goal, .fin .fin-cta { padding: 20px; border-radius: 20px; }
  .fin .fin-goal { grid-template-columns: 1fr; }
  .fin .fin-cta { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .fin .fin-bars li i, .fin .fin-ghost li i { animation: none; } }
/* kalendarz: wydarzenia z „Dodaj do kalendarza” */
.cal-ics { margin: 4px 0 26px; padding: 18px 20px; border-radius: 20px; border: 1px solid var(--line); background: var(--bg-2); }
.cal-ics-h { margin: 0 0 10px; font: 700 18px/1.2 var(--display); }
.cal-ics ul { list-style: none; margin: 0; padding: 0; }
.cal-ics li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.cal-ics li:first-child { border-top: 0; }
.cal-ics li b { display: block; font-weight: 600; color: var(--ink); }
.cal-ics li span { color: var(--ink-2); font-size: 14px; }
.cal-ics-a { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(156,192,238,.35); color: #9CC0EE; font: 600 13.5px/1 var(--sans); text-decoration: none; }
.cal-ics-a svg { width: 17px; height: 17px; }
.cal-ics-a:hover { background: rgba(156,192,238,.1); }
@media (max-width: 520px) { .cal-ics-a span { display: none; } .cal-ics-a { padding: 8px; } }
/* „Ostatnia aktualizacja” na stronach z informacjami praktycznymi */
.site-footer .kp-upd { display: block; margin: 0 0 6px; font-size: 12px; opacity: .75; }
html[data-ui]:not([data-ui="pl"]) .kp-upd, html:not([lang="pl"]) .kp-upd { display: none !important; }
/* przycisk powitalny: dłuższy napis może zawinąć się na małych ekranach */
html body .hero-open .hero-first { white-space: normal !important; width: fit-content !important; max-width: min(100%, calc(100vw - 40px)) !important; line-height: 1.3 !important; text-align: left; }
html body .hero-open .hero-first span { flex: none; }

/* pierwszy-raz: wybór zaangażowania */
.pr1 .pr1-chips { border: 0; margin: 4px 0 14px; padding: 0; min-width: 0; }
.pr1 .pr1-chips legend { padding: 0; margin: 0 0 10px; font-weight: 700; font-size: 15px; color: var(--ink); }
.pr1 .pr1-chips legend small { display: block; font-weight: 400; font-size: 13.5px; color: var(--ink-2); margin-top: 2px; }
.pr1 .pr1-chips > div { display: flex; flex-wrap: wrap; gap: 8px; }
.pr1 .pr1-chips label { position: relative; cursor: pointer; }
.pr1 .pr1-chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pr1 .pr1-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--line, rgba(255,255,255,.18)); font-size: 14px; line-height: 1.2; color: var(--ink); background: rgba(255,255,255,.03); transition: background .15s, border-color .15s; }
.pr1 .pr1-chips span::before { content: '+'; font-weight: 700; color: #C9A45A; width: 10px; text-align: center; }
.pr1 .pr1-chips label:hover span { border-color: rgba(233,207,142,.55); }
.pr1 .pr1-chips input:checked + span { background: rgba(233,207,142,.16); border-color: #C9A45A; color: #F3DDA6; }
.pr1 .pr1-chips input:checked + span::before { content: '✓'; }
.pr1 .pr1-chips input:focus-visible + span { outline: 2px solid #C9A45A; outline-offset: 2px; }
html[data-theme="light"] .pr1 .pr1-chips input:checked + span { color: #6B4F12; background: #FBF3DF; }
@media (max-width: 640px) { .pr1 .pr1-chips > div { gap: 6px; } .pr1 .pr1-chips span { padding: 6px 11px; font-size: 13.5px; } }

/* asystent: numery telefonów jako wyraźne przyciski */
.kp-ask .kp-ask-note { padding: 4px 14px 12px; }
.kp-ask .kp-ask-note p { margin: 0 0 7px; font-size: 12px; color: rgba(255,255,255,.62); }
.kp-ask .kp-tels { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kp-ask .kp-tel { display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-radius: 14px; background: rgba(233,207,142,.1); border: 1px solid rgba(233,207,142,.38); color: #F3DDA6; text-decoration: none; font-weight: 700; font-size: 14.5px; line-height: 1.15; font-variant-numeric: tabular-nums; min-width: 0; }
.kp-ask .kp-tel:hover, .kp-ask .kp-tel:active { background: rgba(233,207,142,.2); }
.kp-ask .kp-tel svg { width: 18px; height: 18px; flex: none; }
.kp-ask .kp-tel span { display: grid; min-width: 0; white-space: nowrap; }
.kp-ask .kp-tel small { font-size: 10.5px; font-weight: 600; letter-spacing: .03em; color: rgba(255,255,255,.6); text-transform: uppercase; }
.kp-ask-list a[href^="tel:"] { display: inline-block; padding: 1px 9px; border-radius: 999px; background: rgba(233,207,142,.14); border: 1px solid rgba(233,207,142,.4); color: #F3DDA6 !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; }

/* ===== MENU: głęboki granat (paleta: tło #050D1B, panele #0B1E36, kafelki #123457, akcent #277BD3, złoto #D7B878) ===== */
html:not([data-theme=light]) body #menu.mm, html:not([data-theme=light]) body #menu.mm.mi-on {
  --mn-bg: #050D1B; --mn-panel: #0B1E36; --mn-tile: #123457; --mn-acc: #277BD3; --mn-gold: #D7B878;
  background-color: rgba(5,13,27,.9) !important;
  background-image:
    radial-gradient(55% 40% at 12% 0%, rgba(39,123,211,.18), transparent 70%),
    radial-gradient(45% 35% at 92% 100%, rgba(39,123,211,.10), transparent 70%),
    linear-gradient(180deg, rgba(11,30,54,.96), rgba(5,13,27,.97)) !important;
  border-color: rgba(120,165,225,.16) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 40px 90px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(5,13,27,.6) !important;
}
/* wyszukiwarka */
html:not([data-theme=light]) body #menu.mm .mi-find { background: rgba(5,13,27,.55) !important; border-color: rgba(120,165,225,.22) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important; }
html:not([data-theme=light]) body #menu.mm .mi-find:focus-within { border-color: var(--mn-acc) !important; box-shadow: 0 0 0 3px rgba(39,123,211,.22) !important; }

/* komputer: górne kafelki */
@media (min-width: 761px) {
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a {
    background: linear-gradient(180deg, rgba(18,52,87,.78), rgba(11,30,54,.82)) !important;
    border: 1px solid rgba(120,165,225,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px -14px rgba(0,0,0,.7) !important;
  }
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a:hover, html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a:focus-visible {
    border-color: rgba(39,123,211,.55) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(39,123,211,.25), 0 14px 32px -12px rgba(39,123,211,.35) !important;
  }
  /* „Msze” — najważniejszy kafelek, delikatnie wyróżniony złotem */
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a[href*="msze"]:not([href*="zamow"]) {
    background: linear-gradient(180deg, rgba(215,184,120,.16), rgba(18,52,87,.8) 70%) !important;
    border-color: rgba(215,184,120,.5) !important;
  }
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-a[href*="msze"]:not([href*="zamow"]) .app-l { color: #F3DDA6 !important; }
  /* opisy pod nazwami: większe i jaśniejsze (czytelność dla starszych) */
  html:not([data-theme=light]) body #menu.mi-mega .mi-sec.mi-dock .mi-tip { color: rgba(214,226,244,.78) !important; font-size: 13px !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-tip { color: rgba(214,226,244,.78) !important; font-size: 14px !important; line-height: 1.4 !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { font-size: 16px !important; }
  /* zakładki po lewej */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-side { border-right-color: rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button { color: rgba(220,230,245,.82) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button:hover { background: rgba(39,123,211,.08) !important; color: #fff !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-side button.on { background: linear-gradient(90deg, rgba(39,123,211,.24), rgba(39,123,211,.08)) !important; color: #fff !important; box-shadow: inset 3px 0 0 var(--mn-acc), inset 0 0 0 1px rgba(39,123,211,.22) !important; }
  /* pozycje w zakładce: kafelek z cienkim obramowaniem przy najechaniu */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a { border: 1px solid transparent !important; border-radius: 14px !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover, html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:focus-visible { background: rgba(18,52,87,.55) !important; border-color: rgba(120,165,225,.2) !important; }
  /* mało pozycji (do 6) → dwie kolumny, bez pustki po prawej */
  html:not([data-theme=light]) body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid:not(:has(> a.mi-a:not([hidden]):nth-of-type(7))) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 760px; }
  /* cytat i linki dla posługujących */
  html:not([data-theme=light]) body #menu.mi-mega .mm-foot, html:not([data-theme=light]) body #menu.mi-mega .mi-verse { border-color: rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mi-mega .mi-staff { font-size: 13px !important; color: rgba(214,226,244,.62) !important; margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid rgba(120,165,225,.1); }
  html:not([data-theme=light]) body #menu.mi-mega .mi-staff a { color: rgba(214,226,244,.85) !important; }
}
/* telefon: sekcje z ikonkami jako granatowe panele */
@media (max-width: 760px) {
  html:not([data-theme=light]) body #menu.mm, html:not([data-theme=light]) body #menu.mm.mi-on {
    background-image:
      radial-gradient(70% 22% at 10% 2%, rgba(39,123,211,.22), transparent 70%),
      radial-gradient(60% 20% at 95% 40%, rgba(39,123,211,.08), transparent 70%),
      linear-gradient(180deg, #0B1E36, #050D1B 55%) !important;
    background-color: #050D1B !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec:not(.mi-set) {
    background: linear-gradient(180deg, rgba(18,52,87,.62), rgba(11,30,54,.66)) !important;
    border: 1px solid rgba(120,165,225,.15) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -22px rgba(0,0,0,.8) !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec.mi-dock {
    background: linear-gradient(180deg, rgba(215,184,120,.12), rgba(18,52,87,.62) 55%, rgba(11,30,54,.66)) !important;
    border-color: rgba(215,184,120,.32) !important;
  }
  html:not([data-theme=light]) body #menu.mm .mi-sec.mi-set { background: rgba(11,30,54,.6) !important; border: 1px solid rgba(120,165,225,.14) !important; }
  html:not([data-theme=light]) body #menu.mm .mm-top { background: rgba(5,13,27,.82) !important; }
  html:not([data-theme=light]) body #menu.mm .mi-sec::before { opacity: .45 !important; }
  html:not([data-theme=light]) body #menu.mm .mi-sec { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
/* sakramenty: pogrzeb osobno (nie jest sakramentem) */
.acc-extra { margin-top: 34px; }
.acc-extra .acc-extra-h { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--brass, #C9A45A); }
.acc > .acc-extra { border: 0 !important; }
.acc > .acc-extra > .acc > details:first-child { border-top: 1px solid var(--line); }
.acc > details:has(+ .acc-extra) { border-bottom: 1px solid var(--line); }
/* podstrona Pogrzeb */
#pogrzeb-page .pg-body p { margin: 0 0 12px; } #pogrzeb-page .pg-body p:last-child { margin-bottom: 0; }
#pogrzeb-page .pg-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 6px 0 8px; }
#pogrzeb-page .pg-links a:not(.btn) { font-weight: 600; }
#pogrzeb-page .sp-sub { margin-top: 30px; }
/* menu na komputerze: kolorowe ikonki obok pozycji w zakładkach (te same co na telefonie), dopracowane jak ikony aplikacji */
@media (min-width: 761px) {
  html body #menu.mi-mega .mi-wrap.mi-tabbed:not(:has(.mi-find input:not(:placeholder-shown))) > .mi-sec.mi-pane .mi-grid > a.mi-a:not([hidden]) { grid-template-columns: 44px minmax(0, 1fr) !important; grid-template-areas: "i l" "i t" !important; column-gap: 15px !important; align-items: center !important; padding-top: 11px !important; padding-bottom: 11px !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic { grid-area: i !important; align-self: center; width: 44px !important; height: 44px !important; min-width: 44px !important; display: block !important; position: relative !important; border-radius: 13px !important; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, filter .25s ease !important; box-shadow: 0 1px 1px rgba(0,0,0,.25), 0 8px 18px -6px rgba(0,0,0,.65) !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg { display: block !important; width: 44px !important; height: 44px !important; border-radius: 13px; }
  /* cienki jasny pierścień i połysk u góry — jak ikony w iOS */
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic::after { content: ""; position: absolute; inset: 0; border-radius: 13px; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.35); background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 46%); display: block !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:hover > .app-ic, html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:focus-visible > .app-ic { transform: translateY(-2px) scale(1.06); box-shadow: 0 1px 1px rgba(0,0,0,.2), 0 14px 26px -8px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06) !important; filter: saturate(1.12) brightness(1.06); }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a:active > .app-ic { transform: scale(.97); }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic .mi-badge { display: none !important; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .app-l { align-self: end; }
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-tip { align-self: start; }
}
@media (min-width: 761px) and (prefers-reduced-motion: reduce) { html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic { transition: none !important; } }
@media (min-width: 761px) {
  /* drobny tekst w ikonie (np. godziny kancelarii) jest za mały w rozmiarze 44 px */
  html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg text[font-size="7"], html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > b, html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic .mi-hours { display: none !important; }
  /* znaczek „ZAPISY” przy nazwie zamiast pod ikoną */
  html body #menu.mi-mega .mi-wrap.mi-tabbed > .mi-sec.mi-pane .mi-grid > a.mi-a > .mi-tag { grid-area: l; justify-self: end; align-self: end; position: static !important; margin: 0 0 2px !important; }
}
@media (min-width: 761px) { html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg text[textLength], html body #menu.mi-mega .mi-sec.mi-pane .mi-grid > a.mi-a > .app-ic > svg rect[y="39"][width="48"] { display: none !important; } }

/* Zamów Mszę — niedziele, święta i uroczystości na czerwono */
.slotpick-day.sp-sun,.slotpick-day.sp-feast{--sp-red:#FF6B6B;position:relative;background:linear-gradient(90deg,color-mix(in srgb,var(--sp-red) 9%,transparent),transparent 60%)}
.slotpick-day.sp-sun::before,.slotpick-day.sp-feast::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--sp-red)}
.slotpick-day.sp-sun .spw,.slotpick-day.sp-feast .spw,.slotpick-day.sp-sun .spd,.slotpick-day.sp-feast .spd{color:var(--sp-red)}
.slotpick-day .spf{display:block;margin-top:3px;font-size:12.5px;line-height:1.3;font-weight:600;color:var(--sp-red,#FF6B6B);max-width:220px}
html[data-theme=light] .slotpick-day.sp-sun,html[data-theme=light] .slotpick-day.sp-feast{--sp-red:#C62828}
@media (prefers-color-scheme:light){html:not([data-theme]) .slotpick-day.sp-sun,html:not([data-theme]) .slotpick-day.sp-feast{--sp-red:#C62828}}
.slotpick-day .spf.spf-m{color:var(--ink-2);font-weight:500}

/* Facebook, Instagram, WhatsApp — lewy dolny róg (asystent jest po prawej) */
.kp-soc { position: fixed; left: 24px; bottom: 64px; z-index: 59; display: flex; flex-direction: column; gap: 10px; transition: opacity .25s, transform .25s; }
.kp-soc a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 6px 16px -6px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.18); transition: transform .15s; }
.kp-soc a:hover, .kp-soc a:focus-visible { transform: translateY(-2px) scale(1.06); }
.kp-soc a:focus-visible { outline: 2px solid #E3C27A; outline-offset: 2px; }
.kp-soc svg { width: 22px; height: 22px; }
.kp-soc-fb { background: #1877F2; }
.kp-soc-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.kp-soc-wa { background: #25D366; }
html:has(#menu:popover-open) .kp-soc, html:has(.kp-ask-fab.on) .kp-soc, html:has(.kp-ask.on) .kp-soc, .kp-soc.kp-soc-off { opacity: 0; pointer-events: none; transform: translateY(10px); }
@media (max-width: 760px) {
  .kp-soc { left: 14px; flex-direction: row; gap: 8px; bottom: calc(27px + env(safe-area-inset-bottom)); }
  html.kp-has-dock .kp-soc { bottom: calc(105px + env(safe-area-inset-bottom)); }
  .kp-soc a { width: 34px; height: 34px; }
  .kp-soc svg { width: 19px; height: 19px; }
}
@media print { .kp-soc { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .kp-soc, .kp-soc a { transition: none; } }

/* ===== poprawki po ocenie wersji mobilnej ===== */
/* 1. najbliższa Msza tuż pod hasłem — mała, spokojna linijka */
@media (max-width: 760px) {
  html body .hero-open .hero-next:not([hidden]) { display: inline-flex !important; gap: 8px; margin: 4px 0 6px; padding: 7px 13px 7px 11px; font-size: 14px; font-weight: 600; line-height: 1.25; border-radius: 999px; }
  html body .hero-open .hero-next i { width: 7px; height: 7px; box-shadow: 0 0 0 3px rgba(227,194,122,.25); }
}
/* 2. telefon: ikonki społecznościowe tylko w menu i stopce; asystent dopiero po przewinięciu pierwszego ekranu strony głównej */
@media (max-width: 760px) {
  .kp-soc { display: none !important; }
}
/* 3. „3 wolne” zamiast czerwonej cyfry */
.mi-live-free { top: -9px; left: 50%; transform: translateX(-50%); padding: 1px 7px; border-radius: 999px; background: #CDEBD8; color: #0F4A2C; font: 800 9px/1.35 var(--sans); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 5px rgba(0,0,0,.3); }
#menu.mi-mega .mi-wrap .mi-a .mi-live-free { padding: 2px 7px !important; font-size: 9.5px !important; }
/* 4. strzałka przy przewijanym rzędzie (Sakramenty, Wspólnoty) */
.mi-next { display: none; }
#menu .mi-row.mi-more .mi-next { display: grid; place-items: center; position: absolute; right: -4px; top: 36px; z-index: 4; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: rgba(39,123,211,.9); color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.45); cursor: pointer; animation: mi-nudge 2.4s ease-in-out 1s 2; }
#menu .mi-next svg { width: 16px; height: 16px; }
@keyframes mi-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
#menu.mi-mega .mi-next { display: none !important; }
@media (prefers-reduced-motion: reduce) { #menu .mi-next { animation: none; } }
/* 5. menu na telefonie odrobinę gęstsze */
@media (max-width: 760px) {
  html body #menu .mi-wrap > .mi-sec { margin-bottom: 26px !important; }
  html body #menu .mi-wrap > .mi-sec.mi-dock { margin-bottom: 26px !important; padding-top: 16px !important; }
  html body #menu .mi-wrap > .mi-sec .mi-h { margin-bottom: 12px !important; }
  html body #menu .mi-sec .mi-row { margin-top: 18px !important; padding-top: 16px !important; }
  html body #menu .mi-sec .mi-grid { row-gap: 10px !important; }
}

/* godziny otwarcia kościoła pod opisem w hero */
.hero-open .hero-open-inner { grid-template-areas: "name live" "title live" "note live" "hours live" "cue live"; }
.hero-open .hero-hours { grid-area: hours; margin: -4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 15px; font-weight: 600; color: var(--on-field, #fff); }
.hero-open .hero-hours[hidden] { display: none; }
.hero-open .hero-hours small { flex-basis: 100%; font-size: 13px; font-weight: 400; color: var(--on-field-2, rgba(255,255,255,.7)); }
.hero-open .hh-now { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: rgba(255,255,255,.1); color: rgba(255,255,255,.75); }
.hero-open .hh-now::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #9AA5B8; }
.hero-open .hh-now.on { background: rgba(47,179,107,.18); color: #8FE0B0; } .hero-open .hh-now.on::before { background: #2FB36B; }
@media (max-width: 900px) { .hero-open .hero-open-inner { grid-template-areas: "name" "title" "note" "hours" "cue" "live"; } }
@media (max-width: 760px) { .hero-open .hero-open-inner { grid-template-areas: "name" "title" "next" "note" "hours" "cue" "live"; } .hero-open .hero-hours { font-size: 14.5px; } }

/* kalendarz — staranniejsze łamanie tekstu */
.cal-item .cal-badge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.cal-item .cal-evtitle2, .cal-item .cal-note, .cal-item .cal-l2, .cal-item .cal-who { text-wrap: pretty; overflow-wrap: break-word; hyphens: manual; }
.cal-item .cal-main { min-width: 0; }
@media (max-width: 560px) { #calendar-all .cal-item .int-tag { display: table; margin: 0 0 5px; } }
/* kalendarz na telefonie: węższa kolumna godzin (zakres łamie się po myślniku), więcej miejsca na treść */
@media (max-width: 560px) {
  #calendar-all .cal-day { padding-left: 15px !important; padding-right: 15px !important; }
  #calendar-all .cal-item:not(.cal-nowline) { grid-template-columns: 50px minmax(0, 1fr) !important; column-gap: 12px !important; }
  #calendar-all .cal-item .cal-time { white-space: normal !important; line-height: 1.3; overflow-wrap: normal; }
}
/* „Intencja” jako cichy podpis nad treścią, a nie druga plakietka obok „Msza Święta” */
.int-tag, #calendar-all .int-tag, #home-calendar .int-tag { display: block !important; margin: 6px 0 2px !important; padding: 0 !important; border: 0 !important; background: none !important; color: rgba(226,200,135,.72) !important; font-size: 10.5px !important; font-weight: 700; letter-spacing: .12em; line-height: 1.4; }
/* intencja: cienka złota kreska z lewej i mały podpis „INTENCJA” nad treścią */
#calendar-all .cal-l1:has(.int-tag), #home-calendar .hl1:has(.int-tag) { display: block; margin-top: 8px; padding: 1px 0 1px 12px; border-left: 2px solid rgba(226,200,135,.55); }
#calendar-all .int-tag, #home-calendar .int-tag { margin: 0 0 1px !important; }
/* godziny w jednym wierszu: bez zera na początku, koniec zakresu lżejszy */
#calendar-all .cal-time .ct-e { font-weight: 600; opacity: .62; }
@media (max-width: 560px) {
  #calendar-all .cal-item:not(.cal-nowline) { grid-template-columns: 78px minmax(0, 1fr) !important; column-gap: 10px !important; }
  #calendar-all .cal-item .cal-time { white-space: nowrap !important; font-size: 13px !important; letter-spacing: -.01em; }
}
/* zielona kropka przy pierwszym wierszu „Kościół jest otwarty…”, nie na środku akapitu */
.hero-open-note { align-items: flex-start !important; }
.hero-open-note .dot { margin-top: calc(.7em - 5px); }
/* przycisk asystenta (AI) widoczny od początku, także na górze strony głównej */
html.kp-top .kp-ask-fab { opacity: 1 !important; pointer-events: auto !important; transform: none !important; }
/* gdy pokazujemy „Otwarty teraz”, kropka jest tylko tam (bez drugiej przy akapicie) */
.hero-open-inner:has(.hero-hours:not([hidden])) .hero-open-note .dot { display: none; }
/* kalendarz: zielona kropka „trwa teraz” w tym samym wierszu, tuż przed plakietką */
#calendar-all .cal-bcol .cal-live, #calendar-all .cal-l1 .cal-live { display: inline-block; vertical-align: middle; margin: 0 9px 0 2px; position: relative; top: -1px; }
/* strona główna: bez paska „Otwarty teraz / godziny otwarcia” (na prośbę) — kropka wraca przy akapicie */
.hero-open .hero-hours { display: none !important; }
.hero-open-inner:has(.hero-hours:not([hidden])) .hero-open-note .dot { display: block; }
/* Taizé: najczęstsze pytania */
.tz-main .tz-note, .tz-note { padding: 14px 18px; border-radius: 16px; background: color-mix(in srgb, var(--tz) 10%, var(--bg)); border: 1px solid color-mix(in srgb, var(--tz) 30%, var(--line)); font-size: 16px; line-height: 1.55 !important; font-size: 16px !important; color: var(--ink-2); }
.tz-note b { color: var(--ink); }
.tz-faq { display: grid; gap: 8px; margin: 14px 0 26px; }
.tz-faq details { border-radius: 16px; border: 1px solid color-mix(in srgb, var(--tz) 24%, var(--line)); background: var(--bg); overflow: hidden; }
.tz-faq summary { list-style: none; cursor: pointer; padding: 15px 48px 15px 18px; position: relative; font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--ink); text-wrap: pretty; }
.tz-faq summary::-webkit-details-marker { display: none; }
.tz-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 17px; font-weight: 700; color: var(--tz); background: color-mix(in srgb, var(--tz) 14%, transparent); transition: transform .2s; }
.tz-faq details[open] summary::after { content: "−"; }
.tz-main .tz-faq details p, .tz-faq details p { margin: 0; padding: 0 18px 16px; font-size: 16px; line-height: 1.6; color: var(--ink-2); text-wrap: pretty; }
/* Msze: najbliższe terminy spowiedzi */
.sp-next { list-style: none; margin: 4px 0 10px; padding: 0; display: grid; gap: 6px; }
.sp-next li { font-size: 16px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.sp-next li b { display: inline-block; min-width: 82px; font-weight: 700; color: var(--brand, #14487C); }
.sp-next li small { display: block; padding-left: 86px; font-size: 13px; color: var(--ink-2); }
/* czytelność dla starszych: najmniejsze napisy co najmniej 12 px */
.hs-new, .kk-new, .pres-tag, .pg-lab, .cal-today-tag, .kicker, .tl-badge, .tl-when, .kk-wrap .who, .who.kk-wrap-pad, #calendar-all .who { font-size: 12px !important; }
.cal-item .cal-badge, .cal-badge { font-size: 12px !important; }
.dock .dk-lb, .dk-lb { font-size: 11.5px !important; }
.en-badge { font-size: 10.5px !important; }
.hs-cards small, .hs-cards span:not([class]) { font-size: 12px; }
/* podstrony: nad podpisem krótka stopka z adresem, kancelarią i telefonami */
html body:not(.kp-home) .site-footer > div.ft-short.wrap { display: grid !important; gap: 5px; padding: 26px 20px 4px; text-align: center; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.72); }
html body:not(.kp-home) .site-footer > div.ft-short.wrap p { margin: 0; }
html body:not(.kp-home) .site-footer > div.ft-short.wrap b { color: #fff; }
html body:not(.kp-home) .site-footer > div.ft-short.wrap a { color: #E3C27A; text-decoration: none; overflow-wrap: anywhere; }
html body:not(.kp-home) .site-footer > div.ft-short.wrap .ft-soc { margin-top: 6px; }
