/* =====================================================================================================================
   Szablon Filip (rodzina Concordii): jasno, Quicksand, granat z czerwienia, fioletowe nakladki, odreczny dopisek.
   Tylko to, czego nie daja tokeny i warianty (template.php). Kolory wylacznie z palety: --pri (granat), --sec (czerwien),
   --ter (fiolet nakladek), --band, --footer-bg. Ruch: jedna mocna chwila w czolowce, dalej lagodne wejscia kart;
   wszystko stoi przy prefers-reduced-motion.
   ===================================================================================================================== */

.front-root--filip {
  --filip-ink: var(--ink);
  --filip-soft: #F6F5F3;
  --filip-shadow: 0 10px 30px rgba(var(--ink-rgb), .09), 0 2px 6px rgba(var(--ink-rgb), .05);
  --filip-shadow-hover: 0 22px 48px rgba(var(--ink-rgb), .16), 0 4px 10px rgba(var(--ink-rgb), .06);
  --filip-ease: cubic-bezier(.16, 1, .3, 1);
  /* kolory etykiet kategorii: czerwien z palety i cztery stale, z kontrastem dla bialego napisu */
  --filip-tone-0: color-mix(in srgb, var(--sec-strong) 88%, #000);
  --filip-tone-1: #12804B;
  --filip-tone-2: #0E6E98;
  --filip-tone-3: #B04A10;
  --filip-tone-4: #A3236B;
  --tpl-mm-accent: var(--sec-strong);
  --tpl-mm-accent-strong: var(--sec-strong);
  font-weight: 500;
  color: var(--ink);
  background: var(--bg);
  overflow-x: clip; /* dekoracje tla (paski, plamy) wychodza poza tresc */
}
.front-root--filip ::selection { background: var(--sec-strong); color: #fff; }
.front-root--filip :focus-visible { outline: 2px solid var(--sec); outline-offset: 3px; }
.front-root--filip a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
html:has(.front-root--filip) { scrollbar-color: rgba(var(--pri-rgb), .45) transparent; accent-color: var(--sec); }
.front-root--filip .front-main { font-size: 17px; line-height: 1.7; }

/* ---- Przyciski: obrys w kolorze akcentu, wersaliki, wypelnienie przy najechaniu ------------------------------------ */
.front-root--filip :is(.btn.btn--action-quiet, .btn.btn--action, .filip-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 34px; border: 2px solid var(--sec); border-radius: 999px;
  background: transparent; color: var(--filip-btn-ink, var(--ink));
  font: 700 12.5px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
  transition: background-color .35s var(--filip-ease), color .35s var(--filip-ease), transform .35s var(--filip-ease), box-shadow .35s var(--filip-ease);
}
.front-root--filip :is(.btn.btn--action-quiet, .btn.btn--action, .filip-btn):hover { background: var(--sec-strong); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(var(--sec-rgb), .32); }
.front-root--filip :is(.btn.btn--action-quiet, .btn.btn--action, .filip-btn):active { transform: translateY(0); }
.front-root--filip .btn.btn--action-sm { min-height: 44px; padding: 0 24px; }
.front-root--filip #aktualnosci .section-foot .btn { background: transparent; color: var(--ink); border-color: var(--sec); }
.front-root--filip #aktualnosci .section-foot .btn:hover { background: var(--sec-strong); color: #fff; }
/* ciemne pasy (styl z --section-bg): jasne napisy przyciskow i tytulow */
.front-root--filip .front-section[style*="--section-bg"] { --filip-btn-ink: #fff; }
.front-root--filip .front-section[style*="--section-bg"] :is(.section-title, .pastor-chip__name, .mateusz-elements__title) { color: var(--section-heading, #fff); }
.front-root--filip .btn__arrow { transition: transform .35s var(--filip-ease); }
.front-root--filip .btn:hover .btn__arrow { margin-left: 0; transform: translateX(4px); }
.front-root--filip .filip-btn.filip-btn--light { color: #fff; }

/* ---- Naglowek: biala belka, nazwa granatem, menu wersalikami z czerwona kreska ------------------------------------- */
.front-root--filip .front-header { background: rgba(255, 255, 255, .96); box-shadow: 0 1px 0 rgba(var(--ink-rgb), .06); backdrop-filter: saturate(1.4) blur(10px); }
.front-root--filip .front-header__name { font-family: var(--font-nazwa, var(--font-sans)); font-weight: 700; letter-spacing: -.02em; color: var(--pri); }
.front-root--filip .front-header__subtitle { font-weight: 500; color: var(--ink-3); }
.front-root--filip.tpl-menu--caps .front-topnav__link {
  position: relative; background: transparent; color: var(--ink); letter-spacing: .06em;
}
.front-root--filip.tpl-menu--caps .front-topnav__link::after {
  content: ""; position: absolute; left: 14%; right: 14%; bottom: 4px; height: 2px; border-radius: 2px; background: var(--sec);
  transform: scaleX(0); transition: transform .4s var(--filip-ease);
}
.front-root--filip.tpl-menu--caps :is(.front-topnav__link:hover, .front-topnav__link--active, .front-topnav__group:hover > .front-topnav__link) { background: transparent; color: var(--pri); }
.front-root--filip.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--filip .front-topnav__caret { color: var(--sec); }
.front-root--filip .front-topnav__submenu { border: 0; border-radius: var(--radius-md); box-shadow: var(--filip-shadow-hover); padding: 8px; }
.front-root--filip .front-topnav__sublink { border-radius: var(--radius-sm); font-weight: 600; }
.front-root--filip .front-topnav__sublink:hover { background: rgba(var(--ter-rgb), .1); color: var(--pri); }

/* ---- Czolowka -------------------------------------------------------------------------------------------------- */
.filip-hero {
  --hero-h: clamp(560px, 88svh, 900px);
  position: relative; isolation: isolate; overflow: hidden; height: var(--hero-h);
  display: grid; grid-template-rows: 1fr auto; background: var(--band-bg, var(--band));
}
.filip-hero__stage { position: absolute; inset: 0; z-index: -2; }
.filip-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s var(--filip-ease); }
.filip-hero__slide.is-active, .filip-hero__slide[data-first]:not([class*="is-"]) { opacity: 1; }
.filip-hero__img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); }
.filip-hero__slide.is-active .filip-hero__img { animation: filip-kenburns 11s linear both; }
.filip-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 46%, rgba(var(--band-rgb), .38), transparent 70%),
    linear-gradient(180deg, rgba(var(--band-rgb), .38) 0%, rgba(var(--band-rgb), .12) 38%, rgba(var(--band-rgb), .55) 100%);
}
.filip-hero__captions { display: grid; align-items: center; justify-items: center; padding: 48px 24px 32px; }
.filip-caption { grid-area: 1 / 1; max-width: 980px; text-align: center; color: #fff; }
.filip-caption__title {
  margin: 0; font: 700 clamp(44px, 6.6vw, 96px)/1 var(--font-sans); letter-spacing: -.035em; text-wrap: balance;
  text-shadow: 0 2px 30px rgba(var(--band-rgb), .35);
}
.filip-caption__title a { color: inherit; text-decoration: none; }
.caption-script {
  display: block; margin-top: .02em; font-family: var(--font-script); font-weight: 400; letter-spacing: 0;
  color: var(--sec); font-size: 1.12em; line-height: 1.12; transform: rotate(-3deg); text-shadow: 0 2px 18px rgba(0, 0, 0, .18);
}
.filip-caption__text { max-width: 46ch; margin: 22px auto 0; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .92); text-wrap: pretty; }
.filip-caption__more { margin-top: 30px; }

.filip-hero__bar { display: flex; align-items: stretch; min-height: 132px; }
.filip-hero__scroll {
  display: grid; place-items: center; flex: 0 0 72px; background: var(--filip-soft); color: var(--pri); text-decoration: none;
  font-size: 13px; font-weight: 700; letter-spacing: .08em;
}
.filip-hero__scroll span { writing-mode: vertical-rl; transform: rotate(180deg); }
.filip-hero__scroll:hover { color: var(--sec-strong); }
.filip-hero__tile { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 22px 34px; min-width: 0; }
.filip-hero__tile--prayer { flex: 0 1 360px; background: var(--ter); color: #fff; }
.filip-hero__tile--day { flex: 0 1 320px; background: var(--filip-soft); color: var(--pri); }
.filip-hero__tile--contact { flex: 0 1 300px; background: var(--filip-soft); color: var(--pri); box-shadow: inset 1px 0 rgba(var(--ink-rgb), .08); }
.filip-play { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; color: inherit; text-align: left; }
.filip-play__text { display: grid; gap: 6px; flex: 1; min-width: 0; }
.filip-play__icon {
  position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--ter);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22); transition: transform .4s var(--filip-ease);
}
.filip-play__icon svg { width: 24px; height: 24px; margin-left: 3px; fill: currentColor; }
.filip-play__icon::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .5); animation: filip-pulse 2.4s var(--filip-ease) infinite; }
.filip-play__icon:hover { transform: scale(1.08); }
.filip-play__progress { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.filip-play__bar { position: relative; flex: 1; height: 18px; cursor: pointer; }
.filip-play__bar::before, .filip-play__bar > span { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 4px; }
.filip-play__bar::before { background: rgba(255, 255, 255, .28); }
.filip-play__bar > span { background: #fff; transform-origin: left; transition: transform .25s linear; }
.filip-play__time { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; opacity: .9; white-space: nowrap; }
.filip-play__source { align-self: start; font-size: 12.5px; font-weight: 600; opacity: .75; }
.filip-hero__tile--prayer .filip-play__icon { border: 0; cursor: pointer; }
.filip-play__icon.is-loading::after { border-top-color: #fff; animation: filip-spin .9s linear infinite; }
.filip-hero__tile--prayer.is-on .filip-play__icon::after { animation: none; opacity: 0; }
@keyframes filip-spin { to { transform: rotate(360deg); } }
@keyframes filip-pulse { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(1.25); opacity: 0; } }
@media (max-width: 1360px) and (min-width: 901px) { .filip-hero__tile--contact { display: none; } }
.filip-hero__tile a { color: inherit; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.filip-hero__tile a:hover { text-decoration: underline; }
.filip-hero__label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .82; }
.filip-hero__big { font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.filip-hero__meta { font-size: 14px; opacity: .88; }
.filip-hero__times { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 2px 0; padding: 0; list-style: none; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.filip-hero__link { font-size: 14px; }
.filip-hero__nav { display: flex; align-items: center; gap: 14px; margin-left: auto; padding: 0 clamp(20px, 4vw, 64px); color: #fff; }
.filip-hero__count { white-space: nowrap; font-size: 15px; font-variant-numeric: tabular-nums; letter-spacing: .04em; opacity: .9; }
.filip-hero__count b { font-weight: 700; }
.filip-hero__line { position: relative; width: 120px; height: 2px; margin-right: 16px; background: rgba(255, 255, 255, .3); }
.filip-hero__line span { position: absolute; inset: 0; background: #fff; transform-origin: left; transition: transform .8s var(--filip-ease); }
.filip-round {
  display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 2px solid var(--sec); border-radius: 50%;
  background: transparent; color: #fff; cursor: pointer; transition: background-color .3s var(--filip-ease), transform .3s var(--filip-ease);
}
.filip-round svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.filip-round:hover { background: var(--sec-strong); transform: scale(1.06); }
.filip-round--quiet { width: 36px; height: 36px; border-color: rgba(255, 255, 255, .45); }
.filip-round--quiet svg { width: 16px; height: 16px; }
.filip-round--quiet:hover { background: rgba(255, 255, 255, .15); }
.filip-round--quiet path[d^="M9 6.5"] { fill: currentColor; stroke: none; }
.filip-hero--empty { --hero-h: auto; background: linear-gradient(135deg, var(--pri), var(--ter)); }
.filip-hero--empty .filip-hero__nav { display: none; }

/* wejscie czolowki: tytul wjezdza, dopisek maluje sie od lewej, opis i przycisk doganiaja */
.filip-caption.is-active .filip-caption__title { animation: filip-rise 1s var(--filip-ease) both; }
.filip-caption.is-active .caption-script { animation: filip-paint 1.15s cubic-bezier(.65, 0, .35, 1) .35s both; }
.filip-caption.is-active .filip-caption__text { animation: filip-rise 1s var(--filip-ease) .55s both; }
.filip-caption.is-active .filip-caption__more { animation: filip-rise 1s var(--filip-ease) .7s both; }
.filip-hero__bar > * { animation: filip-rise .9s var(--filip-ease) both; }
.filip-hero__bar > :nth-child(2) { animation-delay: .12s; }
.filip-hero__bar > :nth-child(3) { animation-delay: .22s; }
.filip-hero__bar > :nth-child(4) { animation-delay: .32s; }

@keyframes filip-kenburns { from { transform: scale(1.04); } to { transform: scale(1.14) translate3d(-1%, -1%, 0); } }
@keyframes filip-rise { from { opacity: 0; transform: translateY(26px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes filip-paint { from { clip-path: inset(-20% 100% -20% 0); } to { clip-path: inset(-20% -5% -20% 0); } }

/* ---- Naglowki sekcji: duze, granatowe, na srodku, pod spodem czerwone pociagniecie pedzla ------------------------- */
.front-root--filip .section-head { justify-content: center; text-align: center; margin-bottom: 34px; background: transparent; border: 0; padding: 0; }
.front-root--filip .section-title {
  position: relative; padding-bottom: 20px; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.1; font-weight: 700; letter-spacing: -.025em; color: var(--pri); text-wrap: balance;
}
.front-root--filip .section-title::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: 92px; height: 12px; translate: -50% 0; background: var(--sec);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 12'%3E%3Cpath d='M3 8.5C22 3.5 47 2.6 89 5.2c-20 .9-41 2.2-60 4.6' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%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 92 12'%3E%3Cpath d='M3 8.5C22 3.5 47 2.6 89 5.2c-20 .9-41 2.2-60 4.6' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.front-root--filip .section-foot { justify-content: center; margin-top: 40px; }
.front-root--filip .front-main .front-section { margin-block: clamp(56px, 7vw, 96px); }

/* ---- Aktualnosci: karty na tle ukosnych paskow i plam koloru ------------------------------------------------------ */
.front-root--filip #aktualnosci { position: relative; isolation: isolate; }
.front-root--filip #aktualnosci::before,
.front-root--filip #aktualnosci::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.front-root--filip #aktualnosci::before {
  inset: 22% -12% 4% 18%;
  background: repeating-linear-gradient(-48deg, rgba(var(--ter-rgb), .22) 0 2px, transparent 2px 15px);
  -webkit-mask: radial-gradient(ellipse 60% 55% at 60% 50%, #000 30%, transparent 72%);
          mask: radial-gradient(ellipse 60% 55% at 60% 50%, #000 30%, transparent 72%);
  animation: filip-drift 60s linear infinite;
}
.front-root--filip #aktualnosci::after {
  inset: 20% -14% 0 20%;
  background:
    radial-gradient(28% 36% at 74% 38%, rgba(var(--sec-rgb), .13), transparent 70%),
    radial-gradient(34% 40% at 52% 72%, rgba(var(--ter-rgb), .16), transparent 70%);
}
@keyframes filip-drift { to { background-position: 0 300px; } }

.front-root--filip .news-grid { gap: 34px 30px; }
.front-root--filip :is(.news-grid .news-card, .news-rows--grid .news-row) {
  position: relative; overflow: hidden; border: 0; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--filip-shadow);
  transition: transform .5s var(--filip-ease), box-shadow .5s var(--filip-ease);
}
.front-root--filip :is(.news-grid .news-card, .news-rows--grid .news-row):hover { transform: translateY(-8px); box-shadow: var(--filip-shadow-hover); }
.front-root--filip :is(.news-card__img, .news-row__img, .news-featured__img) { transition: transform 1.1s var(--filip-ease); }
.front-root--filip :is(.news-card, .news-row, .news-featured):hover :is(.news-card__img, .news-row__img, .news-featured__img) { transform: scale(1.06); }
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__body { padding: 20px 22px 24px; text-align: left; gap: 10px; }
.front-root--filip.tpl-news-tiles--label :is(.news-grid .news-card__title, .news-rows--grid .news-row__title) {
  font-family: var(--font-sans); font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; text-transform: none; color: var(--pri);
}
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__excerpt {
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-2);
}
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__more { display: none; }
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__subtitle { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--ink-2); }
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__subtitle + .news-card__excerpt { display: none; }
/* kafel bez zdjecia: pas w kolorach palety z ukosnymi paskami zamiast pergaminu Mateusza */
.front-root--filip.front-root--home .news-grid .news-card--textonly::before {
  border-radius: 3px;
  background:
    repeating-linear-gradient(-48deg, rgba(255, 255, 255, .13) 0 2px, transparent 2px 15px),
    radial-gradient(circle at 85% 20%, rgba(var(--sec-rgb), .55), transparent 55%),
    linear-gradient(135deg, var(--ter), var(--pri));
}
.front-root--filip.tpl-news-tiles--label :is(.news-grid .news-card, .news-rows--grid .news-row):hover :is(.news-card__title, .news-row__title) { color: var(--sec-strong); }

/* etykieta kategorii: kolor staly dla kategorii (data-tone = numer kategorii % 5) */
.front-root--filip :is(.cat-badge.news-stamps__category, .news-row__cat) {
  border: 0; border-radius: 3px; padding: 6px 11px; background: var(--filip-tone-0); color: #fff;
  font: 700 12px/1 var(--font-sans); letter-spacing: .02em; text-transform: none; box-shadow: 0 6px 14px rgba(0, 0, 0, .14);
}
.front-root--filip.tpl-news-tiles--label :is(.news-grid .news-stamps .news-stamps__category, .news-rows--grid .news-row__cat) {
  max-width: calc(100% - 32px); background: var(--filip-tone-0); text-transform: none; letter-spacing: .01em; line-height: 1.2;
}
.front-root--filip.front-root--filip :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="1"] { background: var(--filip-tone-1); }
.front-root--filip.front-root--filip :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="2"] { background: var(--filip-tone-2); }
.front-root--filip.front-root--filip :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="3"] { background: var(--filip-tone-3); }
.front-root--filip.front-root--filip :is(.cat-badge.news-stamps__category, .news-row__cat)[data-tone="4"] { background: var(--filip-tone-4); }
.front-root--filip.tpl-news-tiles--label .news-grid .news-stamps--over .news-stamps__category { left: 14px; bottom: 14px; }

/* ---- Jedna karta wpisu (glowna, archiwum w kaflach, galerie): zdjecie w waskiej bialej ramce, data jako kartka
   z kalendarza w prawym gornym rogu (przechylona, prostuje sie przy najechaniu), kategoria nachodzi na dolna krawedz
   zdjecia, w prawym dolnym rogu jedna informacja (wyswietlenia, liczba zdjec), tytul granatem, bez przyciskow ---- */
.front-root--filip { --filip-frame: 8px; }

/* kartka z kalendarza - wspolny wyglad */
.front-root--filip.tpl-news-date--pill :is(.news-grid .news-stamps .news-date, .news-featured .news-stamps .news-date, .news-rows .news-row > .news-date, .gallery-tile__date) {
  display: flex; flex-direction: column; align-items: stretch; width: 56px; margin: 0; padding: 0;
  overflow: hidden; border-radius: 6px; background: #fff; box-shadow: 0 8px 20px rgba(var(--ink-rgb), .22); backdrop-filter: none;
  transform: rotate(4deg); transition: transform .5s var(--filip-ease);
}
.front-root--filip.tpl-news-date--pill :is(.news-grid .news-stamps .news-date, .news-featured .news-stamps .news-date, .news-rows .news-row > .news-date, .gallery-tile__date) .news-date__month {
  order: -1; display: block; align-self: stretch; box-sizing: border-box; width: auto; margin: 3px 3px 0; padding: 4px 0 3px; border-radius: 3px; background: var(--sec-strong); color: #fff; font: 700 10.5px/1.2 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; text-align: center; white-space: nowrap;
}
.front-root--filip.tpl-news-date--pill :is(.news-grid .news-stamps .news-date, .news-featured .news-stamps .news-date, .news-rows .news-row > .news-date, .gallery-tile__date) .news-date__month::after { content: none; }
.front-root--filip.tpl-news-date--pill :is(.news-grid .news-stamps .news-date, .news-featured .news-stamps .news-date, .news-rows .news-row > .news-date, .gallery-tile__date) .news-date__day {
  margin: 0; padding: 5px 0 6px; font: 700 23px/1 var(--font-sans); letter-spacing: -.02em; color: var(--pri); text-align: center; font-variant-numeric: tabular-nums;
}
.front-root--filip :is(.news-card, .news-row, .news-featured, .gallery-tile):hover :is(.news-date, .gallery-tile__date) { transform: rotate(0) translateY(-2px); }

/* liczba wyswietlen / zdjec: szklana kapsula */
.front-root--filip :is(.news-stamps__views, .gallery-tile--cover .gallery-tile__count) {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px;
  background: rgba(var(--band-rgb), .62); color: #fff; font: 700 13px/1 var(--font-sans); font-variant-numeric: tabular-nums; backdrop-filter: blur(8px);
}
.front-root--filip .news-stamps__views svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }

/* glowna: kafel */
.front-root--filip .news-grid .news-card__media { margin: var(--filip-frame) var(--filip-frame) 0; overflow: visible; }
.front-root--filip.front-root--home .news-grid .news-card--textonly::before { margin: var(--filip-frame) var(--filip-frame) 0; }
.front-root--filip .news-grid .news-card__img { display: block; border-radius: 3px; }
.front-root--filip .news-grid .news-card:hover .news-card__img { transform: none; filter: saturate(1.12) brightness(1.04); }
.front-root--filip .news-grid .news-stamps { position: absolute; inset: 0; margin: 0; pointer-events: none; }
.front-root--filip .news-grid .news-card--textonly .news-stamps--inline { inset: var(--filip-frame) var(--filip-frame) auto; padding: 0; }
.front-root--filip.tpl-news-tiles--label .news-grid .news-stamps .news-stamps__category {
  position: absolute; left: 16px; right: auto; top: auto; bottom: -15px; z-index: 2; padding: 8px 15px; border-radius: 4px; font-size: 14px;
}
.front-root--filip.tpl-news-date--pill .news-grid .news-stamps .news-date { position: absolute; top: 12px; right: 12px; bottom: auto; }
/* regula Mateusza z :not() (specyficznosc 0,7,0) dodaje wciecia i rozmiar miesiaca tylko w kaflu glownej: ta sama sila, pozniej */
.front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card .news-stamps .news-date { padding: 0; }
.front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card .news-stamps .news-date .news-date__month { font-size: 10.5px; }
/* galerie: data jak na kafelku wydarzenia (fioletowa plakietka "10 PAZ" w lewym gornym rogu, events.css .ev-card__date) */
.front-root--filip.front-root--filip.tpl-news-date--pill .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date {
  justify-self: start; flex-direction: row; align-items: baseline; gap: 6px; width: auto; margin: 12px 0 0 12px; padding: 7px 12px; overflow: visible;
  border-radius: var(--radius-md); background: var(--stamp-bg, var(--ter)); color: var(--stamp-ink, #fff); box-shadow: 0 1px 4px rgba(0, 0, 0, .28); transform: none;
}
.front-root--filip.front-root--filip.tpl-news-date--pill .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date .news-date__day { padding: 0; font: 700 20px/1 var(--font-sans); letter-spacing: -.01em; color: inherit; }
.front-root--filip.front-root--filip.tpl-news-date--pill .gallery-tile.gallery-tile--cover .gallery-tile__date.news-date .news-date__month {
  order: 0; display: inline; align-self: auto; width: auto; margin: 0; padding: 0; border-radius: 0; background: none; color: inherit; font: 700 12px/1 var(--font-sans); letter-spacing: .08em;
}
.front-root--filip .news-grid .news-stamps__views { position: absolute; right: 12px; bottom: 12px; }
.front-root--filip.tpl-news-tiles--label .news-grid .news-card__body { padding: 34px 24px 26px; }

/* archiwum w kaflach: ten sam kafel (siatka: zdjecie, kategoria na krawedzi, tytul, zajawka) */
.front-root--filip .news-rows--grid .news-row { padding: var(--filip-frame) var(--filip-frame) 26px; row-gap: 0; grid-template-areas: "media" "title" "excerpt"; }
.front-root--filip .news-rows--grid .news-row__media { grid-area: media; margin: 0; border-radius: 3px; overflow: hidden; }
.front-root--filip .news-rows--grid .news-row__thumb { display: block; width: 100%; aspect-ratio: var(--mateusz-kadr); object-fit: cover; border-radius: 3px; transition: filter .6s var(--filip-ease); }
.front-root--filip .news-rows--grid .news-row:hover .news-row__thumb { transform: none; filter: saturate(1.12) brightness(1.04); }
.front-root--filip .news-rows--grid .news-row:not(:has(img))::before { grid-area: media; content: ""; aspect-ratio: var(--mateusz-kadr); }
.front-root--filip.tpl-news-date--pill .news-rows--grid .news-row > .news-date { grid-area: media; align-self: start; justify-self: end; z-index: 2; margin: 12px 12px 0 0; }
.front-root--filip .news-rows--grid .news-row > .news-stamps__views { grid-area: media; align-self: end; justify-self: end; z-index: 2; margin: 0 12px 12px 0; }
.front-root--filip.tpl-news-tiles--label .news-rows--grid .news-row__cat {
  grid-area: media; align-self: end; justify-self: start; z-index: 3; margin: 0 0 0 16px; transform: translateY(50%); padding: 8px 15px; border-radius: 4px; font-size: 14px;
}
.front-root--filip.tpl-news-tiles--label .news-rows--grid .news-row__title { grid-area: title; margin: 34px 19px 0; }
.front-root--filip .news-rows--grid .news-row__excerpt { grid-area: excerpt; margin: 10px 19px 0; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
.front-root--filip .news-rows--grid .news-row__more { display: none; }

/* archiwum jako lista: data jak w liscie wydarzen (fioletowy kwadrat: dzien, miesiac, dzien tygodnia), kategoria na szerokosc napisu */
.front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date {
  display: grid; align-content: center; justify-items: center; gap: 3px; width: 84px; min-height: 84px; padding: 8px 4px; overflow: visible;
  border-radius: var(--radius-md); background: var(--stamp-bg, var(--ter)); color: var(--stamp-ink, #fff); box-shadow: none; transform: none; line-height: 1; text-align: center;
}
.front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__day { order: 0; padding: 0; font: 700 32px/1 var(--font-sans); letter-spacing: -.02em; color: inherit; }
.front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__month { order: 0; margin: 0; padding: 0; border-radius: 0; background: none; color: inherit; font: 700 12px/1 var(--font-sans); letter-spacing: .08em; }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__dow { font-size: 12px; opacity: .85; }
.front-root--filip .news-rows--grid .news-date__dow { display: none; }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row { grid-template-columns: 84px 150px minmax(0, 1fr); column-gap: 22px; align-items: center; }
/* zdjecie wychodzi spod daty: data na wierzchu, zdjecie wyzsze od niej i podsuniete pod jej prawa czesc */
.front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date { position: relative; z-index: 2; box-shadow: 0 10px 24px rgba(var(--ink-rgb), .22); }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row__media { margin-left: -44px; }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row__thumb { aspect-ratio: 4 / 3; border-radius: var(--radius-md); }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row:not(:has(.news-row__media))::before { margin-left: -44px; border-radius: var(--radius-md);
  background: repeating-linear-gradient(-48deg, rgba(255, 255, 255, .13) 0 2px, transparent 2px 15px), linear-gradient(135deg, var(--ter), var(--pri)); }
/* telefon: zdjecie (kwadrat) z lewej, na nim plakietka z data jak na kafelku wydarzenia, obok kategoria, tytul i zajawka */
@media (max-width: 560px) {
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row { grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "media body"; column-gap: 14px; align-items: start; padding-block: 16px; }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row__media { grid-area: media; width: 100%; max-width: none; margin: 0; }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row .news-row__thumb { width: 100%; height: auto; aspect-ratio: 1; border-radius: var(--radius-md); }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row:not(:has(.news-row__media))::before { grid-area: media; content: ""; display: block; aspect-ratio: 1; margin: 0; }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row__body { grid-area: body; display: flex; flex-direction: column; gap: 6px; }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row__body .news-row__cat { order: 3; margin-top: 4px; } /* kategoria pod zajawka */
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row__title { font-size: 17px; line-height: 1.3; }
  .front-root--filip .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--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date {
    grid-area: media; align-self: start; justify-self: start; display: inline-flex; flex-direction: row; align-items: baseline; gap: 4px; width: auto; min-height: 0; margin: 0 0 0 6px; padding: 5px 8px;
    border-radius: var(--radius-sm); box-shadow: 0 4px 10px rgba(var(--ink-rgb), .3); transform: translateY(-33%); /* 1/3 plakietki wystaje nad zdjecie */
  }
  .front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__day { font-size: 17px; }
  .front-root--filip.tpl-news-date--pill .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__month { display: inline; align-self: auto; font-size: 10.5px; }
  .front-root--filip .news-rows:not(.news-rows--grid) .news-row > .news-date .news-date__dow { display: none; }
}

/* pasek miesiecy: kapsula, aktywny miesiac jako biala pigulka */
.front-root--filip .news-archive-months { gap: 2px; padding: 5px; border-radius: 999px; background: var(--pri); }
.front-root--filip .news-archive-months .news-archive-months__item { padding: 10px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; transition: background-color .3s var(--filip-ease), color .3s var(--filip-ease); }
.front-root--filip .news-archive-months a.news-archive-months__item:hover { background: rgba(255, 255, 255, .14); }
.front-root--filip .news-archive-months a.news-archive-months__item.is-active { background: #fff; color: var(--pri); box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }

/* kategorie: kapsulki z obrysem, aktywna wypelniona granatem */
.front-root--filip .news-filter { gap: 8px; }
.front-root--filip .news-filter a.mm-chip {
  min-height: 40px; padding: 0 16px; border: 1px solid rgba(var(--ink-rgb), .16); border-radius: 999px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 600;
  transition: background-color .3s var(--filip-ease), border-color .3s var(--filip-ease), color .3s var(--filip-ease);
}
.front-root--filip .news-filter a.mm-chip:hover { border-color: var(--pri); background: #fff; color: var(--pri); }
.front-root--filip .news-filter a.mm-chip.is-active { border-color: var(--pri); background: var(--pri); color: #fff; font-weight: 700; }
@media (max-width: 760px) {
  /* telefon: kategorie w jednym przewijanym rzedzie, z cieniowaniem prawej krawedzi */
  .front-root--filip .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--filip .news-filter a.mm-chip { scroll-snap-align: start; }
  .front-root--filip .news-archive-months { -webkit-mask: linear-gradient(90deg, #000 88%, transparent); mask: linear-gradient(90deg, #000 88%, transparent); }
}
.front-root--filip .news-rows:not(.news-rows--grid) .news-row__cat { justify-self: start; align-self: start; width: fit-content; }
.front-root--filip .news-rows:not(.news-rows--grid) .news-row > .news-stamps__views { display: none; }

/* slider: ta sama kartka (wieksza, na miare karty) i kategoria w lewym gornym rogu */
.front-root--filip .news-featured .news-stamps__views { display: none; }
.front-root--filip.tpl-news-date--pill .news-featured .news-stamps .news-date { position: absolute; top: 24px; right: 24px; width: 74px; }
.front-root--filip.tpl-news-date--pill .news-featured .news-stamps .news-date .news-date__month { padding: 6px 0 5px; font-size: 13px; }
.front-root--filip.tpl-news-date--pill .news-featured .news-stamps .news-date .news-date__day { padding: 7px 0 9px; font-size: 32px; }
.front-root--filip .news-featured .news-stamps--over .news-stamps__category {
  display: inline-block; position: absolute; left: clamp(28px, 4vw, 56px); top: 28px; right: auto; bottom: auto; z-index: 2; padding: 8px 15px; border-radius: 4px; font-size: 14px;
}

/* galerie: ten sam kafel, tytul pod zdjeciem (zamiast tylko po najechaniu), data i liczba zdjec na zdjeciu */
.front-root--filip .gallery-tile.gallery-tile--cover {
  display: grid; grid-template-rows: auto 1fr; padding: var(--filip-frame) var(--filip-frame) 0; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--filip-shadow);
  overflow: hidden; text-decoration: none; transition: transform .5s var(--filip-ease), box-shadow .5s var(--filip-ease);
}
.front-root--filip .gallery-tile.gallery-tile--cover:hover { transform: translateY(-6px); box-shadow: var(--filip-shadow-hover); }
.front-root--filip .gallery-tile--cover > * { grid-column: 1; }
.front-root--filip .gallery-tile--cover .gallery-tile__img { grid-row: 1; display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; }
.front-root--filip .gallery-tile--cover:hover .gallery-tile__img { transform: none; filter: saturate(1.12) brightness(1.04); }
.front-root--filip .gallery-tile--cover .gallery-tile__count { grid-row: 1; position: static; align-self: end; justify-self: end; margin: 0 12px 12px 0; }
.front-root--filip .gallery-tile--cover .gallery-tile__date { grid-row: 1; align-self: start; justify-self: end; z-index: 1; margin: 12px 12px 0 0; }
.front-root--filip .gallery-tile.gallery-tile--cover .gallery-tile__overlay { grid-row: 2; position: static; opacity: 1; padding: 16px 19px 20px; background: none; }
.front-root--filip .gallery-tile.gallery-tile--cover .gallery-tile__title { transform: none; font-family: var(--font-sans); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: var(--pri); text-shadow: none; }
.front-root--filip .gallery-tile.gallery-tile--cover:hover .gallery-tile__title { color: var(--sec-strong); }

.front-root--filip .filip-hero__tile--prayer .filip-hero__big { font-size: 20px; }

/* wyroznione: zdjecie na cala karte z fioletowa nakladka, tekst bialy z lewej */
.front-root--filip .news-featured { position: relative; overflow: hidden; border-radius: var(--radius-sm); background: var(--ter); box-shadow: var(--filip-shadow); }
.front-root--filip .news-featured__grid { display: grid; grid-template: 1fr / 1fr; min-height: clamp(380px, 38vw, 520px); }
.front-root--filip .news-featured__media { grid-area: 1 / 1; position: relative; height: 100%; margin: 0; border-radius: 0; }
.front-root--filip .news-featured__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
.front-root--filip .news-featured__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(var(--ter-rgb), .94) 0%, rgba(var(--ter-rgb), .82) 38%, rgba(var(--ter-rgb), .2) 72%, rgba(var(--ter-rgb), .08) 100%);
}
.front-root--filip .news-featured__body {
  grid-area: 1 / 1; z-index: 1; align-self: end; max-width: 620px; padding: clamp(28px, 4vw, 56px); background: transparent; color: #fff; gap: 14px;
}
.front-root--filip .news-featured__body :is(.news-featured__title, .news-featured__excerpt, .news-featured__more, .news-card__subtitle) { color: #fff; }
.front-root--filip .news-featured__title { font-family: var(--font-sans); font-size: clamp(26px, 2.8vw, 38px); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; text-transform: none; }
.front-root--filip .news-featured__excerpt { font-size: 16px; line-height: 1.65; opacity: .92; }
.front-root--filip .news-featured__more { align-self: flex-start; font-weight: 700; text-decoration: underline; text-decoration-color: var(--sec); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.front-root--filip .news-featured--textonly .news-featured__grid { min-height: 0; background: linear-gradient(120deg, var(--ter), var(--pri)); }
.front-root--filip .news-carousel__dot { background: rgba(var(--ter-rgb), .22); }
.front-root--filip .news-carousel__dot-fill { background: var(--sec); }

/* ---- Wejscie kart po kolei, gdy ich pas wchodzi w pole widzenia (motion.css ustawia data-motion-in) ---------------- */
@media (prefers-reduced-motion: no-preference) {
  html[data-motion-ready] .front-root--filip [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--filip [data-motion-enter-list] > [data-motion-in] :is(.news-grid > *, .gallery-strip > *, .front-pastors-row > *, .sacrament-grid > *, .mateusz-widgets__col) {
    animation: filip-rise .9s var(--filip-ease) both;
  }
  html[data-motion-ready] .front-root--filip [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--filip [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--filip [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--filip [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--filip [data-motion-in] :is(.news-grid, .gallery-strip, .front-pastors-row, .sacrament-grid, .mateusz-widgets__grid) > :nth-child(n + 6) { animation-delay: .4s; }
}

/* ---- Ewangelia i ogloszenia --------------------------------------------------------------------------------------- */
.front-root--filip :is(.mateusz-gospel-home, .mateusz-ann-card) { border-radius: var(--radius-sm); box-shadow: var(--filip-shadow); }
.front-root--filip .mateusz-gospel-home { background: #fff; padding: clamp(26px, 3vw, 40px); }
.front-root--filip .front-ann-compact__heading { font-family: var(--font-sans); font-weight: 700; color: var(--pri); }
.front-root--filip :is(.front-main, .mateusz-widgets) .mateusz-duo > section.mateusz-ann-card { background: linear-gradient(140deg, var(--ter), var(--pri)); position: relative; isolation: isolate; }
.front-root--filip .mateusz-ann-card::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
  background: repeating-linear-gradient(-48deg, rgba(255, 255, 255, .14) 0 2px, transparent 2px 15px);
  -webkit-mask: radial-gradient(ellipse 70% 70% at 85% 15%, #000, transparent 70%); mask: radial-gradient(ellipse 70% 70% at 85% 15%, #000, transparent 70%);
}
.front-root--filip .mateusz-ann-card__heading { font-family: var(--font-sans); font-weight: 700; }
.front-root--filip .mateusz-ann-card__more { border-radius: 999px; padding: 12px 26px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

/* ---- Pas mysli dnia: duzy cytat, napis i autor odrecznie ----------------------------------------------------------- */
.front-root--filip .front-quote-strip { position: relative; isolation: isolate; overflow: hidden; background: var(--filip-soft); }
.front-root--filip .front-quote-strip::before {
  content: ""; position: absolute; inset: -10% -5%; z-index: -1;
  background: repeating-linear-gradient(-48deg, rgba(var(--ter-rgb), .16) 0 2px, transparent 2px 15px);
  -webkit-mask: radial-gradient(ellipse 40% 70% at 12% 50%, #000, transparent 70%), radial-gradient(ellipse 35% 60% at 92% 60%, #000, transparent 70%);
          mask: radial-gradient(ellipse 40% 70% at 12% 50%, #000, transparent 70%), radial-gradient(ellipse 35% 60% at 92% 60%, #000, transparent 70%);
}
.front-root--filip.tpl-quote-band--light .front-quote-strip__kicker {
  display: inline-block; padding: 0; border: 0; font: 400 clamp(30px, 3vw, 42px)/1 var(--font-script); letter-spacing: 0; text-transform: none; color: var(--sec); transform: rotate(-3deg);
}
.front-root--filip .front-quote-strip__text { max-width: 30ch; margin-inline: auto; font-family: var(--font-sans); font-size: clamp(24px, 2.7vw, 38px); font-weight: 600; line-height: 1.35; letter-spacing: -.015em; color: var(--pri); text-wrap: balance; }
.front-root--filip.tpl-quote-band--light .front-quote-strip__author { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; color: var(--ink-3); }

/* ---- Pasy: elementy, duszpasterze, galerie, sakramenty -------------------------------------------------------------- */
.front-root--filip .mateusz-elements__title { font-family: var(--font-sans); font-weight: 700; color: var(--pri); letter-spacing: -.02em; }
.front-root--filip .mateusz-elements__photo { border-radius: var(--radius-sm); box-shadow: var(--filip-shadow); }

.front-root--filip .pastor-chip__photo { box-shadow: 0 0 0 4px #fff, 0 0 0 6px rgba(var(--sec-rgb), 0); transition: box-shadow .45s var(--filip-ease), transform .45s var(--filip-ease); }
.front-root--filip .pastor-chip:hover .pastor-chip__photo { box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--sec); transform: translateY(-4px); }
.front-root--filip .pastor-chip__name { font-family: var(--font-sans); font-weight: 700; color: var(--pri); }

.front-root--filip .gallery-strip__nav { border: 2px solid var(--sec); background: #fff; color: var(--ink); }
.front-root--filip .gallery-strip__nav:hover { background: var(--sec-strong); color: #fff; }

.front-root--filip .sacrament-tile { border-radius: var(--radius-sm); overflow: hidden; }
.front-root--filip .sacrament-tile__caption { font-family: var(--font-sans); font-weight: 700; }

/* ---- Widzety i kolumna boczna: biale karty z cieniem ------------------------------------------------------------- */
.front-root--filip.tpl-widgets--soft :is(.mateusz-widgets, .mateusz-rss-columns) section.front-section:is(.mateusz-widget, .mateusz-rss, .mateusz-quote) {
  border-radius: var(--radius-sm); background: #fff; box-shadow: var(--filip-shadow); padding: 28px 28px 30px;
}
.front-root--filip.tpl-widgets--soft :is(.mateusz-widgets, .mateusz-rss-columns) .section-head { justify-content: flex-start; text-align: left; margin-bottom: 18px; }
.front-root--filip.tpl-widgets--soft :is(.mateusz-widgets, .mateusz-rss-columns) .section-title { font-size: 22px; padding-bottom: 14px; color: var(--pri); }
.front-root--filip :is(.mateusz-widgets, .mateusz-rss-columns, .front-sidebar) .section-title::after { left: 0; translate: none; width: 58px; height: 9px; }
.front-root--filip .mateusz-events__title { font-weight: 700; color: var(--pri); }
.front-root--filip .mateusz-events__item:hover .mateusz-events__title { color: var(--sec-strong); }
.front-root--filip .mateusz-widget .news-date { background: var(--ter); color: #fff; border-radius: var(--radius-sm); }
.front-root--filip .mateusz-widget .news-date :is(.news-date__day, .news-date__month) { color: #fff; }

.front-root--filip.tpl-sidebar--soft .front-sidebar__box { border-radius: var(--radius-sm); background: #fff; box-shadow: var(--filip-shadow); padding: 22px; }
.front-root--filip .front-sidebar__head { font-family: var(--font-sans); font-weight: 700; color: var(--pri); }
.front-root--filip .front-sidebar section.front-section:is(.front-gospel, .mateusz-quote) { margin: 0; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--filip-shadow); padding: 24px 22px; }
.front-root--filip .front-sidebar .section-head { justify-content: flex-start; text-align: left; margin-bottom: 14px; }
.front-root--filip .front-sidebar .front-section .section-head .section-title { font-family: var(--font-sans); font-size: 22px; font-weight: 700; letter-spacing: -.015em; padding-bottom: 14px; color: var(--pri); }
.front-root--filip .front-sidebar__link { position: relative; transition: color .3s var(--filip-ease), padding-left .4s var(--filip-ease); }
.front-root--filip .front-sidebar__row:hover .front-sidebar__link { color: var(--pri); padding-left: 18px; }
.front-root--filip .front-sidebar__link::before { content: ""; position: absolute; left: 6px; top: 50%; width: 8px; height: 2px; border-radius: 2px; background: var(--sec); opacity: 0; transform: translateX(-6px); transition: opacity .3s, transform .4s var(--filip-ease); }
.front-root--filip .front-sidebar__row:hover .front-sidebar__link::before { opacity: 1; transform: none; }
.front-root--filip .front-sidebar__row.is-active, .front-root--filip .front-sidebar__row:hover { background: rgba(var(--ter-rgb), .1); }
.front-root--filip .front-sidebar__row.is-active .front-sidebar__link { color: var(--pri); font-weight: 700; }

/* ---- Stopka: grafit, jasne naglowki, odnosniki z czerwonym podkresleniem ------------------------------------------ */
.front-root--filip .front-footer { --footer-ink: rgba(255, 255, 255, .72); background: var(--footer-bg); color: rgba(255, 255, 255, .72); }
.front-root--filip .front-footer :is(.front-footer__label, .front-footer__name) { font-family: var(--font-sans); font-weight: 700; color: #fff; letter-spacing: -.01em; }
.front-root--filip .front-footer a { color: #fff; text-decoration-color: rgba(var(--sec-rgb), .8); }
.front-root--filip .front-footer a:hover { color: #fff; text-decoration-color: var(--sec); }
.front-root--filip .front-footer__bar { border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .55); }
.front-root--filip .front-footer .btn.btn--action-quiet { color: #fff; }

/* ---- Telefon ------------------------------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .filip-hero { height: auto; min-height: 0; grid-template-rows: auto auto; }
  .filip-hero__captions { min-height: clamp(460px, 76svh, 640px); padding: 40px 20px 72px; }
  .filip-hero__stage { bottom: auto; height: clamp(460px, 76svh, 640px); }
  .filip-hero::before { bottom: auto; height: clamp(460px, 76svh, 640px); }
  .filip-hero__bar { flex-wrap: wrap; background: var(--filip-soft); }
  .filip-hero__scroll { display: none; }
  .filip-hero__tile { flex: 1 1 100%; padding: 22px 20px; }
  .filip-hero__tile--prayer { padding-right: 30px; }
  .filip-hero__nav { position: absolute; top: calc(clamp(460px, 76svh, 640px) - 64px); right: 0; left: 0; justify-content: center; padding: 0 20px; }
  .filip-hero__line { width: 70px; }
  .filip-caption__title { font-size: clamp(38px, 11vw, 56px); }
  .front-root--filip .news-featured__media::after { background: linear-gradient(0deg, rgba(var(--ter-rgb), .95) 0%, rgba(var(--ter-rgb), .78) 48%, rgba(var(--ter-rgb), .1) 100%); }
  .front-root--filip .news-featured__grid { min-height: 460px; }
}

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

/* =====================================================================================================================
   Podstrony i komponenty centralne
   ===================================================================================================================== */

/* tytuly wyrownane do lewej (podstrony, ogloszenia, galerie): kreska pedzla od lewej, pelna waga */
.front-root--filip .front-main .section-title { font-weight: 700; }
.front-root--filip :is(h1, h2).section-title:not(.section-head .section-title)::after { left: 0; translate: none; }
.front-root--filip .front-main > [data-motion-enter-list] > .front-section:first-child { margin-top: 28px; }

/* archiwum aktualnosci: karty jak na glownej */
.front-root--filip .news-rows--grid .news-row:not(:has(img))::before {
  background:
    repeating-linear-gradient(-48deg, rgba(255, 255, 255, .13) 0 2px, transparent 2px 15px),
    radial-gradient(circle at 85% 20%, rgba(var(--sec-rgb), .55), transparent 55%),
    linear-gradient(135deg, var(--ter), var(--pri));
  border-radius: 3px;
}
.front-root--filip .news-row__more { align-self: start; padding: 10px 20px; border: 2px solid var(--sec); border-radius: 999px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.front-root--filip .news-row:hover .news-row__more { background: var(--sec-strong); color: #fff; }
.front-root--filip .news-search__field { border-radius: 999px; border-color: rgba(var(--ink-rgb), .16); padding-inline: 22px; }
.front-root--filip .news-search__field:focus { border-color: var(--sec); box-shadow: 0 0 0 4px rgba(var(--sec-rgb), .14); outline: 0; }
.front-root--filip .news-search__submit { border-radius: 999px; background: var(--sec-strong); color: #fff; font-weight: 700; padding-inline: 28px; }
.front-root--filip .news-search__submit:hover { background: var(--pri); }

/* wydarzenia (events.css laduje sie po arkuszu szablonu, stad podwojna klasa) */
.front-root.front-root--filip .ev-card { border: 0; border-radius: var(--radius-sm); box-shadow: var(--filip-shadow); transition: transform .5s var(--filip-ease), box-shadow .5s var(--filip-ease); }
.front-root.front-root--filip .ev-card:hover { transform: translateY(-6px); box-shadow: var(--filip-shadow-hover); }
.front-root.front-root--filip .ev-card__cat { color: var(--sec-strong); }
.front-root.front-root--filip :is(.ev-card__title, .ev-row__title, .ev-week__title) { font-weight: 700; color: var(--pri); }

/* stare widoki (strony, duszpasterze, kontakt): pismo, kolory i formularze Filipa */
.front-root--filip .mateusz-stary { padding-top: 8px; }
.front-root--filip .mateusz-stary :where(h1, h2, h3, h4, h5) { font-family: var(--font-sans); font-weight: 700; letter-spacing: -.02em; color: var(--pri); }
.front-root--filip .mateusz-stary h2.title {
  position: relative; margin: 0 0 34px; padding: 0 0 20px; background: none; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1;
}
.front-root--filip .mateusz-stary h2.title::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 92px; height: 12px; background: var(--sec);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 12'%3E%3Cpath d='M3 8.5C22 3.5 47 2.6 89 5.2c-20 .9-41 2.2-60 4.6' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%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 92 12'%3E%3Cpath d='M3 8.5C22 3.5 47 2.6 89 5.2c-20 .9-41 2.2-60 4.6' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.front-root--filip .mateusz-stary :is(h2:not(.title), h3) { margin-top: 1.4em; font-size: clamp(22px, 2.2vw, 30px); }
.front-root--filip .mateusz-stary a:not(.btn) { color: var(--pri); text-decoration: underline; text-decoration-color: rgba(var(--sec-rgb), .7); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.front-root--filip .mateusz-stary a:not(.btn):hover { color: var(--sec-strong); }
.front-root--filip .mateusz-stary blockquote { border-left-color: var(--sec); }
.front-root--filip .mateusz-stary .gpg-pastors > li { border-color: rgba(var(--ink-rgb), .08); }
.front-root--filip .mateusz-stary .form-control {
  min-height: 50px; padding: 12px 16px; border: 1px solid rgba(var(--ink-rgb), .16); border-radius: var(--radius-sm); background: #fff; color: var(--ink); box-shadow: none; font: 500 16px/1.5 var(--font-sans);
}
.front-root--filip .mateusz-stary .form-control:focus { border-color: var(--sec); box-shadow: 0 0 0 4px rgba(var(--sec-rgb), .14); outline: 0; }
.front-root--filip .mateusz-stary .btn.submit {
  min-height: 52px; border: 2px solid var(--sec); border-radius: 999px; background: var(--sec-strong); color: #fff; font: 700 13px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase;
  transition: background-color .35s var(--filip-ease), transform .35s var(--filip-ease);
}
.front-root--filip .mateusz-stary .btn.submit:hover { background: var(--pri); border-color: var(--pri); transform: translateY(-2px); }
.front-root--filip .section-head > div > .section-title::after { left: 0; translate: none; }
.front-root--filip .mateusz-stary.view h2.title { background: none; }
.front-root--filip .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(--filip-shadow); transition: transform .5s var(--filip-ease); }
.front-root--filip .mateusz-stary ul.gpg-pastors img.gpg-cropping-circle:hover { background: none; transform: scale(1.03) rotate(-1deg); }
.front-root--filip .news-view__btn[aria-pressed="true"] { border-color: var(--sec-strong); background: var(--sec-strong); color: #fff; }
/* lata nad paskiem miesiecy: kreska aktywnego roku z odstepem od paska */
.front-root--filip .news-archive-years { margin-bottom: 14px; border-bottom: 0; }
.front-root--filip .news-archive-years__item.is-active { border-bottom-color: var(--sec); }

/* =====================================================================================================================
   Telefon (do 560 px): aktualnosci na glownej jako zwarte wiersze jak w archiwum, krotsza stopka, stare widoki
   ===================================================================================================================== */
@media (max-width: 560px) {
  /* wiersz: kwadratowe zdjecie z lewej (data wystaje 1/3 nad nie), tytul i zajawka, kategoria pod tekstem */
  .front-root--filip .news-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .front-root--filip .news-grid .news-card {
    display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "photo body" "photo cat" "photo ."; grid-template-rows: auto auto 1fr;
    column-gap: 14px; row-gap: 8px; align-items: start; padding: 18px 0; border-bottom: 1px solid rgba(var(--ink-rgb), .1); border-radius: 0; background: none; box-shadow: none; overflow: visible;
  }
  .front-root--filip .news-grid .news-card:hover { transform: none; box-shadow: none; }
  .front-root--filip .news-grid .news-card .news-card__media,
  .front-root--filip .news-grid .news-card .news-stamps--over { display: contents; }
  .front-root--filip .news-grid .news-card .news-card__img { grid-area: photo; width: 104px; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-md); }
  .front-root--filip .news-grid .news-card .news-card__media > :not(img):not(.news-stamps) { display: none; }
  .front-root--filip .news-grid .news-card .news-stamps__views { display: none; }
  .front-root--filip.front-root--home .news-grid .news-card--textonly::before { grid-area: photo; width: 104px; margin: 0; aspect-ratio: 1; border-radius: var(--radius-md); }
  .front-root--filip.tpl-news-tiles--label .news-grid .news-card .news-card__body { grid-area: body; display: flex; flex-direction: column; gap: 6px; padding: 0; }
  .front-root--filip.tpl-news-tiles--label .news-grid .news-card .news-card__title { font-size: 17px; line-height: 1.3; }
  .front-root--filip.tpl-news-tiles--label .news-grid .news-card :is(.news-card__subtitle, .news-card__excerpt) {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--ink-3);
  }
  .front-root--filip.tpl-news-tiles--label .news-grid .news-card .news-card__subtitle + .news-card__excerpt { display: none; }
  /* kategoria pod tekstem */
  .front-root--filip.front-root--filip.tpl-news-tiles--label .news-grid .news-card .news-stamps .news-stamps__category {
    grid-area: cat; position: static; justify-self: start; align-self: start; order: 9; padding: 5px 10px; font-size: 12px; transform: none; box-shadow: none;
  }
  /* bez zdjecia: znaczniki sa w tresci karty */
  .front-root--filip .news-grid .news-card--textonly .news-stamps--inline { display: contents; }
  /* data: fioletowa plakietka jak na kafelku wydarzenia, 1/3 nad zdjeciem */
  .front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card .news-stamps .news-date {
    grid-area: photo; position: static; align-self: start; justify-self: start; z-index: 2; display: inline-flex; flex-direction: row; align-items: baseline; gap: 4px;
    width: auto; margin: 0 0 0 6px; padding: 5px 8px; overflow: visible; border-radius: var(--radius-sm); background: var(--stamp-bg, var(--ter)); color: var(--stamp-ink, #fff);
    box-shadow: 0 4px 10px rgba(var(--ink-rgb), .3); transform: translateY(-33%);
  }
  .front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card--textonly .news-stamps .news-date { grid-area: auto; position: absolute; top: 9px; left: 0; transform: none; }
  .front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card .news-stamps .news-date .news-date__day { padding: 0; font-size: 17px; color: inherit; }
  .front-root--filip.front-root--filip.tpl-news-date--pill .news-grid .news-card .news-stamps .news-date .news-date__month {
    order: 0; display: inline; align-self: auto; width: auto; margin: 0; padding: 0; border-radius: 0; background: none; color: inherit; font-size: 10.5px; letter-spacing: .08em;
  }
  .front-root--filip .news-grid .news-card { position: relative; }

  /* stopka: bez kolumny z miniaturami galerii (sa w pasie galerii i w menu) */
  .front-root--filip .front-footer__col:has(.mateusz-footer-galleries) { display: none; }

  /* stare widoki: bez pustego miejsca nad tytulem, tekst do lewej (wyjustowany w waskiej kolumnie robi dziury) */
  .front-root--filip .mateusz-stary { margin-top: 0; padding-top: 0; }
  .front-root--filip .mateusz-stary > :first-child, .front-root--filip .mateusz-stary > :first-child > :first-child { margin-top: 0; }
  .front-root--filip .mateusz-stary div.content :is(p, li, div, td) { text-align: left; }
  .front-root--filip .mateusz-stary ul.gpg-pastors img.gpg-cropping-circle { max-width: 180px; }
}
.front-root--filip .mateusz-stary.view h2.title.title { background: none; }
.front-root--filip .mateusz-stary .btn.btn-default.submit { border: 2px solid var(--sec-strong); border-radius: 999px; background: var(--sec-strong); color: #fff; font: 700 13px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; min-height: 52px; }
.front-root--filip .mateusz-stary .btn.btn-default.submit:hover { background: var(--pri); border-color: var(--pri); }

/* stare widoki: arkusze modulow maja reguly z identyfikatorem (#pastors_view) i stan wylaczony przycisku formularza */
.front-root--filip #pastors_view h2.title { padding: 0 0 20px; background: none; }
.front-root--filip .mateusz-stary div.content > :is(h1, h2, h3):first-child { margin-top: 0; }
.front-root--filip form.gpg-contact button[type="submit"]:disabled { border: 2px solid rgba(var(--ink-rgb), .16); background: transparent; color: var(--ink-3); opacity: 1; }
/* stary widok to jedna sekcja: bez duzego odstepu sekcji nad tytulem */
.front-root--filip .front-main > .front-section.mateusz-stary { margin-top: 28px; }
@media (max-width: 560px) {
  .front-root--filip .front-main > .front-section.mateusz-stary { margin-top: 18px; }
  .front-root--filip .mateusz-stary .gpg-pastors :is(p, blockquote, div) { text-align: left; }
  .front-root--filip .mateusz-stary form.gpg-contact { border-left: 0; padding-left: 0; } /* separator kolumn tylko na komputerze */
}
