/* =====================================================================================================================
   Szablon Tomasz (nowy): panorama gor z dawnego Tomasza na nowo. Waskie wersaliki (Barlow Condensed) w naglowkach, menu
   i tytulach na miniaturach, tekst Barlow. Kolory wylacznie z palety: --pri (oliwka: naglowek podstron, pasy), --sec
   (cegla: akcent, etykiety, przyciski), --ter (kafle bez zdjecia), --band (szuflada, nakladki), --footer-bg.
   Znak szablonu: cienkie linie wznoszace sie w prawo (stopka, kafle bez zdjecia, ogloszenia, mysl dnia). Tylko to, czego nie daja tokeny i warianty (template.php).
   Ruch: przesuwajaca sie panorama, napisy odslaniane od lewej, szuflada informacji, karty wchodzace po kolei, tytuly
   na miniaturach z odslaniana zajawka; wszystko stoi przy prefers-reduced-motion.
   ===================================================================================================================== */

.front-root--tomasz {
  --tomasz-ease: cubic-bezier(.16, 1, .3, 1);
  --tomasz-ease-io: cubic-bezier(.65, 0, .35, 1);
  --tomasz-shadow: 0 12px 30px rgba(var(--ink-rgb), .10), 0 2px 6px rgba(var(--ink-rgb), .06);
  --tomasz-shadow-hover: 0 24px 50px rgba(var(--ink-rgb), .18), 0 4px 12px rgba(var(--ink-rgb), .08);
  --tomasz-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  /* znak szablonu: kilka cienkich linii wznoszacych sie w prawo, w czesci przezroczystych (maska w kolorze stopki,
     akcent w kolorze cegly) i ta sama wersja biala na kolorowych tlach (kafle bez zdjecia, karta ogloszen, mysl dnia) */
  --tomasz-lines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 120'%3E%3Cpath d='M560 120C920 112 1220 74 1600 30V120Z' fill-opacity='.2'/%3E%3Cg fill='none' stroke='%23000'%3E%3Cpath d='M360 120C820 110 1180 58 1600 14' stroke-width='2' stroke-opacity='.8'/%3E%3Cpath d='M700 120C1040 106 1320 76 1600 50' stroke-width='1.5' stroke-opacity='.5'/%3E%3Cpath d='M140 120C660 116 1080 90 1600 74' stroke-width='1.2' stroke-opacity='.3'/%3E%3Cpath d='M980 120C1220 106 1420 94 1600 94' stroke-width='1' stroke-opacity='.4'/%3E%3C/g%3E%3C/svg%3E");
  --tomasz-lines-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 120'%3E%3Cpath d='M470 120C900 108 1230 66 1600 26' fill='none' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E");
  --tomasz-lines-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 120'%3E%3Cpath d='M560 120C920 112 1220 74 1600 30V120Z' fill='%23fff' fill-opacity='.06'/%3E%3Cg fill='none' stroke='%23fff'%3E%3Cpath d='M360 120C820 110 1180 58 1600 14' stroke-width='2.5' stroke-opacity='.3'/%3E%3Cpath d='M700 120C1040 106 1320 76 1600 50' stroke-width='2' stroke-opacity='.2'/%3E%3Cpath d='M140 120C660 116 1080 90 1600 74' stroke-width='1.5' stroke-opacity='.14'/%3E%3C/g%3E%3C/svg%3E");
  /* etykiety kategorii: cegla z palety i cztery stale kolory, z kontrastem dla bialego napisu */
  --tomasz-tone-0: var(--sec-strong);
  --tomasz-tone-1: #4D6420;
  --tomasz-tone-2: #1C6585;
  --tomasz-tone-3: #8C5512;
  --tomasz-tone-4: #7A3B6C;
  --tpl-mm-accent: var(--sec-strong);
  --tpl-mm-accent-strong: var(--sec-strong);
  color: var(--ink);
  background: var(--bg);
  overflow-x: clip;
}
.front-root--tomasz ::selection { background: var(--sec-strong); color: #fff; }
.front-root--tomasz :focus-visible { outline: 2px solid var(--sec); outline-offset: 3px; }
.front-root--tomasz a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
html:has(.front-root--tomasz) { scrollbar-color: rgba(var(--pri-rgb), .5) transparent; accent-color: var(--sec); }
.front-root--tomasz .front-main { font-size: 17px; line-height: 1.7; }

/* ---- Przyciski: prostokatne, wersaliki waskie, wypelnienie wjezdza od lewej ----------------------------------------- */
.front-root--tomasz :is(.btn.btn--action-quiet, .btn.btn--action, .tomasz-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 50px; padding: 0 28px; border: 2px solid var(--sec); border-radius: var(--radius-sm);
  background: linear-gradient(var(--sec-strong), var(--sec-strong)) no-repeat 0 0 / 0% 100%; color: var(--tomasz-btn-ink, var(--ink));
  font: 600 16px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
  transition: background-size .5s var(--tomasz-ease), color .3s var(--tomasz-ease), border-color .3s var(--tomasz-ease);
}
.front-root--tomasz :is(.btn.btn--action-quiet, .btn.btn--action, .tomasz-btn):hover { background-size: 100% 100%; border-color: var(--sec-strong); color: #fff; }
.front-root--tomasz .btn.btn--action-sm { min-height: 42px; padding: 0 20px; }
.front-root--tomasz .btn__arrow { transition: transform .45s var(--tomasz-ease); }
.front-root--tomasz :is(.btn, .tomasz-btn):hover .btn__arrow { margin-left: 0; transform: translateX(5px); }
.front-root--tomasz .tomasz-btn--light { --tomasz-btn-ink: #fff; border-color: rgba(255, 255, 255, .85); }
.front-root--tomasz #aktualnosci .section-foot .btn { background: linear-gradient(var(--sec-strong), var(--sec-strong)) no-repeat 0 0 / 0% 100%; color: var(--ink); }
.front-root--tomasz #aktualnosci .section-foot .btn:hover { background-size: 100% 100%; }
.front-root--tomasz #aktualnosci .section-foot .btn:hover { color: #fff; }
.front-root--tomasz .front-section[style*="--section-bg"] { --tomasz-btn-ink: #fff; }
.front-root--tomasz .front-section[style*="--section-bg"] :is(.section-title, .pastor-chip__name, .mateusz-elements__title) { color: var(--section-heading, #fff); }

/* ---- Naglowek: logo z lewej, menu z prawej. Na glownej lezy na panoramie, na podstronach na kolorze glownym ------- */
html .front-root.front-root--tomasz > .front-header { background: var(--pri); color: #fff; box-shadow: none; }
.front-root--tomasz .front-header[data-sticky][data-condensed] { box-shadow: 0 10px 30px rgba(0, 0, 0, .22); }
.front-root--tomasz .front-header__inner { max-width: var(--tresc-max); align-items: center; justify-content: space-between; gap: 24px; padding-block: 16px; }
.front-root--tomasz .front-header__brand { flex-direction: row; align-items: center; gap: 16px; text-align: left; }
.front-root--tomasz .mateusz-logo img { display: block; width: auto; height: 64px; border-radius: var(--radius-sm); box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.front-root--tomasz .front-header__titles { text-align: left; }
.front-root--tomasz :is(.front-header__name, a.front-header__name) {
  font: 700 clamp(24px, 2.2vw, 32px)/1 var(--tomasz-cond); letter-spacing: .03em; text-transform: uppercase; color: #fff; text-decoration: none;
}
.front-root--tomasz .front-header__subtitle { margin-top: 5px; font: 500 15px/1.3 var(--font-sans); letter-spacing: .01em; color: rgba(255, 255, 255, .82); }
.front-root--tomasz .front-topnav { justify-content: flex-end; gap: 2px; }
.front-root--tomasz.tpl-menu--caps :is(.front-topnav__link, a.front-topnav__link) {
  position: relative; padding: 12px 9px; background: transparent; color: #fff;
  font: 600 var(--menu-size)/1 var(--tomasz-cond); letter-spacing: .05em; text-transform: uppercase; text-shadow: none;
}
.front-root--tomasz.tpl-menu--caps .front-topnav__link::after {
  content: ""; position: absolute; left: 9px; right: 9px; bottom: 4px; height: 3px; background: var(--sec);
  transform: scaleX(0); transform-origin: left; transition: transform .45s var(--tomasz-ease);
}
.front-root--tomasz.tpl-menu--caps :is(.front-topnav__link:hover, .front-topnav__link--active, .front-topnav__group:hover > .front-topnav__link) { background: transparent; color: #fff; }
.front-root--tomasz.tpl-menu--caps :is(.front-topnav__link:hover, .front-topnav__link--active, .front-topnav__group:hover > .front-topnav__link)::after { transform: scaleX(1); }
.front-root--tomasz .front-topnav__caret { color: rgba(255, 255, 255, .7); }
.front-root--tomasz .front-topnav__submenu { padding: 8px; border: 0; border-radius: var(--radius-md); background: #fff; box-shadow: var(--tomasz-shadow-hover); }
.front-root--tomasz .front-topnav__sublink { border-radius: var(--radius-sm); font: 500 16px/1.35 var(--font-sans); color: var(--ink); text-transform: none; }
.front-root--tomasz .front-topnav__sublink:hover { background: rgba(var(--pri-rgb), .08); color: var(--pri); }
.front-root--tomasz .front-burger { border-color: rgba(255, 255, 255, .55); }
.front-root--tomasz .front-burger span { background: #fff; }
/* na panoramie: przezroczysty, nad nim przyciemnienie od gory dla czytelnosci */
html .front-root.front-root--tomasz.front-root--hero-overlay > .front-header { background: linear-gradient(180deg, rgba(var(--band-rgb), .62) 0%, rgba(var(--band-rgb), .28) 62%, rgba(var(--band-rgb), 0) 100%); }
.front-root--tomasz.front-root--hero-overlay > .front-header :is(.front-header__name, .front-header__subtitle, .front-topnav__link) { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }

/* ---- Panorama -------------------------------------------------------------------------------------------------- */
.tomasz-hero {
  --hero-h: clamp(480px, min(68vh, 46vw), 720px);
  --handle-h: 48px;
  position: relative; isolation: isolate; overflow: hidden; height: var(--hero-h); background: var(--band-bg, var(--pri));
}
.tomasz-hero__stage { position: absolute; inset: 0; z-index: -2; }
.tomasz-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--tomasz-ease-io); }
.tomasz-hero__slide.is-active, .tomasz-hero__slide[data-first]:not([class*="is-"]) { opacity: 1; }
.tomasz-hero__img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }
.tomasz-hero__slide.is-active .tomasz-hero__img { animation: tomasz-pan 16s linear both; }
.tomasz-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(var(--band-rgb), .62) 0%, rgba(var(--band-rgb), .28) 42%, rgba(var(--band-rgb), 0) 70%),
    linear-gradient(0deg, rgba(var(--band-rgb), .55) 0%, rgba(var(--band-rgb), 0) 38%);
}
.tomasz-hero__inner {
  position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; height: 100%;
  max-width: var(--tresc-max); margin: 0 auto; padding: 120px var(--tresc-pad, 24px) calc(var(--handle-h) + 44px);
}
.tomasz-hero__captions { display: grid; flex: 1 1 auto; min-width: 0; }
.tomasz-caption { grid-area: 1 / 1; max-width: 760px; color: #fff; }
.tomasz-caption__title {
  margin: 0; font: 700 clamp(40px, 5.6vw, 84px)/.95 var(--tomasz-cond); letter-spacing: .005em; text-transform: uppercase; text-wrap: balance;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
.tomasz-caption__title span { display: inline; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.tomasz-caption__text { max-width: 48ch; margin: 20px 0 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.55; font-weight: 500; color: rgba(255, 255, 255, .92); text-wrap: pretty; }
.tomasz-caption__more { margin-top: 28px; }

.tomasz-hero__nav { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding-bottom: 6px; color: #fff; }
.tomasz-hero__count { display: flex; align-items: baseline; gap: 8px; margin-right: 6px; font-family: var(--tomasz-cond); font-variant-numeric: tabular-nums; }
.tomasz-hero__count b { font-size: 40px; font-weight: 700; line-height: 1; }
.tomasz-hero__count span { font-size: 18px; font-weight: 500; opacity: .75; }
.tomasz-hero__ticks { display: flex; gap: 6px; margin-right: 10px; }
.tomasz-hero__tick { position: relative; width: 34px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; }
.tomasz-hero__tick::before, .tomasz-hero__tick span { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; }
.tomasz-hero__tick::before { background: rgba(255, 255, 255, .32); }
.tomasz-hero__tick span { background: #fff; transform: scaleX(0); transform-origin: left; }
.tomasz-hero__tick.is-active span { animation: tomasz-tick 6s linear both; }
.tomasz-hero__nav.is-held .tomasz-hero__tick.is-active span { animation-play-state: paused; }
.tomasz-hero__tick.is-active.is-paused span { animation: none; transform: scaleX(1); }
.tomasz-round {
  display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 2px solid rgba(255, 255, 255, .7); border-radius: var(--radius-sm);
  background: transparent; color: #fff; cursor: pointer; transition: background-color .3s var(--tomasz-ease), border-color .3s var(--tomasz-ease);
}
.tomasz-round svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.tomasz-round:hover { border-color: var(--sec); background: var(--sec-strong); }
.tomasz-round--quiet { width: 38px; height: 38px; border-color: rgba(255, 255, 255, .35); }
.tomasz-round--quiet svg { width: 16px; height: 16px; }
.tomasz-round--quiet path[d^="M9 6.5"] { fill: currentColor; stroke: none; }
.tomasz-hero--empty { background: linear-gradient(135deg, var(--pri), var(--ter)); }

/* szuflada informacji: uchwyt na dole zdjecia, panel wjezdza z dolu na polprzezroczystym, rozmytym tle */
.tomasz-info {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; flex-direction: column; align-items: center;
  max-height: calc(100% - 96px); transform: translateY(calc(100% - var(--handle-h))); transition: transform .8s var(--tomasz-ease);
}
.tomasz-info.is-open { transform: none; }
.tomasz-info__handle {
  display: inline-flex; flex: none; align-items: center; gap: 10px; height: var(--handle-h); padding: 0 26px; border: 0; border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: rgba(var(--band-rgb), .66); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3);
  font: 600 16px/1 var(--tomasz-cond); letter-spacing: .12em; text-transform: uppercase;
}
.tomasz-info__handle svg { width: 13px; height: 9px; fill: none; stroke: var(--sec); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .6s var(--tomasz-ease); }
.tomasz-info.is-open .tomasz-info__handle svg { transform: rotate(180deg); }
.tomasz-info__handle:hover { background: rgba(var(--band-rgb), .82); }
.tomasz-info__panel {
  align-self: stretch; flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; color: #fff;
  background: rgba(var(--band-rgb), .66); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.tomasz-info__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0;
  max-width: var(--tresc-max); margin: 0 auto; padding: 30px var(--tresc-pad, 24px) 34px;
}
.tomasz-info__block { padding: 4px 28px 6px; border-left: 1px solid rgba(255, 255, 255, .14); }
.tomasz-info__block:first-child { padding-left: 0; border-left: 0; }
.tomasz-info__heading { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 600 15px/1.2 var(--tomasz-cond); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
.tomasz-info__heading svg { width: 18px; height: 18px; color: var(--sec); }
.tomasz-info__block .info-block__body { font-size: 15.5px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
.tomasz-info__block :is(a, .info-block__more) { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(var(--sec-rgb), .9); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tomasz-info__block a:hover { text-decoration-color: #fff; }
.tomasz-info__block .info-block__more { display: inline-block; margin-top: 12px; }
.tomasz-info__date { margin: 0 0 8px; font: 700 34px/1 var(--tomasz-cond); letter-spacing: .01em; text-transform: uppercase; color: #fff; }
.tomasz-info__times { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.tomasz-info__times li { padding: 6px 12px; border-radius: var(--radius-sm); background: rgba(255, 255, 255, .14); font: 600 22px/1 var(--tomasz-cond); font-variant-numeric: tabular-nums; }
.tomasz-info__times small { font: 500 13px/1 var(--font-sans); opacity: .8; }
.tomasz-info__note { margin: 0 0 10px; color: rgba(255, 255, 255, .8); }
.tomasz-info__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.tomasz-info__block .contact-details__row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 6px; }
.tomasz-info__block .contact-details__icon svg { width: 18px; height: 18px; color: var(--sec); }
.tomasz-info__block :is(.mass-card, .mass-schedule, .mateusz-mass) { color: inherit; }
.tomasz-info__block :is(h3, h4, strong, b) { color: #fff; }

/* wejscie czolowki: tytul odslaniany od lewej jak panorama, opis i przycisk doganiaja, menu schodzi po kolei */
.tomasz-caption.is-active .tomasz-caption__title { animation: tomasz-wipe 1.15s var(--tomasz-ease-io) both; }
.tomasz-caption.is-active .tomasz-caption__text { animation: tomasz-rise 1s var(--tomasz-ease) .5s both; }
.tomasz-caption.is-active .tomasz-caption__more { animation: tomasz-rise 1s var(--tomasz-ease) .68s both; }
.tomasz-hero__nav, .tomasz-info__handle { animation: tomasz-rise 1s var(--tomasz-ease) .85s both; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-header__brand { animation: tomasz-drop .9s var(--tomasz-ease) both; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > * { animation: tomasz-drop .9s var(--tomasz-ease) both; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > :nth-child(2) { animation-delay: .05s; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > :nth-child(3) { animation-delay: .1s; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > :nth-child(4) { animation-delay: .15s; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > :nth-child(5) { animation-delay: .2s; }
.front-root--tomasz.front-root--hero-overlay > .front-header .front-topnav > :nth-child(n + 6) { animation-delay: .25s; }
.tomasz-info.is-open .tomasz-info__block { animation: tomasz-rise .8s var(--tomasz-ease) both; }
.tomasz-info.is-open .tomasz-info__block:nth-child(2) { animation-delay: .07s; }
.tomasz-info.is-open .tomasz-info__block:nth-child(3) { animation-delay: .14s; }
.tomasz-info.is-open .tomasz-info__block:nth-child(4) { animation-delay: .21s; }

/* szuflada otwarta: napis i licznik ustepuja panelowi */
.tomasz-hero__inner { transition: opacity .5s var(--tomasz-ease), transform .7s var(--tomasz-ease); }
.tomasz-hero:has(.tomasz-info.is-open) .tomasz-hero__inner { opacity: 0; transform: translateY(-24px); pointer-events: none; }
.tomasz-info__block .info-block__more { padding: 0; border: 0; background: none; }

@keyframes tomasz-pan { from { transform: scale(1.1) translate3d(-2.5%, 0, 0); } to { transform: scale(1.1) translate3d(2.5%, 0, 0); } }
@keyframes tomasz-wipe { from { clip-path: inset(-10% 100% -10% 0); transform: translateX(-18px); } to { clip-path: inset(-10% -2% -10% 0); transform: none; } }
@keyframes tomasz-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes tomasz-drop { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes tomasz-tick { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes tomasz-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---- Naglowki sekcji: waskie wersaliki do lewej, pod spodem kreska akcentu ---------------------------------------- */
.front-root--tomasz .section-head { justify-content: space-between; align-items: flex-end; margin-bottom: 30px; padding: 0; border: 0; background: transparent; text-align: left; }
.front-root--tomasz .section-title {
  position: relative; padding-bottom: 16px; font: 600 clamp(32px, 3.3vw, 48px)/1 var(--tomasz-cond); letter-spacing: .015em; text-transform: uppercase; color: var(--ink); text-wrap: balance;
}
.front-root--tomasz .section-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; background: var(--sec); transform-origin: left; }
.front-root--tomasz .section-foot { justify-content: flex-start; margin-top: 36px; }
.front-root--tomasz .front-main .front-section { margin-block: clamp(52px, 6.5vw, 92px); }
.front-root--tomasz .front-main > [data-motion-enter-list] > .front-section:first-child { margin-top: 44px; }

/* ---- Kafel wpisu: zdjecie na calym kaflu, tytul waskimi wersalikami na zdjeciu, kategoria i data w rogach, zajawka
   odslaniana przy najechaniu. Ten sam kafel na glownej (.news-card), w archiwum (.news-row) i w galeriach ------- */
.front-root--tomasz .news-grid { gap: 26px; }
/* na glownej siatka zamiast zwijanego rzedu (front-base: .front-root--home .news-grid { display: flex }) */
.front-root--tomasz.front-root--home #aktualnosci .news-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.front-root--tomasz.front-root--home #aktualnosci .news-grid > * { max-width: none; min-width: 0; }
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row) {
  position: relative; display: grid; grid-template: 1fr / 1fr; min-height: 0; aspect-ratio: 6 / 5; padding: 0; overflow: hidden; isolation: isolate;
  border: 0; border-radius: var(--radius-md); background: var(--band-bg); color: #fff; box-shadow: var(--tomasz-shadow); text-decoration: none;
  transition: transform .6s var(--tomasz-ease), box-shadow .6s var(--tomasz-ease);
}
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row):hover { transform: translateY(-6px); box-shadow: var(--tomasz-shadow-hover); background: var(--band-bg); }
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row) > * { grid-area: 1 / 1; }
/* zdjecie na cala karte z ciemnieniem od dolu */
.front-root--tomasz .news-grid .news-card__media { position: relative; z-index: -1; height: 100%; margin: 0; overflow: hidden; border-radius: 0; }
.front-root--tomasz .news-rows--grid .news-row__media { position: relative; z-index: -1; height: 100%; margin: 0; overflow: hidden; border-radius: 0; }
.front-root--tomasz :is(.news-grid .news-card__img, .news-rows--grid .news-row__thumb) {
  position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border-radius: 0; transition: transform 1.4s var(--tomasz-ease);
}
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row):hover :is(.news-card__img, .news-row__thumb) { transform: scale(1.07); filter: none; }
.front-root--tomasz :is(.news-grid .news-card__media, .news-rows--grid .news-row__media)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; transition: opacity .6s var(--tomasz-ease);
  background:
    linear-gradient(180deg, rgba(var(--band-rgb), .5) 0%, rgba(var(--band-rgb), 0) 24%),
    linear-gradient(0deg, rgba(var(--band-rgb), .94) 0%, rgba(var(--band-rgb), .72) 30%, rgba(var(--band-rgb), 0) 64%);
}
/* bez zdjecia: kolor palety z grzbietami gor u dolu */
.front-root--tomasz :is(.news-grid .news-card--textonly, .news-rows--grid .news-row:not(:has(.news-row__media)))::before {
  content: ""; grid-area: 1 / 1; z-index: -1; margin: 0; aspect-ratio: auto; border-radius: 0;
  background: var(--tomasz-lines-light) right 0 bottom 34% / 220% auto no-repeat, linear-gradient(160deg, var(--ter), var(--pri));
}
.front-root--tomasz :is(.news-grid .news-card--textonly, .news-rows--grid .news-row:not(:has(.news-row__media))) { background: var(--band-bg); }
/* tresc na dole karty */
.front-root--tomasz .news-grid .news-card__body,
.front-root--tomasz .news-rows--grid .news-row__body {
  position: relative; z-index: 2; display: flex; flex-direction: column; align-self: end; gap: 0; padding: 0 24px 24px; text-align: left; background: none;
}
.front-root--tomasz :is(.news-grid .news-card__body, .news-rows--grid .news-row__body)::before {
  content: ""; display: block; width: 44px; height: 3px; margin-bottom: 14px; background: var(--sec); transform-origin: left; transition: width .6s var(--tomasz-ease);
}
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row):hover :is(.news-card__body, .news-row__body)::before { width: 88px; }
.front-root--tomasz.tpl-news-tiles--label :is(.news-grid .news-card__title, .news-rows--grid .news-row__title) {
  margin: 0; font: 600 clamp(22px, 1.9vw, 27px)/1.04 var(--tomasz-cond); letter-spacing: .01em; text-transform: uppercase; color: #fff; text-wrap: balance;
}
.front-root--tomasz.tpl-news-tiles--label :is(.news-grid .news-card, .news-rows--grid .news-row):hover :is(.news-card__title, .news-row__title) { color: #fff; }
.front-root--tomasz.tpl-news-tiles--label .news-grid .news-card__subtitle {
  margin: 8px 0 0; font: 500 15px/1.4 var(--font-sans); letter-spacing: 0; text-transform: none; color: rgba(255, 255, 255, .86);
}
.front-root--tomasz.tpl-news-tiles--label :is(.news-grid .news-card__excerpt, .news-rows--grid .news-row__excerpt) {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: 0; margin: 0; opacity: 0;
  font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .88); transition: max-height .6s var(--tomasz-ease), opacity .5s var(--tomasz-ease), margin .6s var(--tomasz-ease);
}
.front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row):is(:hover, :focus-visible) :is(.news-card__excerpt, .news-row__excerpt) { max-height: 5em; margin-top: 10px; opacity: 1; }
.front-root--tomasz.tpl-news-tiles--label .news-grid .news-card__subtitle + .news-card__excerpt { display: none; }
.front-root--tomasz :is(.news-grid .news-card__more, .news-rows--grid .news-row__more) { display: none; }
/* znaczniki: kategoria w lewym gornym rogu, data w prawym */
.front-root--tomasz .news-grid .news-stamps--over { position: absolute; inset: 0; z-index: 2; margin: 0; padding: 0; pointer-events: none; }
.front-root--tomasz .news-grid .news-card--textonly .news-stamps--inline { position: absolute; inset: 0; z-index: 2; margin: 0; padding: 0; pointer-events: none; }
.front-root--tomasz :is(.cat-badge.news-stamps__category, .news-row__cat) {
  max-width: calc(100% - 110px); padding: 6px 10px 5px; border: 0; border-radius: var(--radius-xs); background: var(--tomasz-tone-0); color: #fff; box-shadow: none;
  font: 600 14px/1.1 var(--tomasz-cond); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.front-root--tomasz.front-root--tomasz :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="1"] { background: var(--tomasz-tone-1); }
.front-root--tomasz.front-root--tomasz :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="2"] { background: var(--tomasz-tone-2); }
.front-root--tomasz.front-root--tomasz :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="3"] { background: var(--tomasz-tone-3); }
.front-root--tomasz.front-root--tomasz :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="4"] { background: var(--tomasz-tone-4); }
.front-root--tomasz.tpl-news-tiles--label .news-grid .news-stamps .news-stamps__category { position: absolute; top: 18px; left: 18px; bottom: auto; right: auto; }
.front-root--tomasz.tpl-news-tiles--label .news-rows--grid .news-row__cat { position: absolute; top: 18px; left: 18px; margin: 0; transform: none; }
/* data: tabliczka z dniem duzymi cyframi, miesiac nad kreska (wariant tile), biala na zdjeciu */
.front-root--tomasz.tpl-news-date--tile :is(.news-grid, .news-featured, .news-rows--grid) .news-date {
  min-width: 54px; padding: 7px 8px 6px; border-radius: var(--radius-xs); background: rgba(255, 255, 255, .95); color: var(--ink); box-shadow: 0 8px 18px rgba(0, 0, 0, .25);
  transition: transform .6s var(--tomasz-ease);
}
.front-root--tomasz.tpl-news-date--tile :is(.news-grid, .news-featured, .news-rows--grid) .news-date__month { margin-bottom: 3px; padding-bottom: 3px; border-bottom: 2px solid var(--sec); font: 600 12px/1 var(--tomasz-cond); letter-spacing: .12em; color: var(--sec-strong); }
.front-root--tomasz.tpl-news-date--tile :is(.news-grid, .news-featured, .news-rows--grid) .news-date__day { font: 700 28px/1 var(--tomasz-cond); color: var(--ink); }
.front-root--tomasz.tpl-news-date--tile :is(.news-grid, .news-featured) .news-stamps .news-date { position: absolute; top: 18px; right: 18px; margin: 0; }
.front-root--tomasz.front-root--tomasz.tpl-news-date--tile .news-grid .news-card .news-stamps .news-date { padding: 7px 8px 6px; }
.front-root--tomasz.tpl-news-date--tile .news-rows--grid .news-row > .news-date { position: absolute; top: 18px; right: 18px; z-index: 3; margin: 0; flex-direction: column; gap: 0; }
.front-root--tomasz :is(.news-card, .news-row, .gallery-tile):hover .news-date { transform: translateY(-3px); }
.front-root--tomasz :is(.news-grid, .news-rows--grid) .news-stamps__views { display: none; }
.front-root--tomasz .news-rows--grid .news-date__dow { display: none; }
.front-root--tomasz .news-rows--grid .news-row:focus-visible { outline: 3px solid var(--sec); outline-offset: 3px; }

/* glowna: rowna siatka (slider nad nia jest szeroka karta) - z kolumna boczna dwa kafle w rzedzie, bez niej trzy;
   szesc wpisow wypelnia rzedy bez pojedynczego kafla na koncu */
@media (min-width: 761px) {
  .front-root--tomasz .front-body--with-sidebar #aktualnosci .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .front-root--tomasz .front-body--no-sidebar #aktualnosci .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* wyroznione (slider): panoramiczna karta, zdjecie na cala szerokosc, tytul z lewej u dolu */
.front-root--tomasz .news-featured { position: relative; overflow: hidden; border-radius: var(--radius-md); background: var(--band-bg); box-shadow: var(--tomasz-shadow); }
.front-root--tomasz .news-featured__grid { display: grid; grid-template: 1fr / 1fr; min-height: clamp(360px, 32vw, 480px); }
.front-root--tomasz .news-featured__media { grid-area: 1 / 1; position: relative; height: 100%; margin: 0; overflow: hidden; border-radius: 0; }
.front-root--tomasz .news-featured__media img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: transform 1.6s var(--tomasz-ease); }
.front-root--tomasz .news-featured:hover .news-featured__media img { transform: scale(1.05); }
.front-root--tomasz .news-featured__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(var(--band-rgb), .9) 0%, rgba(var(--band-rgb), .62) 40%, rgba(var(--band-rgb), 0) 75%), linear-gradient(0deg, rgba(var(--band-rgb), .5), transparent 50%);
}
.front-root--tomasz .news-featured__body { grid-area: 1 / 1; z-index: 1; align-self: end; max-width: 640px; gap: 12px; padding: clamp(28px, 3.6vw, 52px); background: transparent; color: #fff; }
.front-root--tomasz .news-featured__body :is(.news-featured__title, .news-featured__excerpt, .news-featured__more, .news-card__subtitle) { color: #fff; }
.front-root--tomasz .news-featured__title { font: 700 clamp(30px, 3.4vw, 50px)/.98 var(--tomasz-cond); letter-spacing: .005em; text-transform: uppercase; text-wrap: balance; }
.front-root--tomasz .news-featured__excerpt { font-size: 16.5px; line-height: 1.6; opacity: .9; }
.front-root--tomasz .news-featured__more { align-self: flex-start; font: 600 16px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--sec); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.front-root--tomasz .news-featured--textonly .news-featured__grid { min-height: 0; background: linear-gradient(120deg, var(--pri), var(--ter)); }
.front-root--tomasz .news-featured .news-stamps--over .news-stamps__category { position: absolute; top: 26px; left: clamp(28px, 3.6vw, 52px); }
.front-root--tomasz.tpl-news-date--tile .news-featured .news-stamps .news-date { position: absolute; top: 24px; right: 24px; margin: 0; }
.front-root--tomasz .news-featured .news-stamps__views { display: none; }
.front-root--tomasz .news-carousel__dot { background: rgba(var(--pri-rgb), .2); border-radius: 0; }
.front-root--tomasz .news-carousel__dot-fill { background: var(--sec); }

/* ---- Archiwum: ten sam kafel w siatce, lista z data w kolorze, pasek miesiecy i kategorie ------------------------ */
.front-root--tomasz .news-rows--grid { gap: 26px; }
@media (min-width: 761px) { .front-root--tomasz .news-rows--grid { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); } }
.front-root--tomasz.tpl-news-tiles--label .news-rows--grid .news-row__body { position: static; display: flex; } /* kategoria liczy pozycje od kafla, nie od tekstu */
.front-root--tomasz.tpl-news-tiles--label .news-rows--grid .news-row__title { margin: 0; }
.front-root--tomasz.tpl-news-tiles--label .news-rows--grid .news-row__excerpt { grid-area: auto; }

.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row { grid-template-columns: 78px 150px minmax(0, 1fr); column-gap: 22px; align-items: center; border-bottom-color: rgba(var(--ink-rgb), .1); }
.front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date {
  display: grid; justify-items: center; align-content: center; gap: 3px; width: 78px; min-height: 78px; padding: 8px 4px; border-radius: var(--radius-sm); background: var(--pri); color: #fff; box-shadow: none;
}
.front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__month { order: 0; margin: 0; padding: 0; border: 0; font: 600 13px/1 var(--tomasz-cond); letter-spacing: .12em; color: rgba(255, 255, 255, .85); }
.front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__day { order: -1; font: 700 32px/1 var(--tomasz-cond); color: #fff; }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__thumb { aspect-ratio: 4 / 3; border-radius: var(--radius-sm); }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row:not(:has(.news-row__media))::before { border-radius: var(--radius-sm); background: linear-gradient(160deg, var(--ter), var(--pri)); }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__title { font: 600 24px/1.1 var(--tomasz-cond); text-transform: uppercase; letter-spacing: .01em; color: var(--ink); }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row:hover .news-row__title { color: var(--pri); }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__cat { justify-self: start; align-self: start; width: fit-content; }
.front-root--tomasz .news-rows:not(.news-rows--grid) .news-row > .news-stamps__views { display: none; }
.front-root--tomasz .news-rows__month { font: 600 26px/1 var(--tomasz-cond); letter-spacing: .04em; text-transform: uppercase; color: var(--pri); }

.front-root--tomasz .news-archive-months { gap: 0; padding: 0; border-radius: var(--radius-sm); background: var(--pri); overflow: hidden; }
.front-root--tomasz .news-archive-months .news-archive-months__item { padding: 13px 15px; border-radius: 0; font: 600 15px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; transition: background-color .3s var(--tomasz-ease); }
.front-root--tomasz .news-archive-months a.news-archive-months__item:hover { background: rgba(255, 255, 255, .12); }
.front-root--tomasz .news-archive-months a.news-archive-months__item.is-active { background: var(--sec-strong); color: #fff; box-shadow: none; }
.front-root--tomasz .news-archive-years { margin-bottom: 14px; border-bottom: 0; }
.front-root--tomasz .news-archive-years__item { font: 600 20px/1 var(--tomasz-cond); letter-spacing: .04em; }
.front-root--tomasz .news-archive-years__item.is-active { border-bottom-color: var(--sec); color: var(--ink); }
.front-root--tomasz .news-filter { gap: 6px; }
.front-root--tomasz .news-filter a.mm-chip {
  min-height: 40px; padding: 0 16px; border: 1px solid rgba(var(--ink-rgb), .18); border-radius: var(--radius-sm); background: #fff; color: var(--ink);
  font: 600 15px/1 var(--tomasz-cond); letter-spacing: .08em; text-transform: uppercase; transition: background-color .3s var(--tomasz-ease), border-color .3s var(--tomasz-ease), color .3s var(--tomasz-ease);
}
.front-root--tomasz .news-filter a.mm-chip:hover { border-color: var(--pri); color: var(--pri); background: #fff; }
.front-root--tomasz .news-filter a.mm-chip.is-active { border-color: var(--pri); background: var(--pri); color: #fff; }
.front-root--tomasz .news-view__btn[aria-pressed="true"] { border-color: var(--pri); background: var(--pri); color: #fff; }
.front-root--tomasz .news-search__field { border-radius: var(--radius-sm); border-color: rgba(var(--ink-rgb), .18); padding-inline: 18px; }
.front-root--tomasz .news-search__field:focus { border-color: var(--sec); box-shadow: 0 0 0 4px rgba(var(--sec-rgb), .14); outline: 0; }
.front-root--tomasz .news-search__submit { border-radius: var(--radius-sm); background: var(--sec-strong); color: #fff; font: 600 16px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; padding-inline: 26px; }
.front-root--tomasz .news-search__submit:hover { background: var(--pri); }

/* ---- Galerie: ten sam kafel - zdjecie, tytul na nim, data i liczba zdjec w rogach -------------------------------- */
.front-root--tomasz .gallery-tile.gallery-tile--cover {
  position: relative; display: grid; grid-template: 1fr / 1fr; overflow: hidden; isolation: isolate; aspect-ratio: 4 / 3; border-radius: var(--radius-md);
  background: var(--band-bg); box-shadow: var(--tomasz-shadow); text-decoration: none; transition: transform .6s var(--tomasz-ease), box-shadow .6s var(--tomasz-ease);
}
.front-root--tomasz .gallery-tile.gallery-tile--cover:hover { transform: translateY(-6px); box-shadow: var(--tomasz-shadow-hover); }
.front-root--tomasz .gallery-tile--cover > * { grid-area: 1 / 1; }
.front-root--tomasz .gallery-tile--cover .gallery-tile__img { z-index: -1; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--tomasz-ease); }
.front-root--tomasz .gallery-tile--cover:hover .gallery-tile__img { transform: scale(1.07); filter: none; }
.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__overlay {
  position: static; z-index: 1; align-self: end; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 20px 22px 20px; opacity: 1;
  background: linear-gradient(0deg, rgba(var(--band-rgb), .92) 0%, rgba(var(--band-rgb), .55) 34%, rgba(var(--band-rgb), 0) 66%);
}
.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__overlay::before { content: ""; display: block; width: 40px; height: 3px; margin-bottom: 12px; background: var(--sec); transition: width .6s var(--tomasz-ease); }
.front-root--tomasz .gallery-tile.gallery-tile--cover:hover .gallery-tile__overlay::before { width: 80px; }
.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__title { transform: none; font: 600 clamp(20px, 1.7vw, 24px)/1.05 var(--tomasz-cond); letter-spacing: .01em; text-transform: uppercase; color: #fff; text-shadow: none; }
.front-root--tomasz .gallery-tile--cover .gallery-tile__count {
  position: static; z-index: 2; align-self: start; justify-self: end; display: inline-flex; align-items: center; gap: 6px; margin: 16px 16px 0 0; padding: 6px 10px; border-radius: var(--radius-xs);
  background: rgba(var(--band-rgb), .66); color: #fff; font: 600 14px/1 var(--tomasz-cond); letter-spacing: .06em; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.front-root--tomasz.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date {
  position: static; z-index: 2; align-self: start; justify-self: start; display: flex; flex-direction: column; width: auto; min-width: 54px; margin: 16px 0 0 16px; padding: 7px 8px 6px;
  border-radius: var(--radius-xs); background: rgba(255, 255, 255, .95); color: var(--ink); box-shadow: 0 8px 18px rgba(0, 0, 0, .25); transform: none; text-align: center;
}
.front-root--tomasz.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date .news-date__month { order: -1; margin: 0 0 3px; padding: 0 0 3px; border-bottom: 2px solid var(--sec); background: none; font: 600 12px/1 var(--tomasz-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--sec-strong); }
.front-root--tomasz.front-root--tomasz .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date .news-date__day { padding: 0; font: 700 26px/1 var(--tomasz-cond); color: var(--ink); }
.front-root--tomasz .gallery-strip__nav { border: 2px solid var(--sec); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.front-root--tomasz .gallery-strip__nav:hover { background: var(--sec-strong); color: #fff; }
.front-root--tomasz .gallery-head__meta { font-family: var(--tomasz-cond); font-size: 17px; letter-spacing: .04em; text-transform: uppercase; }
.front-root--tomasz .photo-grid__btn { border-radius: var(--radius-sm); overflow: hidden; }
.front-root--tomasz .photo-grid__img { transition: transform 1s var(--tomasz-ease); }
.front-root--tomasz .photo-grid__btn:hover .photo-grid__img { transform: scale(1.06); }

/* ---- Pasy: ewangelia, ogloszenia, mysl dnia, elementy, duszpasterze, sakramenty ---------------------------------- */
.front-root--tomasz :is(.mateusz-gospel-home, .mateusz-ann-card) { border-radius: var(--radius-md); box-shadow: var(--tomasz-shadow); }
.front-root--tomasz .mateusz-gospel-home { background: #fff; padding: clamp(26px, 3vw, 40px); }
.front-root--tomasz :is(.front-ann-compact__heading, .mateusz-ann-card__heading) { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.front-root--tomasz :is(.front-main, .mateusz-widgets) .mateusz-duo > section.mateusz-ann-card { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(160deg, var(--ter), var(--pri)); }
.front-root--tomasz .mateusz-ann-card::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; z-index: -1; background: var(--tomasz-lines-light) right bottom / 1200px 90px no-repeat;
}
.front-root--tomasz .mateusz-ann-card__more { border-radius: var(--radius-sm); padding: 12px 24px; font: 600 15px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; }

.front-root--tomasz .front-quote-strip { position: relative; isolation: isolate; overflow: hidden; }
.front-root--tomasz .front-quote-strip::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; z-index: -1; opacity: .7; background: var(--tomasz-lines-light) right bottom / 1600px 120px no-repeat;
}
.front-root--tomasz .front-quote-strip__kicker { font: 600 15px/1 var(--tomasz-cond); letter-spacing: .16em; text-transform: uppercase; border-bottom-color: var(--sec); }
.front-root--tomasz .front-quote-strip__text { max-width: 32ch; margin-inline: auto; font: italic 500 clamp(24px, 2.6vw, 36px)/1.35 var(--font-sans); letter-spacing: -.005em; text-wrap: balance; }
.front-root--tomasz .front-quote-strip__author { font: 600 15px/1 var(--tomasz-cond); letter-spacing: .14em; text-transform: uppercase; }

.front-root--tomasz .mateusz-elements__title { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .015em; text-transform: uppercase; }
.front-root--tomasz .mateusz-elements__photo { border-radius: var(--radius-md); box-shadow: var(--tomasz-shadow); }
.front-root--tomasz .pastor-chip__photo { box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 0 0 6px rgba(var(--sec-rgb), 0); transition: box-shadow .45s var(--tomasz-ease), transform .45s var(--tomasz-ease); }
.front-root--tomasz .pastor-chip:hover .pastor-chip__photo { box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 0 0 6px var(--sec); transform: translateY(-4px); }
.front-root--tomasz .pastor-chip__name { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.front-root--tomasz .sacrament-tile { border-radius: var(--radius-md); overflow: hidden; }
.front-root--tomasz .sacrament-tile__caption { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

/* ---- Widzety i kolumna boczna: biale karty, naglowek na kolorze glownym waskimi wersalikami (jak dawny Tomasz) ---- */
.front-root--tomasz.tpl-sidebar--boxes .front-sidebar__box { overflow: hidden; border: 0; border-radius: var(--radius-md); background: #fff; box-shadow: var(--tomasz-shadow); }
.front-root--tomasz .front-sidebar__head { padding: 14px 20px; background: var(--pri); color: #fff; font: 600 19px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase; }
.front-root--tomasz .front-sidebar__row { border-bottom: 1px solid rgba(var(--ink-rgb), .07); transition: background-color .3s var(--tomasz-ease); }
.front-root--tomasz .front-sidebar__link { position: relative; font-weight: 500; transition: color .3s var(--tomasz-ease), padding-left .45s var(--tomasz-ease); }
.front-root--tomasz .front-sidebar__link::before { content: ""; position: absolute; left: 4px; top: 50%; width: 9px; height: 2px; background: var(--sec); opacity: 0; transform: translateX(-6px); transition: opacity .3s, transform .45s var(--tomasz-ease); }
.front-root--tomasz .front-sidebar__row:hover .front-sidebar__link { padding-left: 20px; color: var(--pri); }
.front-root--tomasz .front-sidebar__row:hover .front-sidebar__link::before { opacity: 1; transform: none; }
.front-root--tomasz .front-sidebar__row.is-active, .front-root--tomasz .front-sidebar__row:hover { background: rgba(var(--pri-rgb), .06); }
.front-root--tomasz .front-sidebar__row.is-active .front-sidebar__link { color: var(--pri); font-weight: 700; }
.front-root--tomasz .front-sidebar section.front-section:is(.front-gospel, .mateusz-quote) { margin: 0; overflow: hidden; border-radius: var(--radius-md); background: #fff; box-shadow: var(--tomasz-shadow); }
.front-root--tomasz .front-sidebar .section-head { margin: 0; padding: 14px 20px; background: var(--pri); }
.front-root--tomasz .front-sidebar .front-section .section-head .section-title { padding: 0; font-size: 19px; letter-spacing: .1em; color: #fff; }
.front-root--tomasz .front-sidebar .section-title::after { content: none; }
.front-root--tomasz .front-sidebar :is(.front-gospel, .mateusz-quote) > :not(.section-head) { padding-inline: 20px; }
.front-root--tomasz .front-sidebar :is(.front-gospel, .mateusz-quote) > :last-child { padding-bottom: 20px; }

.front-root--tomasz.tpl-widgets--bar :is(.mateusz-widgets, .mateusz-rss-columns) section.front-section:is(.mateusz-widget, .mateusz-rss, .mateusz-quote) { overflow: hidden; border-radius: var(--radius-md); background: #fff; box-shadow: var(--tomasz-shadow); }
.front-root--tomasz.tpl-widgets--bar :is(.mateusz-widgets, .mateusz-rss-columns) .section-head { margin: 0; padding: 14px 22px; background: var(--pri); }
.front-root--tomasz.tpl-widgets--bar :is(.mateusz-widgets, .mateusz-rss-columns) .section-title { padding: 0; font-size: 20px; letter-spacing: .1em; color: #fff; }
.front-root--tomasz :is(.mateusz-widgets, .mateusz-rss-columns) .section-title::after { content: none; }
.front-root--tomasz .mateusz-events__title { font-weight: 600; color: var(--ink); }
.front-root--tomasz .mateusz-events__item:hover .mateusz-events__title { color: var(--pri); }
.front-root--tomasz .mateusz-widget .news-date { border-radius: var(--radius-sm); background: var(--pri); color: #fff; }
.front-root--tomasz .mateusz-widget .news-date :is(.news-date__day, .news-date__month) { color: #fff; }

/* ---- Wydarzenia (events.css laduje sie po arkuszu szablonu, stad podwojna klasa) --------------------------------- */
.front-root.front-root--tomasz .ev-card { overflow: hidden; border: 0; border-radius: var(--radius-md); box-shadow: var(--tomasz-shadow); transition: transform .6s var(--tomasz-ease), box-shadow .6s var(--tomasz-ease); }
.front-root.front-root--tomasz .ev-card:hover { transform: translateY(-6px); box-shadow: var(--tomasz-shadow-hover); }
.front-root.front-root--tomasz .ev-card__cat { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .1em; color: var(--sec-strong); }
.front-root.front-root--tomasz :is(.ev-card__title, .ev-row__title, .ev-week__title, .ev-item__title) { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .01em; text-transform: uppercase; color: var(--ink); }
.front-root.front-root--tomasz :is(.ev-card__date, .ev-item__date) { border-radius: var(--radius-xs); background: var(--pri); }
.front-root.front-root--tomasz .ev-switch { border-radius: var(--radius-sm); }
.front-root.front-root--tomasz .ev-switch__btn { border-radius: var(--radius-xs); font-family: var(--tomasz-cond); font-size: 16px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.front-root.front-root--tomasz .ev-switch__btn[aria-current="page"] { background: var(--pri); color: #fff; }
.front-root.front-root--tomasz :is(.ev-nav__step, .ev-bar__today) { border-radius: var(--radius-sm); font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.front-root.front-root--tomasz :is(.ev-nav__title, .ev-month__title, .ev-group) { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.front-root.front-root--tomasz .ev-cal { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--tomasz-shadow); }
.front-root.front-root--tomasz .ev-cal th { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .12em; }
.front-root.front-root--tomasz .ev-cal__day.is-today .ev-cal__num { border-radius: var(--radius-xs); background: var(--sec-strong); color: #fff; }
.front-root.front-root--tomasz .ev-cal__event { border-radius: var(--radius-xs); background: rgba(var(--sec-rgb), .1); }

/* ---- Stare widoki (strony, duszpasterze, kontakt): pismo, kolory, formularze ------------------------------------- */
.front-root--tomasz .mateusz-stary :where(h1, h2, h3, h4, h5) { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .015em; text-transform: uppercase; color: var(--ink); }
.front-root--tomasz .mateusz-stary h2.title { position: relative; margin: 0 0 32px; padding: 0 0 16px; background: none; font-size: clamp(32px, 3.3vw, 46px); line-height: 1; }
.front-root--tomasz .mateusz-stary h2.title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; background: var(--sec); }
.front-root--tomasz .mateusz-stary.view h2.title.title, .front-root--tomasz #pastors_view h2.title { padding: 0 0 16px; background: none; }
.front-root--tomasz .mateusz-stary :is(h2:not(.title), h3) { margin-top: 1.3em; font-size: clamp(22px, 2.1vw, 30px); }
.front-root--tomasz .mateusz-stary a:not(.btn) { color: var(--pri); text-decoration: underline; text-decoration-color: rgba(var(--sec-rgb), .75); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.front-root--tomasz .mateusz-stary a:not(.btn):hover { color: var(--sec-strong); }
.front-root--tomasz .mateusz-stary blockquote { border-left-color: var(--sec); }
.front-root--tomasz .mateusz-stary .form-control { min-height: 50px; padding: 12px 16px; border: 1px solid rgba(var(--ink-rgb), .18); border-radius: var(--radius-sm); background: #fff; color: var(--ink); box-shadow: none; font: 500 16px/1.5 var(--font-sans); }
.front-root--tomasz .mateusz-stary .form-control:focus { border-color: var(--sec); box-shadow: 0 0 0 4px rgba(var(--sec-rgb), .14); outline: 0; }
.front-root--tomasz .mateusz-stary :is(.btn.submit, .btn.btn-default.submit) {
  min-height: 50px; border: 2px solid var(--sec-strong); border-radius: var(--radius-sm); background: var(--sec-strong); color: #fff; font: 600 17px/1 var(--tomasz-cond); letter-spacing: .1em; text-transform: uppercase;
  transition: background-color .35s var(--tomasz-ease), border-color .35s var(--tomasz-ease);
}
.front-root--tomasz .mateusz-stary :is(.btn.submit, .btn.btn-default.submit):hover { background: var(--pri); border-color: var(--pri); }
.front-root--tomasz form.gpg-contact button[type="submit"]:disabled { border-color: rgba(var(--ink-rgb), .16); background: transparent; color: var(--ink-3); opacity: 1; }
.front-root--tomasz .mateusz-stary ul.gpg-pastors img.gpg-cropping-circle { padding: 0; border: 0; background: none; box-shadow: 0 0 0 5px #fff, 0 0 0 7px rgba(var(--sec-rgb), .85), var(--tomasz-shadow); }
.front-root--tomasz .mateusz-stary div.content > :is(h1, h2, h3):first-child { margin-top: 0; }
.front-root--tomasz .front-main > .front-section.mateusz-stary { margin-top: 36px; }
/* podstrony i komponenty: tytul do lewej z kreska, tytul niedzieli w ogloszeniach bez kreski */
.front-root--tomasz .section-head > div > .section-title { text-align: left; }
.front-root--tomasz .ann-head .section-title { padding-bottom: 0; font-size: clamp(26px, 2.6vw, 36px); }
.front-root--tomasz .ann-head .section-title::after { content: none; }
.front-root--tomasz .front-breadcrumbs { font-family: var(--tomasz-cond); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }

/* ---- Stopka: nad krawedzia linie wznoszace sie w prawo (kolor stopki, w czesci przezroczyste) i jedna w kolorze cegly */
.front-root--tomasz .front-footer { position: relative; margin-top: 130px; background: var(--footer-bg); color: rgba(255, 255, 255, .74); --footer-ink: rgba(255, 255, 255, .74); }
.front-root--tomasz .front-footer::before,
.front-root--tomasz .front-footer::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: 120px; pointer-events: none; }
.front-root--tomasz .front-footer::before { background: var(--footer-bg); -webkit-mask: var(--tomasz-lines) right bottom / 1600px 120px no-repeat; mask: var(--tomasz-lines) right bottom / 1600px 120px no-repeat; }
.front-root--tomasz .front-footer::after { background: var(--sec); opacity: .85; -webkit-mask: var(--tomasz-lines-accent) right bottom / 1600px 120px no-repeat; mask: var(--tomasz-lines-accent) right bottom / 1600px 120px no-repeat; }
.front-root--tomasz .front-footer :is(.front-footer__label, .front-footer__name) { font-family: var(--tomasz-cond); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.front-root--tomasz .front-footer a { color: #fff; text-decoration-color: rgba(var(--sec-rgb), .85); }
.front-root--tomasz .front-footer a:hover { text-decoration-color: var(--sec); }
.front-root--tomasz .front-footer__bar { border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .55); }
.front-root--tomasz .front-footer .btn.btn--action-quiet { --tomasz-btn-ink: #fff; }

/* ---- Wejscie kart po kolei i kreska naglowka rysowana, gdy pas wchodzi w pole widzenia ---------------------------- */
@media (prefers-reduced-motion: no-preference) {
  html[data-motion-ready] .front-root--tomasz [data-motion-enter-list] > :not([data-motion-in]) :is(.news-grid > *, .gallery-strip > *, .front-pastors-row > *, .sacrament-grid > *, .mateusz-widgets__col, .mateusz-elements__item) { opacity: 0; }
  html[data-motion-ready] .front-root--tomasz [data-motion-enter-list] > [data-motion-in] :is(.news-grid > *, .gallery-strip > *, .front-pastors-row > *, .sacrament-grid > *, .mateusz-widgets__col) {
    animation: tomasz-rise .9s var(--tomasz-ease) both;
  }
  html[data-motion-ready] .front-root--tomasz [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(2) { animation-delay: .08s; }
  html[data-motion-ready] .front-root--tomasz [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(3) { animation-delay: .16s; }
  html[data-motion-ready] .front-root--tomasz [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(4) { animation-delay: .24s; }
  html[data-motion-ready] .front-root--tomasz [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(5) { animation-delay: .32s; }
  html[data-motion-ready] .front-root--tomasz [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(n + 6) { animation-delay: .4s; }
  html[data-motion-ready] .front-root--tomasz [data-motion-enter-list] > :not([data-motion-in]) > .section-head .section-title::after { transform: scaleX(0); }
  html[data-motion-ready] .front-root--tomasz [data-motion-enter-list] > [data-motion-in] > .section-head .section-title::after { animation: tomasz-draw .9s var(--tomasz-ease) .15s both; }
}

/* ---- Telefon i tablet ------------------------------------------------------------------------------------------ */
@media (max-width: 900px) {
  .tomasz-hero { --hero-h: clamp(540px, 84svh, 720px); }
  .tomasz-hero::before { background: linear-gradient(0deg, rgba(var(--band-rgb), .82) 0%, rgba(var(--band-rgb), .4) 46%, rgba(var(--band-rgb), .1) 72%, rgba(var(--band-rgb), .35) 100%); }
  .tomasz-hero__inner { flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 22px; padding: 100px 20px calc(var(--handle-h) + 26px); }
  .tomasz-caption__title { font-size: clamp(36px, 10.5vw, 54px); }
  .tomasz-caption__text { font-size: 16px; }
  .tomasz-caption__more { margin-top: 22px; }
  .tomasz-hero__nav { gap: 8px; }
  .tomasz-hero__count b { font-size: 30px; }
  .tomasz-hero__ticks { flex: 1; }
  .tomasz-hero__tick { flex: 1; width: auto; }
  .tomasz-round { width: 40px; height: 40px; }
  .tomasz-info { max-height: calc(100% - 70px); }
  .tomasz-info__grid { grid-template-columns: minmax(0, 1fr); padding: 22px 20px 28px; }
  .tomasz-info__block, .tomasz-info__block:first-child { padding: 18px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
  .tomasz-info__block:first-child { padding-top: 0; border-top: 0; }
  .front-root--tomasz .mateusz-logo img { height: 46px; }
  .front-root--tomasz :is(.front-header__name, a.front-header__name) { font-size: 22px; }
  .front-root--tomasz .front-header__subtitle { font-size: 13px; }
  .front-root--tomasz .news-featured__grid { min-height: 420px; }
  .front-root--tomasz .news-featured__media::after { background: linear-gradient(0deg, rgba(var(--band-rgb), .95) 0%, rgba(var(--band-rgb), .72) 46%, rgba(var(--band-rgb), .05) 100%); }
}
@media (max-width: 760px) {
  /* kafle: jedna kolumna, nizsze; zajawka zawsze widoczna (bez najechania na telefonie) */
  .front-root--tomasz :is(.news-grid, .news-rows--grid) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .front-root--tomasz :is(.news-grid .news-card, .news-rows--grid .news-row) { aspect-ratio: 4 / 3.4; }
  .front-root--tomasz.tpl-news-tiles--label :is(.news-grid .news-card__title, .news-rows--grid .news-row__title) { font-size: 24px; }
  .front-root--tomasz :is(.news-grid .news-card__body, .news-rows--grid .news-row__body) { padding: 0 20px 20px; }
  .front-root--tomasz.tpl-news-tiles--label .news-grid .news-stamps .news-stamps__category,
  .front-root--tomasz.tpl-news-tiles--label .news-rows--grid .news-row__cat { top: 14px; left: 14px; }
  .front-root--tomasz.tpl-news-date--tile :is(.news-grid, .news-featured) .news-stamps .news-date,
  .front-root--tomasz.tpl-news-date--tile .news-rows--grid .news-row > .news-date { top: 14px; right: 14px; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row { grid-template-columns: 96px minmax(0, 1fr); grid-template-areas: "media body"; column-gap: 14px; align-items: start; padding-block: 16px; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__media { grid-area: media; width: 100%; margin: 0; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row .news-row__thumb { width: 100%; height: auto; aspect-ratio: 1; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row:not(:has(.news-row__media))::before { grid-area: media; content: ""; display: block; aspect-ratio: 1; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__body { grid-area: body; display: flex; flex-direction: column; gap: 6px; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__title { font-size: 20px; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; }
  .front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date {
    grid-area: media; align-self: start; justify-self: start; z-index: 2; display: inline-flex; flex-direction: row; align-items: baseline; gap: 4px; width: auto; min-height: 0; margin: 6px 0 0 6px; padding: 4px 7px;
  }
  .front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__day { order: 0; font-size: 18px; }
  .front-root--tomasz.tpl-news-date--tile .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__month { font-size: 11px; }
  .front-root--tomasz .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__dow { display: none; }
  .front-root--tomasz .news-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; -webkit-mask: linear-gradient(90deg, #000 85%, transparent); mask: linear-gradient(90deg, #000 85%, transparent); }
  .front-root--tomasz .news-filter a.mm-chip { flex: none; scroll-snap-align: start; }
  .front-root--tomasz .news-archive-months { -webkit-mask: linear-gradient(90deg, #000 88%, transparent); mask: linear-gradient(90deg, #000 88%, transparent); }
  .front-root--tomasz .front-footer { margin-top: 90px; }
  .front-root--tomasz .front-footer::before, .front-root--tomasz .front-footer::after { height: 64px; -webkit-mask-size: 853px 64px; mask-size: 853px 64px; }
  .front-root--tomasz .front-footer__col:has(.mateusz-footer-galleries) { display: none; }
  .front-root--tomasz .mateusz-stary div.content :is(p, li, div, td) { text-align: left; }
  .front-root--tomasz .front-main > .front-section.mateusz-stary { margin-top: 20px; }
  .front-root--tomasz .mateusz-stary form.gpg-contact { border-left: 0; padding-left: 0; }
}
@media (hover: none) {
  .front-root--tomasz :is(.news-grid .news-card__excerpt, .news-rows--grid .news-row__excerpt) { max-height: 3.2em; margin-top: 8px; opacity: 1; -webkit-line-clamp: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .front-root--tomasz *, .front-root--tomasz *::before, .front-root--tomasz *::after { animation: none !important; transition: none !important; }
  .tomasz-hero__img { transform: none; }
}
