/* =========================================================================
   Szablon PIOTR (application/core/templates/piotr/template.php): nocny granat z rozem i fioletem. W tle dwie warstwy
   miekkich gradientow (akcent --accent, drugi kolor --ter, kolor dnia --lit) plynacych powoli (tylko transform, stoja
   przy prefers-reduced-motion). Duza typografia Bricolage Grotesque, zaokraglone formy, przyciski jako pigulki akcentu
   z ciemnym napisem. Kolory wylacznie z tokenow palety: --bg, --surface, --ink, --ink-3, --border, --accent, --ter.
   ========================================================================= */

/* ---- Kolor glowny jako napis = akcent (zmienne pochodne licza sie na :root, wiec nadpisanie tutaj) ------------------ */
html:root:has(.front-root--piotr) { --section-bg: transparent; --pri: var(--accent); --pri-strong: var(--accent); --stamp-bg: var(--accent); --stamp-ink: var(--accent-ink); --feature-bg: var(--surface); background: var(--bg); color-scheme: dark; scrollbar-color: rgba(var(--ink-rgb), .3) var(--bg); }

/* ---- Kolor liturgiczny dnia (znak dnia: kropka szat, mala kula w czolowce) --------------------------------------- */
.front-root--piotr { --lit: var(--accent); --lit-rgb: var(--accent-rgb); --display: 'Bricolage Grotesque', 'Segoe UI', sans-serif; --piotr-ease: cubic-bezier(.16, 1, .3, 1); --hair: rgba(var(--ink-rgb), .12); --glass: rgba(var(--ink-rgb), .045); }
.front-root--piotr[data-lit="green"] { --lit: #5FD39A; --lit-rgb: 95, 211, 154; }
.front-root--piotr[data-lit="purple"] { --lit: #B08CFF; --lit-rgb: 176, 140, 255; }
.front-root--piotr[data-lit="white"] { --lit: #F3E7CB; --lit-rgb: 243, 231, 203; }
.front-root--piotr[data-lit="red"] { --lit: #FF6B5E; --lit-rgb: 255, 107, 94; }
.front-root--piotr[data-lit="rose"] { --lit: #FFA3CB; --lit-rgb: 255, 163, 203; }

/* ---- Grunt i plynace gradienty w tle ------------------------------------------------------------------------- */
html:not([data-tlo]) body:has(.front-root--piotr) { background: var(--bg); }
.front-root--piotr { position: relative; isolation: isolate; background: transparent; color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 1.6; }
.front-root--piotr::before, .front-root--piotr::after { content: ''; position: fixed; inset: -25vmax; z-index: -1; pointer-events: none; }
.front-root--piotr::before {
  background:
    radial-gradient(32vmax 28vmax at 22% 18%, rgba(var(--accent-rgb), .30), transparent 70%),
    radial-gradient(38vmax 30vmax at 82% 30%, rgba(var(--ter-rgb), .32), transparent 72%),
    radial-gradient(30vmax 26vmax at 55% 88%, rgba(var(--accent-rgb), .18), transparent 70%);
}
.front-root--piotr::after {
  background:
    radial-gradient(26vmax 22vmax at 70% 70%, rgba(var(--ter-rgb), .22), transparent 70%),
    radial-gradient(22vmax 20vmax at 30% 60%, rgba(var(--lit-rgb), .10), transparent 70%);
}
@media (prefers-reduced-motion: no-preference) {
  .front-root--piotr::before { animation: piotr-aurora-a 46s ease-in-out infinite alternate; }
  .front-root--piotr::after { animation: piotr-aurora-b 62s ease-in-out infinite alternate; }
}
@keyframes piotr-aurora-a { 0% { transform: translate3d(0, 0, 0) rotate(0deg); } 50% { transform: translate3d(6vmax, 4vmax, 0) rotate(8deg); } 100% { transform: translate3d(-5vmax, 7vmax, 0) rotate(-6deg); } }
@keyframes piotr-aurora-b { 0% { transform: translate3d(0, 0, 0) scale(1); } 100% { transform: translate3d(-8vmax, -5vmax, 0) scale(1.12); } }

/* ---- Powierzchnie przegladarki --------------------------------------------------------------------------------- */
.front-root--piotr ::selection { background: var(--accent); color: var(--accent-ink); }
.front-root--piotr :is(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
.front-root--piotr a { color: var(--accent); text-underline-offset: .2em; text-decoration-thickness: 1px; }
.front-root--piotr input, .front-root--piotr textarea, .front-root--piotr select { caret-color: var(--accent); }
.front-root--piotr :is(h1, h2, h3, .serif) { font-family: var(--display); letter-spacing: -0.03em; text-wrap: balance; }

/* ---- Naglowek: przezroczysty nad gradientem, menu pigulkami ------------------------------------------------------- */
.front-root--piotr > .front-header { background: transparent; border-bottom: 1px solid var(--hair); }
.front-root--piotr .front-header__inner { padding-block: 18px; }
.front-root--piotr :is(.front-header__name, a.front-header__name) { font-family: var(--display); font-weight: 800; font-size: 26px; letter-spacing: -0.035em; color: var(--ink); line-height: 1; }
.front-root--piotr .front-header__subtitle { color: var(--ink-3); font-size: 13px; }
.front-root.front-root--piotr .front-header .front-topnav__link { color: var(--ink); font-weight: 600; padding: 7px 14px; margin-inline: 2px; background: none; border-radius: 999px; box-shadow: none; transition: background-color 200ms, color 200ms; }
.front-root.front-root--piotr .front-header .front-topnav__link:hover,
.front-root.front-root--piotr .front-header .front-topnav__group:hover > .front-topnav__link { background: var(--glass); color: var(--ink); }
.front-root.front-root--piotr .front-header .front-topnav__link.front-topnav__link--active { background: rgba(var(--accent-rgb), .16); color: var(--ink); box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .45); }
.front-root--piotr :is(.front-topnav__submenu, .front-topnav__dropdown) { background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .7); padding: 8px; }
.front-root--piotr :is(.front-topnav__submenu, .front-topnav__dropdown) a { color: var(--ink); border-radius: 10px; }
.front-root--piotr .front-burger { border: 1px solid var(--hair); background: var(--glass); border-radius: 999px; }
.front-root--piotr .front-burger span { background: var(--ink); }

/* ---- Czolowka: dzien ---------------------------------------------------------------------------------------- */
.piotr-day { position: relative; }
.piotr-day__inner { position: relative; max-width: var(--tresc-max); margin: 0 auto; padding: clamp(40px, 6vw, 96px) var(--tresc-pad) clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.piotr-day__text { position: relative; z-index: 1; min-width: 0; }
.piotr-day__weekday { margin: 0 0 6px; font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); color: var(--accent); }
.piotr-day__date { margin: 0; font-weight: 800; font-size: clamp(52px, 7.6vw, 116px); line-height: .92; letter-spacing: -0.045em; color: var(--ink); }
.piotr-day__num { display: block; font-size: 1.9em; line-height: .82; letter-spacing: -0.06em; }
.piotr-day__feast { margin: 22px 0 0; max-width: 36ch; font-size: 18px; color: var(--ink); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.piotr-day__vest { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-3); font-size: 15px; }
.piotr-day__swatch { width: 12px; height: 12px; border-radius: 50%; background: var(--lit); box-shadow: 0 0 0 3px rgba(var(--lit-rgb), .2); }
.piotr-day__next { margin-top: 30px; }
.piotr-day__sub { margin: 0 0 10px; color: var(--ink-3); font-size: 15px; }
.piotr-day__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 18px; }
.piotr-times { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.piotr-times li { padding: 8px 16px; border-radius: 999px; background: var(--glass); border: 1px solid var(--hair); font-family: var(--display); font-weight: 700; font-size: 22px; font-variant-numeric: tabular-nums; }
.piotr-times small { font-family: var(--font-sans); font-weight: 400; font-size: 13px; color: var(--ink-3); }

/* Jedna akcja: pigulka akcentu z ciemnym napisem */
.front-root--piotr a.piotr-action { display: inline-grid; gap: 2px; max-width: 540px; padding: 18px 28px 20px; border-radius: 28px; background: var(--accent); color: var(--accent-ink); text-decoration: none; box-shadow: 0 18px 40px -18px rgba(var(--accent-rgb), .7); transition: transform 300ms var(--piotr-ease), box-shadow 300ms var(--piotr-ease); }
.front-root--piotr a.piotr-action:hover { transform: translateY(-2px); box-shadow: 0 24px 48px -18px rgba(var(--accent-rgb), .8); }
.piotr-action__label { font-size: 13px; font-weight: 600; }
.piotr-action__title { font-family: var(--display); font-weight: 800; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.08; letter-spacing: -0.02em; }
.piotr-action__meta { font-size: 15px; }

/* Forma: kula w gradiencie roz-fiolet (zdjecie z banera wtopione) i druga, mniejsza kula w kolorze dnia */
.piotr-day__form { position: relative; aspect-ratio: 1; width: 100%; max-width: 520px; justify-self: end; }
.piotr-day__disc { position: absolute; inset: 4%; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 30% 25%, rgba(var(--accent-rgb), 1), rgba(var(--ter-rgb), .9) 55%, rgba(var(--ter-rgb), .3)); box-shadow: 0 40px 120px -40px rgba(var(--accent-rgb), .55); }
.piotr-day__disc img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1); mix-blend-mode: luminosity; opacity: .78; }
.piotr-day__arc { position: absolute; right: -2%; bottom: 2%; width: 34%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(var(--lit-rgb), .95), rgba(var(--ter-rgb), .5) 70%); box-shadow: 0 20px 60px -20px rgba(var(--ter-rgb), .6); }
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .piotr-day__disc { animation: piotr-drift linear both; animation-timeline: scroll(root); animation-range: 0 70vh; }
    .piotr-day__arc { animation: piotr-float linear both; animation-timeline: scroll(root); animation-range: 0 70vh; }
  }
}
@keyframes piotr-drift { to { transform: translateY(5%) scale(.97); } }
@keyframes piotr-float { to { transform: translate(-18%, -26%); } }

/* Rytm tygodnia: jeden rzad siedmiu dni w zaokraglonej ramie, dzis w kolorze akcentu */
.piotr-week-wrap { max-width: var(--tresc-max); margin: 0 auto; padding: 0 var(--tresc-pad) clamp(40px, 5vw, 72px); }
.piotr-week__title { margin: 0 0 14px; font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; color: var(--ink); }
.piotr-week { margin: 0; padding: 6px; list-style: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; border-radius: 28px; background: var(--glass); border: 1px solid var(--hair); }
.piotr-week__day { padding: 14px 14px 18px; border-radius: 22px; min-height: 132px; transition: background-color 200ms; }
.piotr-week__name abbr { text-decoration: none; font-family: var(--display); font-weight: 800; font-size: 22px; color: var(--ink-3); }
.piotr-week__entries { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--ink); }
.piotr-week__day.is-today { background: var(--accent); }
.piotr-week__day.is-today .piotr-week__name abbr, .piotr-week__day.is-today .piotr-week__entries { color: var(--accent-ink); }
.piotr-week__day.is-empty .piotr-week__name abbr { opacity: .5; }

/* ---- Sekcje: duzy naglowek, oddech ------------------------------------------------------------------------- */
.front-root--piotr .front-main > .front-section { margin-bottom: clamp(56px, 7vw, 104px); background: none; border: 0; box-shadow: none; padding: 0; }
.front-root--piotr .section-head { border: 0; margin-bottom: 26px; padding: 0; display: flex; align-items: end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.front-root--piotr .section-head::after { display: none; }
.front-root--piotr .front-main .section-title, .front-root--piotr .section-title { font-weight: 800; font-size: clamp(40px, 5.6vw, 80px); line-height: .95; letter-spacing: -0.045em; color: var(--ink); margin: 0; }
.front-root--piotr a.piotr-more { font-weight: 600; text-decoration: none; color: var(--accent); white-space: nowrap; }
.front-root--piotr a.piotr-more:hover { text-decoration: underline; }

/* ---- Aktualnosci: jedna wiodaca i lista tytulow ---------------------------------------------------------------- */
.front-root--piotr a.piotr-lead { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); align-items: center; color: var(--ink); text-decoration: none; }
.piotr-lead__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 32px; background: var(--surface); }
.piotr-lead__img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--piotr-ease); }
a.piotr-lead:hover .piotr-lead__img { transform: scale(1.03); }
.piotr-lead__body { display: grid; gap: 14px; }
.piotr-lead__title { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 4.2vw, 60px); line-height: 1; letter-spacing: -0.04em; text-wrap: balance; }
.piotr-lead__sub { font-size: 19px; color: var(--ink-3); max-width: 42ch; }
.piotr-lead__more { font-weight: 600; color: var(--accent); }
.piotr-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; color: var(--ink-3); }
.piotr-meta__cat { color: var(--accent); font-weight: 600; }

.piotr-list { margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--hair); }
.piotr-list li { border-bottom: 1px solid var(--hair); }
.front-root--piotr a.piotr-row { display: grid; grid-template-columns: 96px minmax(0, 1fr) 32px; gap: 18px; align-items: center; padding: 18px 0; color: var(--ink); text-decoration: none; }
.front-root--piotr a.piotr-row:hover .piotr-row__title { color: var(--accent); }
.piotr-row__date { color: var(--ink-3); font-size: 14px; white-space: nowrap; }
.piotr-row__day { font-family: var(--display); font-weight: 800; font-size: 32px; letter-spacing: -0.04em; color: var(--ink); font-variant-numeric: tabular-nums; }
.piotr-row__text { display: grid; gap: 2px; }
.piotr-row__cat { font-size: 13px; color: var(--accent); font-weight: 600; }
.piotr-row__title { font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); line-height: 1.15; letter-spacing: -0.02em; }
.piotr-row__arrow { color: var(--accent); font-size: 22px; justify-self: end; transition: transform 300ms var(--piotr-ease); }
a.piotr-row:hover .piotr-row__arrow { transform: translateX(4px); }

/* Zamiast zdjecia: miekki gradient z palety (wariant wg kategorii --poster 0..4) */
.piotr-poster { position: absolute; inset: 0; background: radial-gradient(60% 70% at 30% 30%, rgba(var(--accent-rgb), .85), transparent 70%), radial-gradient(60% 70% at 75% 75%, rgba(var(--ter-rgb), .85), transparent 70%), var(--surface); }
.piotr-poster[style*="--poster: 1"], .piotr-poster[style*="--poster: 3"] { background: radial-gradient(60% 70% at 70% 30%, rgba(var(--ter-rgb), .85), transparent 70%), radial-gradient(60% 70% at 25% 80%, rgba(var(--accent-rgb), .7), transparent 70%), var(--surface); }
.piotr-poster span { display: none; }

/* ---- Slowo na niedziele / ogloszenia: karta na gradiencie ------------------------------------------------------- */
.front-root--piotr .front-main .mateusz-duo { margin-bottom: clamp(56px, 7vw, 104px); }
.front-root--piotr :is(.front-main, .mateusz-widgets) .mateusz-duo > section.mateusz-ann-card,
.front-root--piotr section.mateusz-ann-card { position: relative; overflow: clip; border-radius: 36px; box-shadow: none; background: radial-gradient(70% 120% at 100% 0%, rgba(var(--accent-rgb), .55), transparent 60%), radial-gradient(60% 100% at 0% 100%, rgba(var(--ter-rgb), .5), transparent 60%), var(--surface); border: 1px solid var(--hair); }
.front-root--piotr a.mateusz-ann-card__link { position: relative; align-items: flex-start; text-align: left; background: none; color: var(--ink); padding: clamp(28px, 4vw, 56px); gap: 10px; }
.front-root--piotr a.mateusz-ann-card__link::before { display: none; }
.front-root--piotr .mateusz-ann-card__heading { font-weight: 800; font-size: clamp(36px, 5vw, 72px); line-height: .95; letter-spacing: -0.045em; color: var(--ink); text-shadow: none; margin: 0 0 10px; }
.front-root--piotr .mateusz-ann-card__date { color: var(--ink); opacity: .85; }
.front-root--piotr .mateusz-ann-card__title { font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); color: var(--ink); }
.front-root--piotr .mateusz-ann-card__more { margin-top: 14px; padding: 12px 22px; border: 0; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-weight: 700; }
.front-root--piotr a.mateusz-ann-card__link:is(:hover, :focus-visible) .mateusz-ann-card__more { background: var(--ink); color: var(--bg); }

/* ---- Wydarzenia: wiersze jak lista aktualnosci ------------------------------------------------------------------ */
.front-root--piotr .mateusz-events__list { border-top: 1px solid var(--hair); gap: 0; }
.front-root--piotr a.mateusz-events__item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 0; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; background: none; color: var(--ink); }
.front-root--piotr a.mateusz-events__item:hover { background: none; }
.front-root--piotr a.mateusz-events__item:hover .mateusz-events__title { color: var(--accent); }
.front-root--piotr .piotr-row__title, .front-root--piotr .mateusz-events__title { transition: color 200ms; }
.front-root.front-root--piotr .mateusz-events__item .news-date { display: block; background: none; color: var(--ink-3); padding: 0; min-width: 0; font-size: 14px; border-radius: 0; box-shadow: none; }
.front-root.front-root--piotr .mateusz-events__item .news-date__day { font-family: var(--display); font-weight: 800; font-size: 32px !important; letter-spacing: -0.04em; color: var(--ink); margin-right: 4px; }
.front-root.front-root--piotr .mateusz-events__item .news-date__month { color: var(--ink-3); font-size: 14px; text-transform: none; letter-spacing: 0; }
.front-root--piotr .mateusz-events__title { font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); line-height: 1.15; color: var(--ink); }
.front-root--piotr .mateusz-events__meta { color: var(--ink-3); }

/* ---- Mysl dnia: wielki cytat na gradiencie (bez etykiety nad nim) ------------------------------------------------ */
.front-root--piotr .front-quote-strip { background: radial-gradient(60% 120% at 15% 20%, rgba(var(--accent-rgb), .32), transparent 60%), radial-gradient(55% 110% at 90% 85%, rgba(var(--ter-rgb), .38), transparent 62%); border-block: 1px solid var(--hair); }
.front-root--piotr .front-quote-strip__kicker { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.front-root--piotr .front-quote-strip__text { font-weight: 700; font-style: normal; font-size: clamp(32px, 4.6vw, 70px); line-height: 1.04; letter-spacing: -0.035em; color: var(--ink); max-width: 22ch; margin-inline: auto; }
.front-root--piotr .front-quote-strip__author { color: var(--ink-3); font-style: normal; }

/* ---- Pasy na kolorze (ludzie, galerie, elementy): zaokraglone, polprzezroczyste ---------------------------------- */
.front-root--piotr :is(#galerie, .mateusz-elements--dark, .mateusz-pastors--dark, #duszpasterze) { border-radius: 40px; margin: clamp(24px, 3vw, 40px) var(--tresc-pad); background: rgba(var(--band-rgb), .55); border: 1px solid var(--hair); }
.front-root--piotr .gallery-tile, .front-root--piotr .gallery-card, .front-root--piotr .mateusz-elements__photo { border-radius: 24px; overflow: hidden; }
.front-root--piotr .sacrament-tile__photo { box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .55), 0 18px 40px -20px rgba(var(--ter-rgb), .7); }
.front-root--piotr .sacrament-tile__photo::after { border-color: transparent; }

/* ---- Stopka ----------------------------------------------------------------------------------------------- */
.front-root--piotr .front-footer { --footer-ink: var(--ink); --footer-ink-dim: rgba(var(--ink-rgb), .72); --footer-hair: var(--hair); margin-top: clamp(32px, 4vw, 56px); border-radius: 40px 40px 0 0; background: rgba(var(--bg-rgb), .72); border-top: 1px solid var(--hair); }
.front-root--piotr .front-footer__name { font-weight: 800; letter-spacing: -0.03em; }
.front-root--piotr .front-footer__label-icon, .front-root--piotr .front-footer__sublabel { color: var(--accent); }
.front-root--piotr .front-footer__bank { font-family: var(--font-sans); font-variant-numeric: tabular-nums; color: var(--ink); }
.front-root--piotr .front-footer__bar, .front-root--piotr .front-footer__bar :is(a, span, p) { color: var(--footer-ink-dim); }
.front-root--piotr .mateusz-footer-galleries a { border-radius: 14px; }

/* ---- Przyciski: pigulki akcentu albo obrys ------------------------------------------------------------------- */
.front-root--piotr .btn { border-radius: 999px; font-weight: 700; box-shadow: none; }
.front-root--piotr .btn--action, .front-root--piotr .btn--primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.front-root--piotr .btn--action-quiet { background: var(--glass); border: 1px solid rgba(var(--ink-rgb), .35); color: var(--ink); }
.front-root--piotr .btn--action-quiet:hover { background: var(--ink); color: var(--bg); }
.front-root--piotr .section-foot { margin-top: 28px; justify-content: flex-start; }
.front-root--piotr :is(.mm-chip.is-active, .cat-badge, .news-stamps__category, .btn--primary, .front-promoted-bar__item) { color: var(--accent-ink); }

/* ---- Archiwum aktualnosci, galerie: belka miesiecy jako pigulki, kategorie pigulkami -------------------------------- */
.front-root.front-root--piotr .news-archive-months { background: var(--glass); border: 1px solid var(--hair); border-radius: 999px; padding: 4px; gap: 2px; }
.front-root.front-root--piotr .news-archive-months a.news-archive-months__item { color: var(--ink); border-radius: 999px; }
.front-root.front-root--piotr .news-archive-months a.news-archive-months__item:hover { background: var(--glass); }
.front-root.front-root--piotr .news-archive-months a.news-archive-months__item.is-active { background: var(--accent); color: var(--accent-ink); }
.front-root.front-root--piotr .news-archive-months__item.is-empty { color: var(--ink-3); opacity: 1; }
.front-root.front-root--piotr .news-archive-years__item { font-family: var(--display); font-weight: 800; color: var(--ink-3); }
.front-root.front-root--piotr .news-archive-years__item.is-active { color: var(--ink); border-color: var(--accent); }
.front-root.front-root--piotr a.mm-chip { min-height: 40px; padding: 0 16px; border: 1px solid var(--hair); border-radius: 999px; background: var(--glass); color: var(--ink); font-weight: 500; }
.front-root.front-root--piotr a.mm-chip:hover { border-color: rgba(var(--accent-rgb), .6); }
.front-root.front-root--piotr a.mm-chip.is-active { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-weight: 700; }
.front-root--piotr :is(.news-filter, .mm-filter) { gap: 8px; }
.front-root--piotr .news-row { border-radius: 24px; }
.front-root--piotr :is(.news-row__media, .news-row__thumb) { border-radius: 24px; overflow: hidden; background: radial-gradient(60% 70% at 30% 30%, rgba(var(--accent-rgb), .7), transparent 70%), radial-gradient(60% 70% at 75% 75%, rgba(var(--ter-rgb), .7), transparent 70%), var(--surface); }
.front-root--piotr .news-row__title { font-family: var(--display); text-transform: none; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.front-root--piotr .news-row__excerpt { color: var(--ink-3); }
.front-root--piotr .news-row__cat { color: var(--accent); background: none; }
.front-root.front-root--piotr .news-row__more { background: transparent; color: var(--accent); padding: 0; }
.front-root.front-root--piotr .news-row:hover .news-row__more { background: transparent; text-decoration: underline; }
.front-root.front-root--piotr .news-row:not(:has(.news-row__media))::before { border-radius: 24px; background: radial-gradient(60% 70% at 30% 30%, rgba(var(--accent-rgb), .8), transparent 70%), radial-gradient(60% 70% at 75% 75%, rgba(var(--ter-rgb), .85), transparent 70%), var(--surface); }
.front-root.front-root--piotr .news-row:nth-child(even):not(:has(.news-row__media))::before { background: radial-gradient(60% 70% at 70% 30%, rgba(var(--ter-rgb), .85), transparent 70%), radial-gradient(60% 70% at 25% 80%, rgba(var(--accent-rgb), .7), transparent 70%), var(--surface); }
.front-root.front-root--piotr .news-rows--grid .news-row__title { text-transform: none; font-size: 22px; line-height: 1.12; }
.front-root--piotr .front-section.isp-akt, .front-root--piotr .front-section.ev, .front-root--piotr .front-main > .front-section:not(.mateusz-stary) { background: none; }
.front-root--piotr .news-date { border-radius: 999px; }

/* ---- Strony i stare widoki (strony, ludzie, kalendarz, kontakt): ciemne, bez bialych tel, tekst do lewej ------------- */
.front-root--piotr .front-section.mateusz-stary { background: none; border: 0; box-shadow: none; padding: 0; max-width: 78ch; }
.front-root--piotr .mateusz-stary :is(div, section, article, header, ul, ol, li, dl, dt, dd, table, thead, tbody, tr, td, th, h1, h2, h3, h4, .row, .well, .panel, .thumbnail, .img-thumbnail, .breadcrumb, .pager li > a) { background-color: transparent !important; }
.front-root--piotr .mateusz-stary { color: var(--ink); }
.front-root--piotr .mateusz-stary :is(p, li, td, th, dt, dd, label, span, div) { color: inherit; }
.front-root--piotr .mateusz-stary p { text-align: left !important; }
.front-root--piotr .mateusz-stary :is(h1, h2, h3, h4) { color: var(--ink); font-family: var(--display); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; margin: 1.4em 0 .5em; padding: 0; }
.front-root--piotr .mateusz-stary h1, .front-root--piotr .mateusz-stary h2.title { font-size: clamp(40px, 5.6vw, 76px); letter-spacing: -0.045em; margin-top: 0; }
.front-root--piotr .mateusz-stary h2 { font-size: clamp(26px, 3vw, 38px); }
.front-root--piotr .mateusz-stary :is(table, td, th, .table td, .table th, .dl-horizontal) { border-color: var(--hair) !important; }
.front-root--piotr .mateusz-stary a:not(.btn) { color: var(--accent); }
.front-root--piotr #pastors_view li { border-bottom: 1px solid var(--hair) !important; padding-bottom: 28px; margin-bottom: 28px; }
.front-root--piotr .mateusz-stary hr { border: 0; height: 1px; background: var(--hair) !important; }
.front-root--piotr .mateusz-stary :is(.form-control, input, select, textarea) { background: var(--glass) !important; color: var(--ink) !important; border: 1px solid var(--hair) !important; border-radius: 16px; box-shadow: none; }
.front-root--piotr .mateusz-stary :is(.form-control, input, textarea)::placeholder { color: var(--ink-3); }
.front-root--piotr .mateusz-stary :is(.btn, .btn-default, .btn-primary, .btn-warning, button[type="submit"], input[type="submit"]) { background: var(--accent) !important; border-color: var(--accent) !important; color: var(--accent-ink) !important; border-radius: 999px; text-shadow: none; box-shadow: none; }
.front-root--piotr .mateusz-stary img { border-radius: 20px; }
.front-root--piotr .mateusz-stary .pastors-about { color: var(--ink-3); }
.front-root--piotr .mateusz-stary blockquote { border-left: 0; padding: 0; font-family: var(--display); font-size: 1.3em; color: var(--ink); }
/* kalendarz wydarzen */
.front-root--piotr .mateusz-stary a[href*="kalendarium"] { display: inline-block; padding: 8px 18px; border-radius: 999px; background: var(--glass) !important; border: 1px solid var(--hair); color: var(--ink) !important; text-decoration: none; }
.front-root--piotr .mateusz-stary .table :is(td, th) { color: var(--ink-3) !important; }
.front-root--piotr .mateusz-stary .table td a { color: var(--accent) !important; font-family: var(--font-sans); font-weight: 600; font-size: 13px; }
.front-root--piotr .mateusz-stary .table .sunday { color: var(--accent) !important; }
.front-root--piotr .mateusz-stary .table .empty { opacity: .35; }

/* ---- Telefon -------------------------------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .piotr-day__inner { grid-template-columns: 1fr; }
  .piotr-day__form { order: -1; width: 62%; max-width: 300px; justify-self: end; margin: -12px -8% -18% 0; }
  .piotr-day__date { font-size: clamp(44px, 13vw, 72px); }
  .front-root--piotr a.piotr-lead { grid-template-columns: 1fr; }
  .piotr-week { grid-template-columns: 1fr; border-radius: 24px; }
  .piotr-week__day { display: grid; grid-template-columns: 52px 1fr; gap: 12px; min-height: 0; padding: 12px 14px; border-radius: 18px; }
  .piotr-week__entries { margin: 0; }
  .piotr-week__day.is-empty { display: none; }
  .front-root--piotr a.piotr-row, .front-root--piotr a.mateusz-events__item { grid-template-columns: 70px minmax(0, 1fr); }
  .piotr-row__arrow { display: none; }
  .front-root--piotr :is(#galerie, .mateusz-elements--dark, .mateusz-pastors--dark, #duszpasterze) { border-radius: 28px; margin-inline: 12px; }
}

/* ---- Kalendarz wydarzen (core/view/_events, templates/mateusz/css/events.css): tytuly biale krojem wyswietlacza,
   daty jako duze cyfry jak w sekcji wydarzen na glownej, akcent tylko na znakach (dzis, aktywny widok, hover),
   kafle bez zdjecia jako plakat z gradientem palety ------------------------------------------------------------- */
.front-root.front-root--piotr .ev { --ev-hair: var(--hair); --ev-today: var(--accent); --ev-active-bg: var(--accent); --ev-active-ink: var(--accent-ink); }
.front-root.front-root--piotr :is(.ev-nav__title, .ev-group, .ev-item__title, .ev-card__title) { font-family: var(--display); color: var(--ink); letter-spacing: -0.03em; }
.front-root.front-root--piotr .ev-nav__title { font-size: clamp(32px, 4.2vw, 54px); font-weight: 800; letter-spacing: -0.04em; }
.front-root.front-root--piotr .ev-nav__year { color: var(--ink-3); font-weight: 500; }
.front-root.front-root--piotr .ev-group { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; }
.front-root.front-root--piotr :is(.ev-nav__step, .ev-bar__today, .ev-switch) { background: var(--glass); border-color: var(--hair); color: var(--ink); }
.front-root.front-root--piotr .ev-switch__btn:not([aria-current]) { color: var(--ink-3); }
.front-root.front-root--piotr :is(.ev-item__link:hover .ev-item__title, .ev-card__link:hover .ev-card__title) { color: var(--accent); }
.front-root.front-root--piotr .ev-item__link { grid-template-columns: 96px minmax(0, 1fr); }
.front-root.front-root--piotr .ev-item__link:has(.ev-item__thumb) { grid-template-columns: 96px minmax(0, 1fr) auto; }
.front-root.front-root--piotr .ev-item__link:hover { background: none; }
.front-root.front-root--piotr .ev-item .ev-date { justify-items: start; min-height: 0; padding: 0; background: none; color: var(--ink); text-align: left; box-shadow: none; }
.front-root.front-root--piotr .ev-item .ev-date__day { font-family: var(--display); font-size: 46px; font-weight: 800; letter-spacing: -0.04em; }
.front-root.front-root--piotr .ev-item .ev-date--range .ev-date__day { font-size: 30px; }
.front-root.front-root--piotr .ev-item :is(.ev-date__month, .ev-date__dow) { color: var(--ink-3); font-size: 14px; letter-spacing: 0; text-transform: none; opacity: 1; }
.front-root.front-root--piotr .ev-item.is-today .ev-date__day { color: var(--accent); }
.front-root.front-root--piotr .ev-item.is-past .ev-date { color: var(--ink-3); }
.front-root.front-root--piotr .ev-item__sub { color: var(--ink-2, var(--ink)); }
.front-root.front-root--piotr .ev-item__thumb { width: 168px; border-radius: var(--radius-lg); }
.front-root.front-root--piotr .ev-card__link { border-color: var(--hair); border-radius: var(--radius-2xl); background: var(--glass); }
.front-root.front-root--piotr .ev-card__link:hover { border-color: rgba(var(--accent-rgb), .55); box-shadow: 0 24px 50px -30px rgba(var(--accent-rgb), .55); }
.front-root.front-root--piotr .ev-card__title { font-size: clamp(21px, 2vw, 26px); font-weight: 700; line-height: 1.15; }
.front-root.front-root--piotr .ev-card__poster {
  background:
    radial-gradient(120% 140% at 0% 100%, rgba(var(--accent-rgb), .6), transparent 58%),
    radial-gradient(110% 130% at 100% 0%, rgba(var(--ter-rgb), .75), transparent 62%),
    var(--band-bg);
  color: var(--ink); font-family: var(--display); font-size: clamp(34px, 3.4vw, 48px); font-weight: 800; letter-spacing: -0.04em;
}
.front-root.front-root--piotr .ev-card__date { border-radius: var(--radius-pill); box-shadow: none; }
.front-root.front-root--piotr .ev-card__date b { font-family: var(--display); font-weight: 800; }
.front-root.front-root--piotr .ev-cal { border-color: var(--hair); border-radius: var(--radius-2xl); background: var(--glass); }
.front-root.front-root--piotr .ev-cal th { background: rgba(var(--ink-rgb), .04); color: var(--ink-3); }
.front-root.front-root--piotr .ev-cal th.is-sunday, .front-root.front-root--piotr .ev-cal__day.is-sunday .ev-cal__num { color: var(--accent); }
.front-root.front-root--piotr .ev-cal__num { font-family: var(--display); font-weight: 700; }
.front-root.front-root--piotr .ev-cal__event { border-radius: var(--radius-sm); background: rgba(var(--accent-rgb), .14); color: var(--ink); }
.front-root.front-root--piotr .ev-cal__event.is-continued { box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .35); }
.front-root.front-root--piotr .ev-cal__event:hover { background: var(--accent); color: var(--accent-ink); }
.front-root.front-root--piotr .ev-tip { border-color: rgba(var(--accent-rgb), .3); border-radius: var(--radius-xl); background: var(--surface); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .7), 0 0 0 1px rgba(var(--ink-rgb), .04); }
.front-root.front-root--piotr .ev-tip__when { color: var(--accent); }
.front-root.front-root--piotr .ev-tip__title { font-family: var(--display); color: var(--ink); letter-spacing: -0.02em; }
.front-root.front-root--piotr .ev-tip__sub { color: var(--ink-2, var(--ink)); }
.front-root.front-root--piotr .ev-week { border-color: var(--hair); border-radius: var(--radius-2xl); background: var(--glass); }
@container (min-width: 761px) { .front-root.front-root--piotr .ev-week__head { background: rgba(var(--ink-rgb), .04); } }
.front-root.front-root--piotr .ev-week__day.is-today { background: rgba(var(--accent-rgb), .07); }
.front-root.front-root--piotr .ev-week__day.is-sunday :is(.ev-week__dow, .ev-week__num) { color: var(--accent); }
.front-root.front-root--piotr .ev-week__num { font-family: var(--display); font-weight: 800; letter-spacing: -0.03em; }
.front-root.front-root--piotr .ev-week__event { border-color: var(--hair); border-radius: var(--radius-lg); background: rgba(var(--ink-rgb), .05); }
.front-root.front-root--piotr .ev-week__event:hover { border-color: rgba(var(--accent-rgb), .55); box-shadow: 0 18px 36px -24px rgba(var(--accent-rgb), .6); }
.front-root.front-root--piotr .ev-week__event.is-continued { background: transparent; border-color: rgba(var(--accent-rgb), .3); }
.front-root.front-root--piotr .ev-week__time { color: var(--accent); }
.front-root.front-root--piotr .ev-week__title { font-family: var(--display); color: var(--ink); letter-spacing: -0.01em; }
.front-root.front-root--piotr .ev-week__event:hover .ev-week__title { color: var(--accent); }
@media (max-width: 760px) {
  .front-root.front-root--piotr .ev-item__link, .front-root.front-root--piotr .ev-item__link:has(.ev-item__thumb) { grid-template-columns: 64px minmax(0, 1fr); }
  .front-root.front-root--piotr .ev-item .ev-date__day { font-size: 36px; }
  .front-root.front-root--piotr .ev-item .ev-date--range .ev-date__day { font-size: 24px; }
  .front-root.front-root--piotr .ev-cal { border-radius: var(--radius-xl); }
}
