/*
Theme Name: Sanktuarium Błotnica Block
Theme URI: https://blotnica.paulini.pl
Author: Artur
Description: Blokowa wersja motywu Sanktuarium w Starej Błotnicy. Układ zachowuje proporcje wersji klasycznej, a nagłówek, stopka, szablony i sekcje strony głównej są edytowalne w Site Editorze.
Version: 6.9.4
Requires at least: 6.4
Tested up to: 6.5
Text Domain: sanktuarium-block
*/
/* ─── DESIGN TOKENS ─────────────────────────────────────────── */
:root {
  --navy:#0d2b5e; --navy-mid:#1d4a8a; --navy-sky:#2f6bbf;
  --gold:#a87c00; --gold-rich:#a87c00; --gold-bright:#c9970a; --gold-pale:#fdf0c8; --gold-border:#a87c00;
  --cream:#f3efe8; --cream-dark:#e5dece; --ice:#eef4fc; --pale:#d6e6f8;
  --white:#fff;
  --marian-pale:#d6e6f8; --marian-ice:#eef4fc;
  --text:#0d1e38; --text-dark:#0d1e38; --text-body:#2c4878; --body:#2c4878;
  --text-mid:#1e3a6e; --text-muted:#3d5a8a; --muted:#3d5a8a;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --r:8px; --radius:8px;
  --shadow-sm:0 2px 12px rgba(13,43,94,.08);
  --shadow-md:0 6px 24px rgba(13,43,94,.15);
}

/* v6.5.21 - automatycznie odczytany tekst z PDF/DOCX */
main#main-content .publication-doc-text {
  background: #fffdf8 !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  color: #16365f !important;
  margin: 1rem 0 1.25rem !important;
  padding: clamp(1rem, 2.5vw, 1.45rem) !important;
  box-shadow: 0 12px 28px rgba(13, 43, 94, .07) !important;
}

main#main-content .publication-doc-text-title {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem) !important;
  line-height: 1.25 !important;
  margin: 0 0 .8rem !important;
}

main#main-content .publication-doc-text-body {
  color: #243b5a !important;
  font-size: clamp(.96rem, 1.7vw, 1.05rem) !important;
  line-height: 1.72 !important;
  overflow-wrap: anywhere !important;
}

main#main-content .publication-doc-text-body p {
  margin: 0 0 .85rem !important;
}

main#main-content .publication-doc-text-body p:last-child {
  margin-bottom: 0 !important;
}

/* ─── RESET ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--cream); color: var(--text-dark); line-height: 1.7; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

/* ─── LAYOUT ────────────────────────────────────────────────── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section { padding: 64px 0; }

/* ─── TOPBAR ────────────────────────────────────────────────── */
.topbar {
  background:#071628;
  color: rgba(255,255,255,.88);
  font-size: 13px;
  padding: 9px 0;
}
.topbar-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; }
.topbar-left { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.topbar-left span { display: flex; align-items: center; gap: 5px; }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.topbar a { color: var(--gold-bright); }
.topbar a:hover { color: #ffd966; text-decoration: underline; }

/* ─── OGŁOSZENIA ────────────────────────────────────────────── */
.ann-bar {
  background: var(--marian-pale);
  border-top: 1px solid #b8d0ef;
  border-bottom: 2px solid #9bbce0;
  padding: 12px 0;
}
.ann-inner {
  display: flex; align-items: flex-start; gap: 14px;
  flex-wrap: wrap;
}
.ann-label {
  background: var(--navy); color: var(--gold-bright);
  padding: 4px 14px; border-radius: 4px; font-size: 12px; font-weight: 700;
  white-space: nowrap; flex-shrink: 0; margin-top: 1px;
}
.ann-list {
  display: flex; flex-direction: column; gap: 6px;
  flex: 1; min-width: 0;
}
.ann-item {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 13px; color: var(--navy-mid);
  line-height: 1.4;
}
.ann-date { font-weight: 700; color: var(--gold-rich); font-size: 12px; flex-shrink: 0; }

/* ─── HEADER ────────────────────────────────────────────────── */
header {
  background: var(--cream);
  border-bottom: 1px solid var(--cream-dark);
  position: sticky; top: 0; z-index: 1000;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .25s ease;
}
header.scrolled { box-shadow: 0 2px 16px rgba(13,43,94,.2); }
header.scrolled .header-inner { padding: 8px 0; }
.header-inner { display: flex; align-items: center; padding: 14px 0; gap: 20px; transition: padding .25s; }
.logo-shield {
  width: 58px; height: 58px;
  background: var(--navy); border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; border: 2px solid var(--gold);
  transition: all .25s;
  overflow: hidden;
}
header.scrolled .logo-shield { width: 46px; height: 46px; }
.logo-shield::before {
  content: '';
  width: 42px;
  height: 48px;
  background: url('assets/images/obraz.jpg') center 24%/cover no-repeat;
  display: block;
}
.logo-shield svg { display: none; width: 32px; height: 32px; }
.header-title h1 { font-family: var(--serif); font-size: 18px; color: var(--navy); line-height: 1.2; }
.header-title p { font-size: 13px; color: var(--text-body); margin-top: 2px; letter-spacing: .3px; }
.header-mass { margin-left: auto; }
.header-mass .badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--marian-pale); color: var(--navy);
  border: 1.5px solid var(--navy-sky);
  font-size: 13px; font-weight: 600;
  padding: 7px 14px; border-radius: 4px;
}
.header-phone-sticky { display: none; font-size: 13px; font-weight: 600; color: var(--navy); white-space: nowrap; margin-left: auto; }
.header-phone-sticky a { color: inherit; }

/* ─── NAWIGACJA ─────────────────────────────────────────────── */
nav.main-nav { background: var(--navy); border-top: 1px solid rgba(255,255,255,.08); }
.nav-inner { display: flex; align-items: center; }
.main-menu { list-style: none; display: flex; flex-wrap: wrap; }
.main-menu > li { position: relative; }
.main-menu > li > a {
  display: block; padding: 15px 18px;
  color: rgba(255,255,255,.92); font-size: 13px; font-weight: 500;
  letter-spacing: .4px; text-transform: uppercase;
  transition: color .2s, background .2s;
}
.main-menu > li > a:hover,
.main-menu > li > a.active { color: var(--gold-bright); background: rgba(255,255,255,.07); }
.main-menu > li > a.active { box-shadow: inset 0 -3px 0 var(--gold-bright); }
.sub-menu {
  display: none; position: absolute; top: 100%; left: 0;
  background: var(--white); min-width: 230px;
  border-top: 3px solid var(--navy-sky);
  box-shadow: var(--shadow-md); z-index: 200;
  border-radius: 0 0 var(--radius) var(--radius);
}
.main-menu > li:hover .sub-menu,
.main-menu > li:focus-within .sub-menu,
.main-menu > li.sub-open .sub-menu { display: block; }
.sub-menu li { border-bottom: 1px solid #e8eef8; }
.sub-menu li:last-child { border: none; }
.sub-menu a { display: block; padding: 12px 18px; font-size: 13px; color: var(--text-mid); transition: background .15s; }
.sub-menu a:hover { background: var(--marian-pale); color: var(--navy); }
.mobile-toggle {
  display: none; background: none;
  border: 2px solid rgba(255,255,255,.3); border-radius: 4px;
  color: white; font-size: 20px; cursor: pointer; margin-left: auto; padding: 7px 12px;
}

/* ─── HERO ──────────────────────────────────────────────────── */
.hero { background: linear-gradient(160deg, var(--marian-ice) 0%, var(--cream) 100%); padding: 72px 0 64px; }
.hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero-eyebrow { font-size: 12px; font-weight: 700; color: var(--gold-rich); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 18px; }
.hero h1, .hero h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 50px); color: var(--navy); line-height: 1.15; margin-bottom: 20px; }
.hero-sub { font-size: 16px; color: var(--text-body); line-height: 1.8; margin-bottom: 36px; }
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-image-wrap { position: relative; }
.hero-image {
  width: 100%; height: 440px; border-radius: 12px;
  border: 3px solid var(--gold); object-fit: cover;
  background:
    linear-gradient(180deg, rgba(13,43,94,.1), rgba(13,43,94,.28)),
    url('assets/images/panorama.jpg') center/cover no-repeat,
    linear-gradient(135deg, #1d3a6e 0%, #0d2b5e 50%, #2c5296 100%);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.hero-church-svg { display: none; opacity: .45; }
.hero-image-badge {
  position: absolute; bottom: 24px; left: -16px;
  background: var(--navy); color: white;
  padding: 14px 20px; border-radius: var(--radius);
  font-size: 13px; font-weight: 500;
  border-left: 4px solid var(--gold);
  box-shadow: var(--shadow-md);
}
.hero-image-badge strong { display: block; font-size: 22px; font-family: var(--serif); color: var(--gold-bright); }

/* ─── BUTTONS ───────────────────────────────────────────────── */
.btn-gold {
  background: var(--gold-rich); color: #fff;
  padding: 14px 28px; font-size: 14px; font-weight: 600;
  letter-spacing: .5px; text-transform: uppercase;
  border-radius: var(--radius); border: 2px solid var(--gold-rich);
  cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s;
}
.btn-gold:hover { background: #7a5900; border-color: #7a5900; }
.btn-primary {
  background: var(--navy); color: var(--gold-bright);
  padding: 14px 28px; font-size: 14px; font-weight: 600;
  letter-spacing: .5px; text-transform: uppercase;
  border-radius: var(--radius); border: 2px solid var(--navy);
  cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s;
}
.btn-primary:hover { background: var(--navy-mid); border-color: var(--navy-mid); }
.btn-outline {
  background: transparent; color: var(--navy);
  padding: 12px 24px; font-size: 14px; font-weight: 600;
  border-radius: var(--radius); border: 2px solid var(--navy);
  cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s;
}
.btn-outline:hover { background: var(--marian-pale); }

/* ─── QUICK ICONS ───────────────────────────────────────────── */
.quick-icons {
  background: var(--white);
  border-top: 3px solid var(--navy-sky);
  border-bottom: 1px solid var(--cream-dark);
}
.quick-icons-inner { display: grid; grid-template-columns: repeat(3,1fr); }
.qi-item {
  display: flex; align-items: center; gap: 18px;
  padding: 28px 24px; border-right: 1px solid var(--cream-dark);
  transition: background .15s; cursor: pointer;
}
.qi-item:last-child { border-right: none; }
.qi-item:hover { background: var(--marian-ice); }
.qi-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--marian-pale);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.qi-icon i { font-size: 22px; color: var(--navy-mid); }
.qi-text h4, .qi-text strong { font-family: var(--serif); font-size: 17px; color: var(--navy); }
.qi-text p, .qi-text { font-size: 14px; color: var(--text-body); margin-top: 4px; }

/* ─── CUDOWNY OBRAZ ─────────────────────────────────────────── */
.obraz-section {
  background: var(--navy); padding: 72px 0;
  position: relative; overflow: hidden;
}
.obraz-section::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 10L67 47L103 47L75 69L85 107L60 85L35 107L45 69L17 47L53 47Z' fill='%232f6bbf' fill-opacity='0.07'/%3E%3C/svg%3E");
  background-size: 120px;
}
.obraz-inner { display: grid; grid-template-columns: auto 1fr; gap: 52px; align-items: center; position: relative; }
.obraz-frame {
  width: 220px; height: 280px;
  background:
    linear-gradient(180deg, rgba(13,43,94,.06), rgba(13,43,94,.24)),
    url('assets/images/obraz.jpg') center top/cover no-repeat,
    linear-gradient(160deg, #1d3a6e, #2c5296);
  border-radius: 8px; border: 2px solid var(--gold);
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; position: relative; flex-shrink: 0;
}
.obraz-corner { position: absolute; width: 18px; height: 18px; border-color: var(--gold-bright); border-style: solid; opacity: .8; }
.obraz-corner.tl { top: 10px; left: 10px; border-width: 2px 0 0 2px; }
.obraz-corner.tr { top: 10px; right: 10px; border-width: 2px 2px 0 0; }
.obraz-corner.bl { bottom: 10px; left: 10px; border-width: 0 0 2px 2px; }
.obraz-corner.br { bottom: 10px; right: 10px; border-width: 0 2px 2px 0; }
.obraz-halo {
  width: 100px; height: 100px; border-radius: 50%;
  background: rgba(201,151,10,.15);
  border: 2px solid rgba(201,151,10,.45);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 42px; color: rgba(201,151,10,.7);
}
.obraz-halo,
.obraz-caption { display: none; }
.obraz-caption { font-size: 11px; color: rgba(255,255,255,.5); text-align: center; margin-top: 14px; font-style: italic; line-height: 1.5; }
.obraz-text .eyebrow { font-size: 11px; color: var(--gold-bright); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.obraz-text h3 { font-family: var(--serif); font-size: 32px; color: #fff; margin-bottom: 16px; line-height: 1.2; }
.obraz-text > p { font-size: 15px; color: rgba(255,255,255,.78); line-height: 1.8; margin-bottom: 28px; }
.obraz-quote {
  background: rgba(255,255,255,.07);
  border-left: 3px solid var(--gold-bright);
  padding: 16px 20px; border-radius: 0 var(--radius) var(--radius) 0;
  margin-bottom: 28px;
}
.obraz-quote p { font-family: var(--serif); font-style: italic; font-size: 15px; color: rgba(255,255,255,.9); line-height: 1.7; }
.obraz-quote cite { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 8px; display: block; }
.obraz-fakty { display: flex; gap: 32px; }
.obraz-fakt { text-align: center; }
.obraz-fakt strong { display: block; font-family: var(--serif); font-size: 28px; color: var(--gold-bright); }
.obraz-fakt span { font-size: 12px; color: rgba(255,255,255,.55); letter-spacing: .5px; }

/* ─── SZYBKI DOSTĘP ─────────────────────────────────────────── */
.dostep-section { background: var(--white); padding: 60px 0; }
.section-title { text-align: center; margin-bottom: 40px; }
.section-title h2 { font-family: var(--serif); font-size: 32px; color: var(--navy); margin-bottom: 10px; }
.section-title p { font-size: 15px; color: var(--text-body); }
.dostep-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.dostep-card {
  background: var(--white); border: 1px solid var(--cream-dark);
  border-radius: var(--radius); padding: 28px 24px;
  transition: box-shadow .2s, transform .2s;
  cursor: pointer;
}
.dostep-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.dostep-icon {
  width: 56px; height: 56px; border-radius: 12px;
  background: var(--marian-pale);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.dostep-icon i { font-size: 24px; color: var(--navy-mid); }
.dostep-card h3 { font-family: var(--serif); font-size: 18px; color: var(--navy); margin-bottom: 8px; }
.dostep-card p { font-size: 14px; color: var(--text-body); line-height: 1.6; }

/* ─── MSZE ──────────────────────────────────────────────────── */
.msze-section { background: var(--marian-ice); padding: 64px 0; }
.msze-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.msze-card {
  background: var(--white); border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--cream-dark);
  box-shadow: var(--shadow-sm);
}
.msze-card-head {
  background: var(--navy); color: var(--gold-bright);
  padding: 12px 18px; font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .6px;
  display: flex; align-items: center; gap: 8px;
}
.msze-card-head.sunday { background: var(--gold-rich); }
.msze-times { padding: 16px 18px; }
.msze-time {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: var(--text-body);
  padding: 7px 0; border-bottom: 1px solid #f0f4f8;
}
.msze-time:last-child { border-bottom: none; }
.msze-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--navy-sky); flex-shrink: 0; }
.msze-dot.gold { background: var(--gold-rich); }
.msze-extra { font-size: 12px; color: var(--gold-rich); font-weight: 600; }

/* ─── AKTUALNOŚCI ───────────────────────────────────────────── */
.news-section { background: var(--white); padding: 64px 0; }
.news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }
.news-card {
  background: var(--white); border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--cream-dark);
  transition: box-shadow .2s, transform .2s;
}
.news-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
.news-img-wrap { height: 200px; overflow: hidden; position: relative; }
.news-img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 52px;
}
.news-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.news-card:hover .news-img-wrap img,
.news-card:hover .news-img-placeholder { transform: scale(1.05); }
.news-tag {
  position: absolute; top: 12px; right: 12px;
  background: var(--navy); color: #fff;
  font-size: 11px; font-weight: 700; padding: 4px 12px;
  border-radius: 20px; letter-spacing: .4px;
}
.news-body { padding: 22px 22px 18px; }
.news-meta { font-size: 12px; color: var(--text-body); margin-bottom: 8px; }
.news-body h3 { font-family: var(--serif); font-size: 19px; color: var(--navy); margin-bottom: 10px; line-height: 1.4; }
.news-body p { font-size: 14px; color: var(--text-body); line-height: 1.65; margin-bottom: 14px; }
.read-more { font-size: 12px; font-weight: 700; color: var(--navy-mid); text-transform: uppercase; letter-spacing: .5px; }
.read-more i { margin-left: 4px; transition: transform .2s; }
.read-more:hover i { transform: translateX(4px); }
.news-center { text-align: center; margin-top: 36px; }

/* ─── OFICJALNE ZDJĘCIA ─────────────────────────────────────── */
.official-photo-section {
  background: var(--marian-ice);
  padding: 64px 0;
}
.official-photo-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 20px;
}
.official-photo-card {
  min-height: 260px;
  border-radius: var(--radius);
  border: 1px solid var(--cream-dark);
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: var(--navy) center/cover no-repeat;
}
.official-photo-card.panorama {
  min-height: 330px;
  background-image: linear-gradient(180deg, rgba(13,43,94,.05), rgba(7,22,40,.72)), url('assets/images/panorama.jpg');
}
.official-photo-card.obraz {
  background-image: linear-gradient(180deg, rgba(13,43,94,.05), rgba(7,22,40,.76)), url('assets/images/obraz.jpg');
  background-position: center top;
}
.official-photo-card.kosciol {
  background-image: linear-gradient(180deg, rgba(13,43,94,.05), rgba(7,22,40,.72)), url('assets/images/kosciol.jpg');
}
.official-photo-card.kosciol1 {
  background-image: linear-gradient(180deg, rgba(13,43,94,.05), rgba(7,22,40,.72)), url('assets/images/kosciol1.jpg');
}
.official-photo-card.mapa {
  background-image: linear-gradient(180deg, rgba(13,43,94,.05), rgba(7,22,40,.56)), url('assets/images/mapa.jpg');
}
.official-photo-caption {
  width: 100%;
  padding: 20px 22px;
  color: #fff;
}
.official-photo-caption h3 {
  font-family: var(--serif);
  font-size: 18px;
  margin-bottom: 4px;
  color: #fff;
}
.official-photo-caption p {
  font-size: 13px;
  color: rgba(255,255,255,.76);
  line-height: 1.5;
}

/* ─── HISTORIA SEKCJA ───────────────────────────────────────── */
.historia-section { background: var(--navy); padding: 72px 0; }
.historia-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.historia-text .eyebrow { font-size: 11px; color: var(--gold-bright); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.historia-text h2 { font-family: var(--serif); font-size: 32px; color: #fff; margin-bottom: 18px; line-height: 1.2; }
.historia-text p { font-size: 15px; color: rgba(255,255,255,.78); line-height: 1.8; margin-bottom: 20px; }
.historia-fakty { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 28px; }
.historia-fakt {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius); padding: 16px;
  text-align: center;
}
.historia-fakt strong { display: block; font-family: var(--serif); font-size: 24px; color: var(--gold-bright); }
.historia-fakt span { font-size: 11px; color: rgba(255,255,255,.55); margin-top: 4px; display: block; }
.timeline { position: relative; padding-left: 28px; border-left: 2px solid rgba(47,107,191,.4); }
.tl-item { position: relative; margin-bottom: 28px; }
.tl-item::before {
  content: '';
  position: absolute; left: -36px; top: 5px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--gold-rich);
  border: 3px solid var(--navy);
  box-shadow: 0 0 0 2px var(--gold-bright);
}
.tl-year {
  display: inline-block;
  background: var(--navy-sky); color: #fff;
  font-size: 11px; font-weight: 700; padding: 2px 10px;
  border-radius: 3px; margin-bottom: 6px; letter-spacing: .3px;
}
.tl-year.gold { background: var(--gold-rich); }
.tl-title { font-family: var(--serif); font-size: 16px; color: #fff; margin-bottom: 4px; }
.tl-text { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.65; }

/* ─── MODLITWA ──────────────────────────────────────────────── */
.prayer-section {
  background: var(--navy); padding: 80px 0;
  text-align: center; position: relative; overflow: hidden;
}
.prayer-section::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5L33 22L50 22L37 32L41 50L30 41L19 50L23 32L10 22L27 22Z' fill='%232f6bbf' fill-opacity='0.07'/%3E%3C/svg%3E");
  background-size: 60px;
}
.prayer-content { max-width: 780px; margin: 0 auto; position: relative; }
.prayer-content h2 { font-family: var(--serif); font-size: 36px; color: var(--gold-bright); margin-bottom: 8px; }
.prayer-content .sub { font-size: 12px; color: rgba(255,255,255,.6); margin-bottom: 28px; letter-spacing: 1px; text-transform: uppercase; }
.prayer-text { font-family: var(--serif); font-size: 19px; line-height: 1.9; font-style: italic; color: rgba(255,255,255,.94); margin-bottom: 20px; }
.prayer-author { font-size: 12px; color: rgba(255,255,255,.5); letter-spacing: 1px; }

/* ─── INTENCJE ──────────────────────────────────────────────── */
.intencje-section { background: var(--white); padding: 64px 0; }
.intencje-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.intencje-info .eyebrow { font-size: 11px; font-weight: 700; color: var(--gold-rich); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.intencje-info h2 { font-family: var(--serif); font-size: 30px; color: var(--navy); margin-bottom: 16px; }
.intencje-info p { font-size: 15px; color: var(--text-body); line-height: 1.8; margin-bottom: 20px; }
.intencje-sposoby { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.intencja-sposob {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--marian-ice); border-radius: var(--radius);
  border: 1px solid var(--marian-pale);
}
.intencja-sposob i { font-size: 18px; color: var(--navy-sky); width: 24px; text-align: center; }
.intencja-sposob div strong { display: block; font-size: 14px; color: var(--navy); }
.intencja-sposob div span { font-size: 13px; color: var(--text-body); }
.intencje-form {
  background: var(--white); border: 1px solid var(--cream-dark);
  border-radius: var(--radius); overflow: hidden;
}
.form-header { background: var(--gold-rich); color: #fff; padding: 18px 24px; }
.form-header h3 { font-family: var(--serif); font-size: 20px; }
.form-header p { font-size: 13px; opacity: .85; margin-top: 4px; }
.form-body { padding: 24px; }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--navy); margin-bottom: 5px; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; padding: 10px 14px;
  border: 1.5px solid var(--cream-dark); border-radius: var(--radius);
  font-family: var(--sans); font-size: 14px; color: var(--text-dark);
  background: var(--white); transition: border-color .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline: none; border-color: var(--navy-sky); }
.form-group textarea { height: 90px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-submit { width: 100%; margin-top: 4px; }

/* ─── WSPÓLNOTY ─────────────────────────────────────────────── */
.wspolnoty-section { background: var(--marian-ice); padding: 64px 0; }
.wspolnoty-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.wspolnota-card {
  background: var(--white); border-radius: var(--radius);
  padding: 24px; border: 1px solid var(--cream-dark);
  transition: box-shadow .2s, transform .2s;
}
.wspolnota-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.wspolnota-icon {
  width: 52px; height: 52px; background: var(--navy);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.wspolnota-icon i { font-size: 22px; color: var(--gold-bright); }
.wspolnota-card h3 { font-family: var(--serif); font-size: 17px; color: var(--navy); margin-bottom: 8px; }
.wspolnota-card p { font-size: 13px; color: var(--text-body); line-height: 1.6; margin-bottom: 10px; }
.wspolnota-tag {
  display: inline-block; font-size: 11px;
  background: var(--marian-ice); color: var(--navy-mid);
  padding: 3px 10px; border-radius: 12px; font-weight: 600;
}

/* ─── PIELGRZYMKI PREVIEW ───────────────────────────────────── */
.pielgrzymki-section {
  background: var(--cream); padding: 64px 0;
  border-top: 1px solid var(--cream-dark);
}
.pielgrzymki-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.pielgrzymi-odpusty { display: flex; flex-direction: column; gap: 12px; }
.odpust-card {
  background: var(--white); border: 1px solid var(--cream-dark);
  border-radius: var(--radius); padding: 18px 20px;
  display: flex; align-items: center; gap: 16px;
}
.odpust-date {
  background: var(--navy); color: #fff;
  border-radius: 6px; padding: 10px 14px;
  text-align: center; flex-shrink: 0; min-width: 64px;
}
.odpust-date .day { font-family: var(--serif); font-size: 22px; color: var(--gold-bright); line-height: 1; }
.odpust-date .month { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; opacity: .75; margin-top: 2px; }
.odpust-card h4 { font-family: var(--serif); font-size: 16px; color: var(--navy); margin-bottom: 3px; }
.odpust-card p { font-size: 13px; color: var(--text-body); }

/* ─── FOOTER ────────────────────────────────────────────────── */
footer { background:#071628; color: rgba(255,255,255,.85); }
.footer-main { padding: 52px 0 36px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-widget h3 {
  font-family: var(--serif); font-size: 16px; color: var(--gold-bright);
  margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.footer-widget p { font-size: 14px; line-height: 1.8; color: rgba(255,255,255,.72); }
.footer-link {
  display: block; font-size: 14px; color: rgba(255,255,255,.72);
  padding: 4px 0; transition: color .15s;
}
.footer-link:hover { color: var(--gold-bright); }
.footer-link::before { content: '›'; margin-right: 7px; color: var(--gold-bright); }
.footer-social { display: flex; gap: 8px; margin-top: 16px; }
.social-btn {
  width: 36px; height: 36px; background: rgba(255,255,255,.1);
  border-radius: 8px; display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.75); font-size: 15px; cursor: pointer;
  transition: background .15s, color .15s; border: none;
}
.social-btn:hover { background: rgba(255,255,255,.2); color: var(--gold-bright); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 16px 0;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; color: rgba(255,255,255,.4);
  flex-wrap: wrap; gap: 8px;
}
.footer-bottom a { color: rgba(255,255,255,.5); }
.footer-bottom a:hover { color: var(--gold-bright); }

/* ─── BACK TO TOP ───────────────────────────────────────────── */
.back-to-top {
  position: fixed; bottom: 24px; right: 24px;
  width: 44px; height: 44px; background: var(--navy);
  border: 2px solid var(--gold-bright); border-radius: 50%;
  color: var(--gold-bright); font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-md); opacity: 0; transition: opacity .3s;
  z-index: 900;
}
.back-to-top.visible { opacity: 1; }

/* ─── BREADCRUMBS ───────────────────────────────────────────── */
.breadcrumbs {
  background: var(--cream); padding: 10px 0;
  border-bottom: 1px solid var(--cream-dark); font-size: 13px; color: var(--text-body);
}
.breadcrumbs a { color: var(--navy-mid); }
.breadcrumbs span { margin: 0 6px; opacity: .5; }

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .hero-inner, .obraz-inner, .historia-inner, .intencje-inner, .pielgrzymki-inner { grid-template-columns: 1fr; }
  .hero-image-wrap { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .obraz-frame { display: none; }
  .quick-icons-inner { grid-template-columns: 1fr; }
  .qi-item { border-right: none; border-bottom: 1px solid var(--cream-dark); }
  .qi-item:last-child { border-bottom: none; }
}
@media (max-width: 640px) {
  .topbar-left span:not(:first-child) { display: none; }
  .topbar-right { display: none; }
  .header-mass { display: none; }
  .main-menu { display: none; flex-direction: column; width: 100%; }
  .main-menu.open { display: flex; }
  .mobile-toggle { display: block; }
  .footer-grid { grid-template-columns: 1fr; }
  .news-grid { grid-template-columns: 1fr; }
  .historia-fakty { grid-template-columns: repeat(3,1fr); }
  .msze-grid { grid-template-columns: 1fr; }
  .wspolnoty-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  header.scrolled .header-phone-sticky { display: flex; }
  header.scrolled nav.main-nav { display: none; }
}

/* ─── DARK MODE ─────────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  :root {
    --navy:#0d2b5e; --navy-mid:#1d4a8a; --navy-sky:#2f6bbf;
    --gold:#a87c00; --gold-rich:#a87c00; --gold-bright:#c9970a; --gold-pale:#fdf0c8; --gold-border:#a87c00;
    --cream:#f3efe8; --cream-dark:#e5dece; --ice:#eef4fc; --pale:#d6e6f8;
    --white:#fff;
    --marian-pale:#d6e6f8; --marian-ice:#eef4fc;
    --text:#0d1e38; --text-dark:#0d1e38; --text-body:#2c4878; --body:#2c4878;
    --text-mid:#1e3a6e; --text-muted:#3d5a8a; --muted:#3d5a8a;
  }
}

/* ─── ANIMATIONS ────────────────────────────────────────────── */
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
.animate-in { animation: fadeUp .6s ease both; }
[data-delay="1"] { animation-delay: .1s; }
[data-delay="2"] { animation-delay: .2s; }
[data-delay="3"] { animation-delay: .3s; }

/* ─── DUSZPASTERZE ──────────────────────────────────────────── */
.duszp-section { background: var(--navy); padding: 72px 0; }
.duszp-intro { text-align: center; max-width: 640px; margin: 0 auto 52px; }
.duszp-intro .eyebrow { font-size:11px; font-weight:700; color:var(--gold-bright); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.duszp-intro h2 { font-family:var(--serif); font-size:32px; color:#fff; margin-bottom:14px; }
.duszp-intro p { font-size:15px; color:rgba(255,255,255,.72); line-height:1.8; }
.duszp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; }
.duszp-card {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  padding:28px 24px;
  text-align:center;
  transition:background .2s, transform .2s;
  position:relative;
  overflow:hidden;
}
.duszp-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--gold), var(--gold-bright));
}
.duszp-card:hover { background:rgba(255,255,255,.10); transform:translateY(-4px); }
.duszp-card.proboszcz { border-color:rgba(201,151,10,.4); background:rgba(201,151,10,.07); }
.duszp-card.proboszcz::before { height:4px; }
.duszp-avatar {
  width:80px; height:80px; border-radius:50%;
  background:linear-gradient(135deg, var(--navy-sky), var(--navy-mid));
  border:3px solid rgba(201,151,10,.5);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  font-size:28px;
}
.duszp-card.proboszcz .duszp-avatar {
  width:96px; height:96px;
  border-color:var(--gold-bright);
  background:linear-gradient(135deg, var(--gold-rich), #5a4000);
}
.duszp-photo {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(201,151,10,.5);
  margin: 0 auto 16px;
  background: linear-gradient(135deg, var(--navy-sky), var(--navy-mid));
}
.duszp-card.proboszcz .duszp-photo {
  width: 96px;
  height: 96px;
  border-color: var(--gold-bright);
}
.duszp-card .duszp-photo + .duszp-avatar {
  display: none;
}
.duszp-zakon {
  display:inline-block;
  font-size:11px; font-weight:700;
  color:var(--gold-bright);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.duszp-name {
  font-family:var(--serif);
  font-size:18px; color:#fff;
  margin-bottom:6px; line-height:1.3;
}
.duszp-card.proboszcz .duszp-name { font-size:21px; }
.duszp-rola {
  font-size:13px;
  color:rgba(255,255,255,.62);
  line-height:1.6;
  margin-bottom:16px;
}
.duszp-badge {
  display:inline-block;
  background:rgba(201,151,10,.18);
  border:1px solid rgba(201,151,10,.35);
  color:var(--gold-bright);
  font-size:11px; font-weight:600;
  padding:4px 12px; border-radius:12px;
}
.duszp-kontakt {
  margin-top:14px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex; flex-direction:column; gap:6px;
}
.duszp-kontakt a {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  font-size:13px; color:rgba(255,255,255,.7);
  transition:color .15s;
}
.duszp-kontakt a:hover { color:var(--gold-bright); }
.duszp-paulini-info {
  margin-top:48px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  padding:28px 32px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  align-items:center;
}
.paulini-logo {
  width:72px; height:72px;
  background:rgba(201,151,10,.15);
  border:2px solid rgba(201,151,10,.4);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:28px;
  flex-shrink:0;
}
.paulini-text h4 { font-family:var(--serif); font-size:18px; color:var(--gold-bright); margin-bottom:8px; }
.paulini-text p { font-size:14px; color:rgba(255,255,255,.68); line-height:1.7; }
.paulini-text a { color:var(--gold-bright); }
.paulini-text a:hover { text-decoration:underline; }
@media (max-width:640px) {
  .duszp-paulini-info { grid-template-columns:1fr; text-align:center; }
  .paulini-logo { margin:0 auto; }
  .official-photo-grid { grid-template-columns: 1fr; }
  .official-photo-card,
  .official-photo-card.panorama { min-height: 260px; }
}

/* ─── BLOCK THEME COMPATIBILITY ─────────────────────────────── */
.wp-site-blocks,
.editor-styles-wrapper {
  background: var(--cream);
  color: var(--text-dark);
  font-family: var(--sans);
}
.wp-site-blocks > *,
.editor-styles-wrapper > * {
  margin-block-start: 0;
}
.wp-block-group,
.wp-block-columns,
.wp-block-column {
  box-sizing: border-box;
}
.wp-block-columns {
  margin-bottom: 0;
}
.wp-block-post-content > * {
  margin-block-start: 1rem;
  margin-block-end: 1rem;
}
.wp-block-post-content > :first-child {
  margin-block-start: 0;
}
.wp-block-post-content > :last-child {
  margin-block-end: 0;
}

.topbar p,
.topbar .wp-block-paragraph,
.ann-item p,
.footer-widget p,
.header-title p,
.header-mass p {
  margin: 0;
}
.topbar-left p,
.topbar-right p {
  display: flex;
  align-items: center;
  gap: 5px;
}
.topbar-left,
.topbar-right,
.header-inner,
.ann-inner,
.footer-bottom {
  margin-block-start: 0;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.site-header .container {
  width: 100%;
}
.logo-shield .wp-block-site-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.header-title .wp-block-site-title {
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
}
.header-title .wp-block-site-title a {
  color: var(--navy);
}
.header-title .wp-block-site-tagline {
  font-size: 13px;
  color: var(--text-body);
  margin: 2px 0 0;
  letter-spacing: .3px;
}

nav.main-nav.wp-block-navigation {
  background: var(--navy);
  border-top: 1px solid rgba(255,255,255,.08);
  gap: 0;
  padding: 0;
}
.main-nav .wp-block-navigation__container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  gap: 0;
}
.main-nav .wp-block-navigation-item {
  margin: 0;
}
.main-nav .wp-block-navigation-item__content {
  display: block;
  padding: 15px 18px;
  color: rgba(255,255,255,.92);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .4px;
  text-transform: uppercase;
  transition: color .2s, background .2s;
}
.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item > .wp-block-navigation-item__content {
  color: var(--gold-bright);
  background: rgba(255,255,255,.07);
}
.main-nav .wp-block-navigation__submenu-container {
  background: var(--white);
  min-width: 230px;
  border-top: 3px solid var(--navy-sky);
  box-shadow: var(--shadow-md);
  border-radius: 0 0 var(--radius) var(--radius);
  color: var(--text-mid);
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: var(--text-mid);
  padding: 12px 18px;
  text-transform: none;
  letter-spacing: 0;
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--marian-pale);
  color: var(--navy);
}

.wp-block-button.btn-gold .wp-block-button__link,
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button.btn-outline .wp-block-button__link {
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 14px 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wp-block-button.btn-gold .wp-block-button__link {
  background: var(--gold-rich);
  border: 2px solid var(--gold-rich);
  color: #fff;
}
.wp-block-button.btn-primary .wp-block-button__link {
  background: var(--navy);
  border: 2px solid var(--navy);
  color: var(--gold-bright);
}
.wp-block-button.btn-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--navy);
  color: var(--navy);
}
.wp-block-button.btn-gold .wp-block-button__link:hover {
  background: #7a5900;
  border-color: #7a5900;
}
.wp-block-button.btn-primary .wp-block-button__link:hover {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
}
.wp-block-button.btn-outline .wp-block-button__link:hover {
  background: var(--marian-pale);
}

.hero .wp-block-heading,
.obraz-text .wp-block-heading,
.section-title .wp-block-heading,
.historia-text .wp-block-heading,
.prayer-content .wp-block-heading,
.intencje-info .wp-block-heading,
.duszp-intro .wp-block-heading {
  margin: 0;
}
.hero .hero-sub,
.obraz-text > p,
.section-title p,
.historia-text > p,
.intencje-info > p,
.duszp-intro p {
  margin: 0;
}
.hero-btns,
.news-center {
  margin-block-start: 0;
}
.hero-image .wp-block-html,
.obraz-frame .wp-block-html {
  margin: 0;
}
.qi-item p,
.dostep-card p,
.msze-card p,
.news-card p,
.wspolnota-card p,
.odpust-card p,
.duszp-card p {
  margin: 0;
}
.quick-icons-inner,
.dostep-grid,
.msze-grid,
.news-grid,
.wspolnoty-grid,
.duszp-grid,
.pielgrzymi-odpusty,
.obraz-fakty,
.historia-fakty,
.intencje-sposoby {
  margin-block-start: 0;
}
.news-card .wp-block-post-featured-image,
.news-card .wp-block-post-title,
.news-card .wp-block-post-date,
.news-card .wp-block-post-excerpt {
  margin: 0;
}
.news-card .wp-block-post-title a {
  color: var(--navy);
}
.news-content,
.news-body {
  padding: 22px 24px 26px;
}
.page-content {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  background: var(--cream);
}
.page-content > p,
.page-content > h2,
.page-content > h3,
.page-content > ul,
.page-content > ol {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.page-hero {
  background: var(--ice);
  border-bottom: 1px solid var(--cream-dark);
  margin: 0 auto 28px;
  padding: 46px 24px;
  text-align: center;
}

.page-hero .wp-block-post-title,
.page-hero .wp-block-heading,
.page-hero h1 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.15;
  margin: 0 auto 12px;
  max-width: 920px;
  position: relative;
}

.page-hero .wp-block-post-title::after,
.page-hero .wp-block-heading::after,
.page-hero h1::after {
  background: var(--gold-bright);
  content: "";
  display: block;
  height: 3px;
  margin: 16px auto 0;
  width: 54px;
}

.page-hero p,
.page-hero .wp-block-post-excerpt {
  color: var(--text-body);
  font-size: 15px;
  margin: 0 auto;
  max-width: 760px;
}

.page-content .container.section {
  background: var(--cream);
}

.page-content .wp-block-post-content,
.page-content > .wp-block-group:not(.breadcrumbs):not(.page-hero) {
  color: var(--text-dark);
}

.breadcrumbs {
  background: var(--cream);
}
.footer-social a,
.footer-social .wp-block-button__link {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.75);
  font-size: 15px;
  padding: 0;
}
.footer-social a:hover,
.footer-social .wp-block-button__link:hover {
  background: rgba(255,255,255,.2);
  color: var(--gold-bright);
}
.footer-link {
  margin: 0;
}
.footer-link a {
  color: inherit;
}
.back-to-top {
  border: 0;
}

@media (max-width: 782px) {
  .main-nav .wp-block-navigation__responsive-container-open {
    color: #fff;
    margin: 10px 24px 10px auto;
  }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--navy);
    color: #fff;
  }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding: 80px 24px 24px;
  }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #fff;
    padding: 12px 0;
  }
}


/* ─── BANER LITURGICZNY — kolor = kolor szat danego dnia ──────── */
/*
  Klasy na .liturg-bar: .bialy | .zielony | .fioletowy | .czerwony
  Każda klasa zmienia tło CAŁEGO baneru + kolory elementów.
  Czytania w dolnym pasku jako klikalne linki do biblia.pl
*/

/* ── BIAŁY (Wielkanoc, NMP, wyznawcy) ── */
.liturg-bar.bialy {
  background: linear-gradient(90deg, #ece4c4 0%, #f6eed4 50%, #ece4c4 100%);
  border-top: 1px solid #d4b870;
  border-bottom: 3px solid #b89228;
}
.liturg-bar.bialy .liturg-szata      { border-right-color: rgba(180,140,30,.3); }
.liturg-bar.bialy .szata-kolor-label { color: rgba(60,35,0,.55); }
.liturg-bar.bialy .szata-ikona.bialy { background: rgba(255,255,255,.55); border: 1.5px solid rgba(180,140,30,.6); }
.liturg-bar.bialy .liturg-date-block { background: rgba(180,140,30,.15); border-right-color: rgba(180,140,30,.3); }
.liturg-bar.bialy .day-num           { color: #6a3c00; }
.liturg-bar.bialy .day-name,
.liturg-bar.bialy .day-wk            { color: rgba(80,45,0,.55); }
.liturg-bar.bialy .liturg-period     { color: rgba(70,40,0,.55); }
.liturg-bar.bialy .liturg-name       { color: #1a0e00; }
.liturg-bar.bialy .liturg-right      { border-left-color: rgba(180,140,30,.3); }
.liturg-bar.bialy .liturg-rok        { color: rgba(60,35,0,.5); }
.liturg-bar.bialy .liturg-psalterz   { color: rgba(60,35,0,.75); }
.liturg-bar.bialy .liturg-jutro      { background: rgba(180,140,30,.1); border-left-color: rgba(180,140,30,.25); }
.liturg-bar.bialy .jutro-lbl         { color: rgba(70,40,0,.45); }
.liturg-bar.bialy .liturg-jutro strong { color: #5a2000; }
.liturg-bar.bialy .jutro-sub         { color: #b03020; }
/* czytania */
.liturg-bar.bialy .liturg-readings-row { border-top-color: rgba(180,140,30,.25); }
.liturg-bar.bialy .reading-lbl       { color: rgba(80,45,0,.5); }
.liturg-bar.bialy .czyt-link         { background: rgba(180,140,30,.18); border-color: rgba(180,140,30,.55); color: #4a2800; }
.liturg-bar.bialy .czyt-link:hover   { background: rgba(180,140,30,.35); }
.liturg-bar.bialy .czyt-zestaw       { background: rgba(180,140,30,.25); border-color: rgba(180,140,30,.65); color: #3c2000; }
.liturg-bar.bialy .czyt-sep          { color: rgba(100,60,0,.3); }
.liturg-bar.bialy .reading-cite      { color: rgba(70,40,0,.4); }

/* ── ZIELONY (Czas zwykły) ── */
.liturg-bar.zielony {
  background: linear-gradient(90deg, #193c0e 0%, #225016 50%, #193c0e 100%);
  border-top: 1px solid rgba(80,160,40,.35);
  border-bottom: 3px solid #4a9c28;
}
.liturg-bar.zielony .szata-kolor-label  { color: rgba(255,255,255,.5); }
.liturg-bar.zielony .szata-ikona.zielony { background: rgba(80,180,40,.35); border: 1.5px solid rgba(80,180,40,.65); }
.liturg-bar.zielony .liturg-date-block  { background: rgba(80,180,40,.12); border-right-color: rgba(80,180,40,.25); }
.liturg-bar.zielony .day-num            { color: #a8e870; }
.liturg-bar.zielony .day-name,
.liturg-bar.zielony .day-wk             { color: rgba(255,255,255,.45); }
.liturg-bar.zielony .liturg-period      { color: rgba(255,255,255,.45); }
.liturg-bar.zielony .liturg-name        { color: #c8f0a0; }
.liturg-bar.zielony .liturg-right       { border-left-color: rgba(255,255,255,.1); }
.liturg-bar.zielony .liturg-rok         { color: rgba(255,255,255,.4); }
.liturg-bar.zielony .liturg-psalterz    { color: rgba(255,255,255,.72); }
.liturg-bar.zielony .liturg-jutro       { background: rgba(255,255,255,.06); border-left-color: rgba(255,255,255,.1); }
.liturg-bar.zielony .jutro-lbl          { color: rgba(255,255,255,.35); }
.liturg-bar.zielony .liturg-jutro strong { color: #d4f090; }
.liturg-bar.zielony .jutro-sub          { color: rgba(220,100,100,.9); }
.liturg-bar.zielony .liturg-readings-row { border-top-color: rgba(255,255,255,.1); }
.liturg-bar.zielony .reading-lbl        { color: rgba(255,255,255,.4); }
.liturg-bar.zielony .czyt-link          { background: rgba(80,180,40,.18); border-color: rgba(80,180,40,.45); color: #b8f078; }
.liturg-bar.zielony .czyt-link:hover    { background: rgba(80,180,40,.32); }
.liturg-bar.zielony .czyt-zestaw        { background: rgba(80,180,40,.22); border-color: rgba(80,180,40,.55); color: #a8e860; }
.liturg-bar.zielony .czyt-sep           { color: rgba(255,255,255,.25); }
.liturg-bar.zielony .reading-cite       { color: rgba(255,255,255,.32); }

/* ── FIOLETOWY (Wielki Post, Adwent) ── */
.liturg-bar.fioletowy {
  background: linear-gradient(90deg, #22083c 0%, #2e0e4e 50%, #22083c 100%);
  border-top: 1px solid rgba(140,60,200,.4);
  border-bottom: 3px solid #8b3fc0;
}
.liturg-bar.fioletowy .szata-kolor-label  { color: rgba(255,255,255,.5); }
.liturg-bar.fioletowy .szata-ikona.fioletowy { background: rgba(140,60,200,.35); border: 1.5px solid rgba(140,60,200,.6); }
.liturg-bar.fioletowy .liturg-date-block  { background: rgba(140,60,200,.12); border-right-color: rgba(140,60,200,.3); }
.liturg-bar.fioletowy .day-num            { color: #d8a8ff; }
.liturg-bar.fioletowy .day-name,
.liturg-bar.fioletowy .day-wk             { color: rgba(255,255,255,.4); }
.liturg-bar.fioletowy .liturg-period      { color: rgba(255,255,255,.42); }
.liturg-bar.fioletowy .liturg-name        { color: #e4c8ff; }
.liturg-bar.fioletowy .liturg-right       { border-left-color: rgba(255,255,255,.1); }
.liturg-bar.fioletowy .liturg-rok         { color: rgba(255,255,255,.38); }
.liturg-bar.fioletowy .liturg-psalterz    { color: rgba(255,255,255,.7); }
.liturg-bar.fioletowy .liturg-jutro       { background: rgba(255,255,255,.06); border-left-color: rgba(255,255,255,.1); }
.liturg-bar.fioletowy .jutro-lbl          { color: rgba(255,255,255,.35); }
.liturg-bar.fioletowy .liturg-jutro strong { color: #e0c8ff; }
.liturg-bar.fioletowy .jutro-sub          { color: rgba(220,100,100,.9); }
.liturg-bar.fioletowy .liturg-readings-row { border-top-color: rgba(255,255,255,.1); }
.liturg-bar.fioletowy .reading-lbl        { color: rgba(255,255,255,.38); }
.liturg-bar.fioletowy .czyt-link          { background: rgba(140,60,200,.18); border-color: rgba(140,60,200,.45); color: #d4a8ff; }
.liturg-bar.fioletowy .czyt-link:hover    { background: rgba(140,60,200,.32); }
.liturg-bar.fioletowy .czyt-zestaw        { background: rgba(140,60,200,.22); border-color: rgba(140,60,200,.55); color: #c890ff; }
.liturg-bar.fioletowy .czyt-sep           { color: rgba(255,255,255,.22); }
.liturg-bar.fioletowy .reading-cite       { color: rgba(255,255,255,.3); }

/* ── CZERWONY (Męczennicy, Zesłanie Ducha Świętego) ── */
.liturg-bar.czerwony {
  background: linear-gradient(90deg, #440a0a 0%, #5a1010 50%, #440a0a 100%);
  border-top: 1px solid rgba(200,50,50,.4);
  border-bottom: 3px solid #d13030;
}
.liturg-bar.czerwony .szata-kolor-label  { color: rgba(255,255,255,.5); }
.liturg-bar.czerwony .szata-ikona.czerwony { background: rgba(200,50,50,.35); border: 1.5px solid rgba(200,50,50,.65); }
.liturg-bar.czerwony .liturg-date-block  { background: rgba(200,50,50,.14); border-right-color: rgba(200,50,50,.3); }
.liturg-bar.czerwony .day-num            { color: #ffb0a0; }
.liturg-bar.czerwony .day-name,
.liturg-bar.czerwony .day-wk             { color: rgba(255,255,255,.42); }
.liturg-bar.czerwony .liturg-period      { color: rgba(255,255,255,.42); }
.liturg-bar.czerwony .liturg-name        { color: #ffd0c8; }
.liturg-bar.czerwony .liturg-right       { border-left-color: rgba(255,255,255,.1); }
.liturg-bar.czerwony .liturg-rok         { color: rgba(255,255,255,.38); }
.liturg-bar.czerwony .liturg-psalterz    { color: rgba(255,255,255,.7); }
.liturg-bar.czerwony .liturg-jutro       { background: rgba(255,255,255,.06); border-left-color: rgba(255,255,255,.1); }
.liturg-bar.czerwony .jutro-lbl          { color: rgba(255,255,255,.35); }
.liturg-bar.czerwony .liturg-jutro strong { color: #ffc0b0; }
.liturg-bar.czerwony .jutro-sub          { color: rgba(255,200,80,.85); }
.liturg-bar.czerwony .liturg-readings-row { border-top-color: rgba(255,255,255,.1); }
.liturg-bar.czerwony .reading-lbl        { color: rgba(255,255,255,.38); }
.liturg-bar.czerwony .czyt-link          { background: rgba(200,50,50,.18); border-color: rgba(200,50,50,.45); color: #ffb8a8; }
.liturg-bar.czerwony .czyt-link:hover    { background: rgba(200,50,50,.32); }
.liturg-bar.czerwony .czyt-zestaw        { background: rgba(200,50,50,.22); border-color: rgba(200,50,50,.55); color: #ffa898; }
.liturg-bar.czerwony .czyt-sep           { color: rgba(255,255,255,.22); }
.liturg-bar.czerwony .reading-cite       { color: rgba(255,255,255,.3); }

/* Exact color layer from the provided HTML reference */
:root,
body {
  --navy:#0d2b5e;
  --navy-mid:#1d4a8a;
  --navy-sky:#2f6bbf;
  --gold:#a87c00;
  --gold-rich:#a87c00;
  --gold-bright:#c9970a;
  --gold-pale:#fdf0c8;
  --cream:#f3efe8;
  --cream-dark:#e5dece;
  --ice:#eef4fc;
  --pale:#d6e6f8;
  --text:#0d1e38;
  --text-dark:#0d1e38;
  --text-body:#2c4878;
  --body:#2c4878;
  --muted:#3d5a8a;
  --text-mid:#1e3a6e;
  --text-muted:#3d5a8a;
  --marian-pale:#d6e6f8;
  --marian-ice:#eef4fc;
}

body,
.page-content,
.wp-site-blocks {
  background: #f3efe8;
  color: #0d1e38;
}

.topbar,
footer,
.foot {
  background: #071628 !important;
  color: rgba(255,255,255,.82) !important;
}

.topbar a,
footer a,
.footer-link:hover,
.footer-widget h3,
.footer-bottom a:hover {
  color: #c9970a !important;
}

header,
.site-header,
.hd {
  background: #f3efe8 !important;
  border-bottom: 1px solid #e5dece !important;
  box-shadow: 0 2px 12px rgba(13,43,94,.08) !important;
}

.logo-shield,
.logo {
  background: #0d2b5e !important;
  border-color: #a87c00 !important;
}

.header-title h1,
.header-title .wp-block-site-title a,
.page-hero h1,
.page-hero .wp-block-post-title,
.page-hero .wp-block-heading,
.section-title h2,
.dostep-card h3,
.wspolnota-card h3,
.news-card h3,
.news-body h3,
.gallery-album-body .wp-block-post-title a,
.intention-card .wp-block-post-title a,
.weekly-intentions h3 {
  color: #0d2b5e !important;
}

.header-title p,
.header-title .wp-block-site-tagline,
.hero-sub,
.section-title p,
.dostep-card p,
.wspolnota-card p,
.news-body p,
.gallery-album-body .wp-block-post-excerpt,
.intention-card .wp-block-post-excerpt,
.weekly-intentions p,
.page-hero p,
.page-hero .wp-block-post-excerpt,
.breadcrumbs,
.breadcrumbs a {
  color: #2c4878 !important;
}

.header-mass .badge,
.hbg {
  background: #d6e6f8 !important;
  border-color: #2f6bbf !important;
  color: #0d2b5e !important;
}

nav.main-nav,
.main-nav.wp-block-navigation,
nav {
  background: #0d2b5e !important;
}

.main-nav .wp-block-navigation-item__content,
nav a {
  color: rgba(255,255,255,.9) !important;
}

.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item > .wp-block-navigation-item__content,
nav a.on {
  color: #c9970a !important;
  background: rgba(255,255,255,.07) !important;
}

.main-nav .wp-block-navigation__submenu-container {
  background: #fff !important;
  border-top-color: #2f6bbf !important;
}

.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: #1e3a6e !important;
}

.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: #d6e6f8 !important;
  color: #0d2b5e !important;
}

.liturg-bar,
.liturg-bar.bialy,
.liturg-bar.zielony,
.liturg-bar.fioletowy,
.liturg-bar.czerwony {
  background: #1d4a8a !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  color: #fff !important;
}

.liturg-bar *,
.liturg-bar.bialy *,
.liturg-bar.zielony *,
.liturg-bar.fioletowy *,
.liturg-bar.czerwony * {
  color: #fff !important;
}

.liturg-bar .czyt-link,
.liturg-bar .czyt-zestaw {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}

.ann-bar {
  background: #0d2b5e !important;
  border: 0 !important;
  color: rgba(255,255,255,.88) !important;
}

.ann-label {
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(201,151,10,.35) !important;
  color: #c9970a !important;
}

.ann-item {
  color: rgba(255,255,255,.88) !important;
}

.ann-date {
  color: #c9970a !important;
}

.hero,
.page-hero,
.msze-section,
.wspolnoty-section,
.news-section,
.sca {
  background: #eef4fc !important;
}

.dostep-section,
.official-photo-section,
.scw,
.page-content .container.section {
  background: #fff !important;
}

.hero-eyebrow,
.eyebrow,
.ey,
.historia-text .eyebrow,
.duszp-intro .eyebrow,
.obraz-text .eyebrow {
  color: #c9970a !important;
}

.btn-gold,
.btn-gold:hover,
.wp-block-button.btn-gold .wp-block-button__link,
.wp-block-button.btn-gold .wp-block-button__link:hover,
.form-header,
.sbtn {
  background: #a87c00 !important;
  border-color: #a87c00 !important;
  color: #fff !important;
}

.btn-primary,
.btn-primary:hover,
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button.btn-primary .wp-block-button__link:hover,
.cho-btn {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #fff !important;
}

.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link {
  background: transparent !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
}

.btn-outline:hover,
.wp-block-button.btn-outline .wp-block-button__link:hover {
  background: #d6e6f8 !important;
}

.dostep-card,
.msze-card,
.news-card,
.wspolnota-card,
.odpust-card,
.gallery-album-card,
.intention-card,
.weekly-intentions,
.official-gallery-grid figure,
.current-notice > div,
.intentions-howto > div {
  background: #fff !important;
  border-color: #d6e6f8 !important;
}

.dostep-icon,
.qi-icon,
.intentions-grid > div {
  background: #d6e6f8 !important;
}

.dostep-icon i,
.qi-icon i,
.cho-ic,
.read-more {
  color: #2f6bbf !important;
}

.msze-card-head,
.mb-hd,
.kc-hd {
  background: #0d2b5e !important;
  color: #fff !important;
}

.msze-card-head.sunday {
  background: #a87c00 !important;
  color: #fff !important;
}

.msze-extra,
.obraz-fakt strong,
.odpust-date .day,
.duszp-card .duszp-zakon,
.duszp-badge {
  color: #c9970a !important;
}

.obraz-section,
.historia-section,
.historia,
.duszp-section {
  background: #0d2b5e !important;
}

.obraz-section h2,
.obraz-section h3,
.historia-section h2,
.historia-section h3,
.duszp-section h2,
.duszp-section h3,
.obraz-text h3,
.historia-text h2,
.duszp-intro h2 {
  color: #fff !important;
}

.obraz-text > p,
.historia-text p,
.duszp-intro p,
.duszp-rola,
.paulini-text p {
  color: rgba(255,255,255,.78) !important;
}

.obraz-frame,
.hero-image,
.news-img-wrap,
.official-photo-card {
  border-color: #c5d8f0 !important;
}

.source-note {
  display: none !important;
}

/* v3.9.0 finalne nadpisanie po wszystkich wczesniejszych poprawkach */
.ann-bar {
  display: none !important;
}

body .liturg-bar.bialy {
  background: linear-gradient(135deg,#fffdf7,#f6e2a8) !important;
}

body .liturg-bar.zielony {
  background: linear-gradient(135deg,#064327,#0c7a46) !important;
}

body .liturg-bar.fioletowy {
  background: linear-gradient(135deg,#31114f,#673190) !important;
}

body .liturg-bar.czerwony {
  background: linear-gradient(135deg,#6f1010,#b82727) !important;
}

body .liturg-bar.rozowy {
  background: linear-gradient(135deg,#8a3e70,#d976b2) !important;
}

body .liturg-bar.czarny {
  background: linear-gradient(135deg,#111,#343434) !important;
}

body .liturg-bar.zielony *,
body .liturg-bar.fioletowy *,
body .liturg-bar.czerwony *,
body .liturg-bar.rozowy *,
body .liturg-bar.czarny * {
  color: #fff !important;
}

body .liturg-bar.bialy *,
body .liturg-bar.bialy .liturg-name,
body .liturg-bar.bialy .liturg-period,
body .liturg-bar.bialy .liturg-psalterz {
  color: #2a1a00 !important;
}

body .liturg-bar .czyt-zestaw,
body .liturg-bar .czyt-sep {
  display: none !important;
}

body .liturg-bar .czyt-link {
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: inherit !important;
}

body .liturg-bar.bialy .czyt-link {
  background: rgba(168,124,0,.16) !important;
  border-color: rgba(168,124,0,.42) !important;
}

main#main-content .dostep-card,
main#main-content .official-intro,
main#main-content .source-article,
main#main-content .weekly-intentions,
main#main-content .support-account,
main#main-content .support-list article,
main#main-content .group-edit-card,
main#main-content .sacrament-doc-list,
main#main-content .sacrament-doc-grid section,
main#main-content .song-list-grid article,
main#main-content .homily-panel,
main#main-content .contact-card,
main#main-content .office-hours-panel {
  background: #fff !important;
  color: #0d1e38 !important;
  border-color: #b8d0ea !important;
}

main#main-content .page-content p,
main#main-content .page-content li,
main#main-content .page-content figcaption,
main#main-content .page-content span {
  color: #193a66 !important;
}

.paulini-logo {
  width: 94px !important;
  height: 94px !important;
  border-radius: 14px !important;
  background: #fff url('assets/images/pauline-coat-of-arms.png') center / 86% no-repeat !important;
  border: 2px solid #c9970a !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.18), inset 0 0 0 5px rgba(253,240,200,.7) !important;
}

/* v4.1.0 strona sakramentow w ukladzie z przekazanego HTML */
.sak-page {
  margin: 28px 0;
  border: 1px solid #b8d0ea;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(13,43,94,.08);
}

.sak-section {
  padding: clamp(28px, 4vw, 54px);
}

.sak-white {
  background: #fff;
}

.sak-ice {
  background: #f4f8ff;
}

.sak-inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px,.95fr) minmax(0,1.05fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.sak-docs,
.sak-info {
  background: #fff;
  color: #0d1e38;
  border: 1px solid #b8d0ea;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(13,43,94,.08);
}

.sak-docs {
  padding: clamp(22px, 3vw, 34px);
}

.sak-docs h3 {
  margin: 18px 0 14px;
  color: #9f2d2f;
  font-family: Georgia, serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  letter-spacing: 0;
  text-transform: uppercase;
}

.sak-docs ul {
  margin: 0;
  padding-left: 1.15rem;
}

.sak-docs li {
  margin: .45rem 0;
  color: #193a66 !important;
  line-height: 1.55;
}

.sak-docs p {
  margin: 16px 0 0;
  color: #193a66 !important;
  line-height: 1.65;
}

.sak-icon-wrap {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(145deg,#16427d,#0d2b5e);
  color: #fff;
  box-shadow: 0 16px 30px rgba(13,43,94,.18);
}

.sak-icon-wrap i {
  font-size: 30px;
  color: #fff !important;
}

.sak-icon-wrap.fire {
  background: linear-gradient(145deg,#9a3412,#7c2d12);
}

.sak-icon-wrap.gold {
  background: linear-gradient(145deg,#b88700,#8c6800);
}

.sak-icon-wrap.green {
  background: linear-gradient(145deg,#166534,#14532d);
}

.sak-icon-wrap.violet {
  background: linear-gradient(145deg,#6b21a8,#4c1d95);
}

.sak-icon-wrap.blue {
  background: linear-gradient(145deg,#0c4a6e,#082f49);
}

.sak-icon-wrap.dark {
  background: linear-gradient(145deg,#1c1917,#292524);
}

.sak-tag {
  display: inline-block;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: #fdf0c8;
  color: #6f5100 !important;
  font-weight: 800;
  font-size: .78rem;
  text-transform: uppercase;
}

.sak-h2 {
  margin: 0 0 14px;
  color: #0d2b5e !important;
  font-family: Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.04;
  letter-spacing: 0;
}

.sak-duch {
  margin: 0 0 20px;
  color: #193a66 !important;
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
  line-height: 1.75;
}

.sak-info {
  padding: 18px 20px;
  background: #f4f8ff;
}

.sak-info .lbl {
  margin: 0 0 6px;
  color: #9f2d2f !important;
  font-weight: 900;
  text-transform: uppercase;
}

.sak-info .txt {
  margin: 0;
  color: #193a66 !important;
  line-height: 1.65;
}

@media (max-width: 860px) {
  .sak-inner {
    grid-template-columns: 1fr;
  }
}

/* v4.0 - czytelność i klikane sekcje */
main#main-content .duszp-section,
main#main-content .duszp-section .container {
  background: #0b2554 !important;
}

main#main-content .duszp-card {
  background: #ffffff !important;
  border-color: #c9970a !important;
  color: #0d1e38 !important;
  box-shadow: 0 16px 34px rgba(3, 18, 41, .16) !important;
}

main#main-content .duszp-card .duszp-name,
main#main-content .duszp-card h3,
main#main-content .duszp-card strong {
  color: #0d2b5e !important;
}

main#main-content .duszp-card .duszp-rola,
main#main-content .duszp-card p,
main#main-content .duszp-card span,
main#main-content .duszp-card a {
  color: #193a66 !important;
}

main#main-content .duszp-card .duszp-badge,
main#main-content .duszp-card .duszp-zakon {
  color: #8a6400 !important;
  background: rgba(201, 151, 10, .14) !important;
}

.source-person-card {
  overflow: hidden !important;
}

.source-person-card summary {
  cursor: pointer !important;
  display: grid !important;
  gap: 10px !important;
  list-style: none !important;
}

.source-person-card summary::-webkit-details-marker {
  display: none !important;
}

.source-person-name {
  color: #0d2b5e !important;
  display: block !important;
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 4px 0 0 !important;
}

.source-person-open {
  color: #8a6400 !important;
  display: inline-flex !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.source-person-detail {
  border-top: 1px solid #d5e2f0 !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
}

.source-person-detail p {
  color: #193a66 !important;
  margin: 0 !important;
}

.sacrament-toggle-list,
.song-accordion {
  display: grid !important;
  gap: 14px !important;
  margin: 24px 0 !important;
}

.sacrament-toggle,
.song-detail,
.interactive-map-panel {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  color: #0d1e38 !important;
  box-shadow: 0 12px 26px rgba(13, 43, 94, .08) !important;
}

.sacrament-toggle summary,
.song-detail summary {
  align-items: center !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: 34px 1fr auto !important;
  list-style: none !important;
  padding: 18px 20px !important;
}

.song-detail summary {
  grid-template-columns: 34px 1fr !important;
}

.sacrament-toggle summary::-webkit-details-marker,
.song-detail summary::-webkit-details-marker {
  display: none !important;
}

.sacrament-toggle summary i,
.song-detail summary i {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 50% !important;
  color: #fff !important;
  display: inline-flex !important;
  height: 34px !important;
  justify-content: center !important;
  width: 34px !important;
}

.sacrament-toggle summary strong,
.song-detail summary strong {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.12rem !important;
}

.sacrament-toggle summary span {
  color: #8a6400 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.sacrament-toggle-body,
.song-detail > div {
  border-top: 1px solid #d5e2f0 !important;
  padding: 18px 24px 22px !important;
}

.sacrament-toggle-body li,
.sacrament-toggle-body p,
.song-detail p {
  color: #193a66 !important;
}

.song-detail a,
.map-open-link {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 6px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  margin-top: 10px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
}

.interactive-map-panel {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr) !important;
  margin: 26px 0 !important;
  overflow: hidden !important;
}

.interactive-map-frame iframe {
  border: 0 !important;
  display: block !important;
  height: 100% !important;
  min-height: 420px !important;
  width: 100% !important;
}

.interactive-map-info {
  background: #f7fbff !important;
  padding: clamp(22px, 3vw, 34px) !important;
}

.interactive-map-info h2 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin-top: 0 !important;
}

.interactive-map-info p,
.interactive-map-info li {
  color: #193a66 !important;
}

.footer-external-links .footer-link a,
.footer-widget .footer-link a {
  color: rgba(255,255,255,.92) !important;
  text-decoration: none !important;
}

.footer-external-links .footer-link a:hover,
.footer-widget .footer-link a:hover {
  color: #f3c95b !important;
}

@media (max-width: 820px) {
  .interactive-map-panel {
    grid-template-columns: 1fr !important;
  }

  .sacrament-toggle summary {
    grid-template-columns: 34px 1fr !important;
  }

  .sacrament-toggle summary span {
    grid-column: 2 !important;
  }
}

/* v3.9.0 - porzadek podstron, kontrast i pasek liturgiczny */
.ann-bar {
  display: none !important;
}

main#main-content,
.page-content {
  background: #eef4fc !important;
  color: #0d1e38 !important;
}

main#main-content .page-content p,
main#main-content .page-content li,
main#main-content .page-content figcaption,
main#main-content .page-content span {
  color: #193a66 !important;
}

main#main-content .page-content h1,
main#main-content .page-content h2,
main#main-content .page-content h3,
main#main-content .page-content h4 {
  color: #0d2b5e !important;
}

main#main-content .dostep-card,
main#main-content .official-intro,
main#main-content .source-article,
main#main-content .weekly-intentions,
main#main-content .support-account,
main#main-content .support-list article,
main#main-content .group-edit-card,
main#main-content .sacrament-doc-list,
main#main-content .sacrament-doc-grid section,
main#main-content .song-list-grid article,
main#main-content .homily-panel,
main#main-content .contact-card,
main#main-content .office-hours-panel {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #0d1e38 !important;
  box-shadow: 0 14px 34px rgba(13,43,94,.08) !important;
}

.sacrament-photo-row,
.group-edit-grid,
.song-list-grid,
.support-list,
.sacrament-doc-grid {
  display: grid;
  gap: 18px;
}

.sacrament-photo-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 24px 0;
}

.sacrament-photo-row figure,
.official-gallery-grid figure {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px;
  overflow: hidden;
}

.sacrament-photo-row img,
.official-gallery-grid img {
  width: 100%;
  height: auto;
  display: block;
}

.sacrament-doc-list,
.support-panel,
.homily-panel {
  margin-top: 24px;
}

.sacrament-doc-list {
  padding: 28px;
  border-radius: 8px;
}

.sacrament-doc-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.sacrament-doc-grid section,
.support-list article,
.song-list-grid article,
.group-edit-card {
  border-radius: 8px;
  padding: 22px;
}

.group-edit-grid {
  grid-template-columns: 1fr;
  margin-top: 24px;
}

.group-edit-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(180px, 260px);
  gap: 20px;
  align-items: stretch;
}

.group-icon,
.support-list i {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #d6e6f8 !important;
  color: #0d2b5e !important;
  border: 1px solid #2f6bbf;
}

.group-news {
  margin-top: 12px;
  padding: 12px 14px;
  background: #fdf0c8 !important;
  border-left: 4px solid #a87c00;
  border-radius: 6px;
}

.group-photo-placeholder {
  margin: 0;
  min-height: 150px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 18px;
  background: #eef4fc !important;
  border: 1px dashed #2f6bbf !important;
  border-radius: 8px;
}

.group-photo-placeholder i {
  font-size: 30px;
  color: #2f6bbf !important;
}

.song-list-grid,
.support-list {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: 24px;
}

.song-list-grid a,
.homily-audio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: #0d2b5e !important;
  font-weight: 700;
}

.support-account {
  padding: 28px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.support-account h2 {
  font-size: clamp(22px, 4vw, 34px);
  word-break: break-word;
}

.homily-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 22px;
  padding: 28px;
  border-radius: 8px;
}

.homily-audio {
  justify-content: center;
  flex-direction: column;
  text-align: center;
  min-height: 180px;
  padding: 22px;
  background: #0d2b5e !important;
  color: #fff !important;
  border-radius: 8px;
}

.homily-audio i,
.homily-audio strong,
.homily-audio span {
  color: #fff !important;
}

.paulini-logo {
  width: 94px !important;
  height: 94px !important;
  border-radius: 14px !important;
  background: #fff url('assets/images/pauline-coat-of-arms.png') center / 86% no-repeat !important;
  border: 2px solid #c9970a !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.18), inset 0 0 0 5px rgba(253,240,200,.7) !important;
}

body .liturg-bar.bialy {
  background: linear-gradient(135deg,#fffdf7,#f6e2a8) !important;
}

body .liturg-bar.zielony {
  background: linear-gradient(135deg,#064327,#0c7a46) !important;
}

body .liturg-bar.fioletowy {
  background: linear-gradient(135deg,#31114f,#673190) !important;
}

body .liturg-bar.czerwony {
  background: linear-gradient(135deg,#6f1010,#b82727) !important;
}

body .liturg-bar.rozowy {
  background: linear-gradient(135deg,#8a3e70,#d976b2) !important;
}

body .liturg-bar.czarny {
  background: linear-gradient(135deg,#111,#343434) !important;
}

body .liturg-bar.zielony *,
body .liturg-bar.fioletowy *,
body .liturg-bar.czerwony *,
body .liturg-bar.rozowy *,
body .liturg-bar.czarny * {
  color: #fff !important;
}

body .liturg-bar.bialy *,
body .liturg-bar.bialy .liturg-name,
body .liturg-bar.bialy .liturg-period,
body .liturg-bar.bialy .liturg-psalterz {
  color: #2a1a00 !important;
}

body .liturg-bar .czyt-zestaw,
body .liturg-bar .czyt-sep {
  display: none !important;
}

body .liturg-bar .czyt-link {
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: inherit !important;
}

body .liturg-bar.bialy .czyt-link {
  background: rgba(168,124,0,.16) !important;
  border-color: rgba(168,124,0,.42) !important;
}

@media (max-width: 760px) {
  .sacrament-photo-row,
  .homily-panel,
  .group-edit-card {
    grid-template-columns: 1fr;
  }
}

/* v3.8.0 - wspolne tlo i kontrast podstron jak na stronie glownej */
main#main-content,
main#main-content .dostep-section,
.single main#main-content,
.page main#main-content {
  background: #f3efe8 !important;
  color: #0d1e38 !important;
}

main#main-content .hero {
  background: #eef4fc !important;
  color: #0d1e38 !important;
  border-bottom: 1px solid #d6e6f8 !important;
}

main#main-content .hero .wp-block-post-title,
main#main-content .hero h1,
main#main-content .hero h2 {
  color: #0d2b5e !important;
}

main#main-content .hero .hero-eyebrow {
  color: #1d4a8a !important;
}

main#main-content .hero .hero-sub,
main#main-content .hero .wp-block-post-excerpt,
main#main-content .hero .wp-block-post-excerpt p {
  color: #2c4878 !important;
}

main#main-content .page-content {
  background: transparent !important;
  color: #0d1e38 !important;
}

main#main-content .page-content h2,
main#main-content .page-content h3,
main#main-content .page-content h4,
main#main-content .page-content h5,
main#main-content .page-content h6 {
  color: #0d2b5e !important;
}

main#main-content .page-content p,
main#main-content .page-content li,
main#main-content .page-content td,
main#main-content .page-content figcaption {
  color: #2c4878 !important;
}

main#main-content .page-content a:not(.wp-block-button__link):not(.today-card):not(.qi-item):not(.source-hub-grid a) {
  color: #0d2b5e !important;
  font-weight: 800 !important;
  text-decoration-color: rgba(168,124,0,.55) !important;
}

main#main-content .page-content a:not(.wp-block-button__link):hover {
  color: #8c6800 !important;
}

main#main-content .timeline {
  background: #fff !important;
  border: 1px solid #c5d8f0 !important;
  border-left: 4px solid #2f6bbf !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(13,43,94,.08) !important;
  margin: 24px 0 !important;
  padding: clamp(20px, 3vw, 34px) clamp(20px, 3vw, 34px) clamp(10px, 2vw, 22px) clamp(38px, 4vw, 54px) !important;
}

main#main-content .tl-item::before {
  background: #fff !important;
  border-color: #2f6bbf !important;
}

main#main-content .tl-title {
  color: #0d2b5e !important;
}

main#main-content .tl-text {
  color: #2c4878 !important;
}

main#main-content .official-intro,
main#main-content .source-article,
main#main-content .source-link-list,
main#main-content .source-feature,
main#main-content .source-hub,
main#main-content .source-person-card,
main#main-content .dostep-card,
main#main-content .current-notice > div,
main#main-content .intentions-howto > div,
main#main-content .official-gallery-grid figure {
  background: #fff !important;
  border-color: #c5d8f0 !important;
  color: #0d1e38 !important;
}

main#main-content .source-feature ul,
main#main-content .source-link-list ul {
  color: #2c4878 !important;
}

main#main-content .source-hub-grid a {
  background: #eef4fc !important;
  color: #0d2b5e !important;
  border-color: #c5d8f0 !important;
}

/* v3.7.0 - liturgia, kancelaria, dokumenty i pełniejsze podstrony */
.liturg-bar.bialy {
  background: linear-gradient(135deg, #fffdf5 0%, #f7edd0 55%, #d9ad3a 100%) !important;
  color: #3c2a00 !important;
  border-bottom: 4px solid #b98600 !important;
}

.liturg-bar.zielony {
  background: linear-gradient(135deg, #0b4d2c 0%, #176f42 58%, #2c8b55 100%) !important;
  color: #fff !important;
  border-bottom: 4px solid #7bd68a !important;
}

.liturg-bar.fioletowy {
  background: linear-gradient(135deg, #33165f 0%, #593189 56%, #7a52ad 100%) !important;
  color: #fff !important;
  border-bottom: 4px solid #c4a2f2 !important;
}

.liturg-bar.czerwony {
  background: linear-gradient(135deg, #7e1620 0%, #b52a36 56%, #d34b55 100%) !important;
  color: #fff !important;
  border-bottom: 4px solid #ffd1a6 !important;
}

.liturg-bar.rozowy {
  background: linear-gradient(135deg, #a32265 0%, #c64c87 58%, #e285b0 100%) !important;
  color: #fff !important;
  border-bottom: 4px solid #ffe0ef !important;
}

.liturg-bar.czarny {
  background: linear-gradient(135deg, #080a0d 0%, #24272e 58%, #4b505b 100%) !important;
  color: #fff !important;
  border-bottom: 4px solid #aeb5c2 !important;
}

.liturg-bar.zielony *,
.liturg-bar.fioletowy *,
.liturg-bar.czerwony *,
.liturg-bar.rozowy *,
.liturg-bar.czarny * {
  color: #fff !important;
}

.liturg-bar.bialy *,
.liturg-bar.bialy .liturg-name,
.liturg-bar.bialy .liturg-period,
.liturg-bar.bialy .liturg-meta,
.liturg-bar.bialy .liturg-date {
  color: #3c2a00 !important;
}

.liturg-bar .czyt-link,
.liturg-bar .czyt-zestaw,
.liturg-bar .liturg-pill {
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  color: inherit !important;
}

.liturg-bar.bialy .czyt-link,
.liturg-bar.bialy .czyt-zestaw,
.liturg-bar.bialy .liturg-pill {
  background: rgba(94,66,0,.12) !important;
  border-color: rgba(94,66,0,.32) !important;
  color: #3c2a00 !important;
}

.sacrament-documents,
.office-hours-panel,
.info-photo-card {
  background: #fff !important;
  border: 1px solid #c5d8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(13,43,94,.08) !important;
}

.sacrament-documents {
  padding: clamp(20px, 3vw, 34px) !important;
  margin: 24px 0 !important;
}

.sacrament-documents h2,
.office-hours-panel h2 {
  color: #0d2b5e !important;
  margin-top: 0 !important;
}

.sacrament-documents ul {
  display: grid !important;
  gap: 10px !important;
  padding-left: 1.2rem !important;
  margin-bottom: 0 !important;
}

.sacrament-documents li,
.office-hours-panel p,
.office-row {
  color: #0d1e38 !important;
}

.sacrament-documents li::marker {
  color: #a87c00 !important;
}

.info-photo-card {
  overflow: hidden !important;
  margin: 22px 0 !important;
}

.info-photo-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.info-photo-card figcaption {
  padding: 12px 16px !important;
  color: #2c4878 !important;
  background: #eef4fc !important;
}

.office-hours-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) !important;
  gap: clamp(18px, 3vw, 32px) !important;
  align-items: start !important;
  padding: clamp(20px, 3vw, 34px) !important;
  margin: 24px 0 !important;
}

.office-hours-list {
  display: grid !important;
  gap: 12px !important;
}

.office-row {
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  background: #eef4fc !important;
  border: 1px solid #c5d8f0 !important;
  border-radius: 8px !important;
}

.office-row strong {
  color: #0d2b5e !important;
}

.office-row span,
.office-row em {
  color: #8c6800 !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

.duszp-avatar {
  width: 92px !important;
  height: 92px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto 18px !important;
  background: linear-gradient(135deg, #fdf0c8, #d6e6f8) !important;
  border: 2px solid rgba(201,151,10,.55) !important;
  color: #0d2b5e !important;
}

.duszp-avatar i {
  font-size: 34px !important;
  color: #0d2b5e !important;
}

@media (max-width: 760px) {
  .office-hours-panel {
    grid-template-columns: 1fr !important;
  }

  .office-row {
    grid-template-columns: 1fr !important;
  }
}

.source-article,
.source-link-list,
.source-feature,
.source-hub {
  background: #fff !important;
  border: 1px solid #c5d8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(13,43,94,.08) !important;
}

.source-article,
.source-link-list {
  padding: clamp(20px, 3vw, 34px) !important;
  margin: 24px 0 !important;
}

.source-article h2,
.source-link-list h3,
.source-feature h2,
.source-hub h2 {
  color: #0d2b5e !important;
  margin-top: 0 !important;
}

.source-article p,
.source-feature p,
.source-feature li,
.source-link-list li {
  color: #0d1e38 !important;
}

.source-link-list ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding-left: 1.2rem !important;
}

.source-link-list a {
  color: #0d2b5e !important;
  font-weight: 800 !important;
}

.source-feature {
  display: grid !important;
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr) !important;
  gap: clamp(18px, 3vw, 32px) !important;
  align-items: center !important;
  padding: clamp(18px, 3vw, 28px) !important;
  margin: 24px 0 !important;
}

.source-feature figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  border: 1px solid #c5d8f0 !important;
  background: #eef4fc !important;
}

.source-feature img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.source-feature figcaption {
  padding: 10px 14px !important;
  color: #2c4878 !important;
}

.source-person-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 18px !important;
  margin: 24px 0 !important;
}

.source-person-card {
  background: #fff !important;
  border: 1px solid #c5d8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 22px rgba(13,43,94,.08) !important;
  padding: 16px !important;
}

.source-person-card img,
.source-person-icon {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  background: #eef4fc !important;
  border: 1px solid #c5d8f0 !important;
}

.source-person-icon {
  display: grid !important;
  place-items: center !important;
  color: #0d2b5e !important;
  font-size: 34px !important;
}

.source-person-card h3 {
  color: #0d2b5e !important;
  font-size: 1.05rem !important;
  margin: 14px 0 8px !important;
}

.source-person-card p {
  color: #2c4878 !important;
  margin: 0 !important;
}

.source-hub {
  padding: clamp(24px, 4vw, 42px) !important;
  margin: 28px auto !important;
}

.source-hub-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 12px !important;
}

.source-hub-grid a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  background: #eef4fc !important;
  border: 1px solid #c5d8f0 !important;
  color: #0d2b5e !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.source-hub-grid a i {
  color: #a87c00 !important;
}

@media (max-width: 760px) {
  .source-feature {
    grid-template-columns: 1fr !important;
  }
}

/* v9: znak maryjny w nagłówku, znak pauliński przy treści o Paulinach */
.logo-shield,
.logo {
  background: #fdf0c8 !important;
  border: 2px solid #a87c00 !important;
  border-radius: 50% !important;
  padding: 3px !important;
}

.logo-shield::before {
  content: '' !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  background:
    linear-gradient(180deg, rgba(10,25,55,.06), rgba(10,25,55,.28)),
    url('assets/images/obraz.jpg') center 24% / cover no-repeat !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}

.logo-shield svg,
.logo svg {
  display: none !important;
}

.paulini-logo {
  background:
    #fdf0c8
    url('assets/images/pauline-coat-of-arms.png') center / 76% no-repeat !important;
  border: 2px solid rgba(201,151,10,.65) !important;
  box-shadow: inset 0 0 0 4px rgba(13,43,94,.08);
}

.zakon-paulinow-symbol,
.duszp-paulini-info {
  background: rgba(13,43,94,.96) !important;
  border-color: rgba(201,151,10,.35) !important;
  grid-column: 1 / -1;
}

.paulini-text h4 {
  color: #c9970a !important;
}

.paulini-text p {
  color: rgba(255,255,255,.82) !important;
}

.liturg-readings-row {
  gap: 8px !important;
}

.liturg-bar .czyt-link {
  min-height: 26px;
  line-height: 1.2;
  white-space: normal !important;
  text-align: center;
}

.liturg-bar .czyt-link i {
  flex: 0 0 auto;
}


/* Palette imported from provided HTML reference */
.ann-bar {
  background: var(--navy);
  border-top: 0;
  border-bottom: 0;
  color: rgba(255,255,255,.88);
  padding: 7px 0;
}

.ann-label {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(201,151,10,.35);
  color: var(--gold-bright);
}

.ann-item {
  color: rgba(255,255,255,.88);
}

.ann-date {
  color: var(--gold-bright);
}

.hero {
  background: var(--ice);
}

.hero-eyebrow {
  color: var(--navy-mid);
}

.section-title h2 {
  display: inline-block;
  position: relative;
  padding-bottom: 11px;
}

.section-title h2::after {
  background: var(--gold-bright);
  bottom: 0;
  content: "";
  height: 3px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 50px;
}

.btn-gold,
.wp-block-button.btn-gold .wp-block-button__link,
.form-header {
  background: var(--gold-rich);
  border-color: var(--gold-rich);
}

.btn-primary,
.wp-block-button.btn-primary .wp-block-button__link {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}

.dostep-card,
.news-card,
.wspolnota-card,
.gallery-album-card,
.weekly-intentions,
.official-gallery-grid figure {
  border-color: var(--pale);
}

/* Full official content sections */
.official-intro {
  border-left: 4px solid var(--navy-sky);
  cursor: default;
}

.official-intro:hover {
  transform: none;
}

.official-card-grid .dostep-card {
  cursor: default;
}

.source-note {
  max-width: 900px;
  margin: 28px auto 0;
  padding: 14px 18px;
  border-left: 4px solid var(--gold-rich);
  background: #fff8d8;
  color: #102a55;
  font-size: 13px;
  border-radius: 0 var(--radius) var(--radius) 0;
}

.source-note a {
  color: var(--navy);
  font-weight: 700;
  text-decoration: underline;
}

.current-notice {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 24px auto;
  max-width: 1200px;
}

.current-notice > div {
  background: var(--white);
  border: 1px solid #b9cde8;
  border-top: 4px solid var(--navy-sky);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow-sm);
}

.current-notice span {
  color: #5b4200;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .8px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.current-notice strong {
  color: var(--navy);
  display: block;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.25;
  margin-bottom: 10px;
}

.current-notice p {
  color: var(--text-body);
  font-size: 14px;
  margin: 0;
}

.official-schedule {
  margin-block-start: 22px;
  margin-bottom: 28px;
}

.weekly-intentions {
  background: var(--white);
  border: 1px solid var(--cream-dark);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin: 24px auto;
  max-width: 1000px;
  padding: 26px;
}

.weekly-intentions h3 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 24px;
  margin-bottom: 8px;
}

.weekly-intentions p {
  color: var(--text-body);
  margin-bottom: 20px;
}

.intentions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.intentions-grid > div {
  background: var(--marian-ice);
  border: 1px solid #b9cde8;
  border-radius: var(--radius);
  padding: 14px;
}

.intentions-grid strong,
.intentions-grid span {
  display: block;
}

.intentions-grid strong {
  color: var(--navy);
  font-size: 14px;
  margin-bottom: 4px;
}

.intentions-grid span {
  color: var(--text-body);
  font-size: 13px;
}

.official-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 24px auto;
  max-width: 1200px;
}

.official-gallery-grid.one {
  grid-template-columns: minmax(260px, 1fr);
}

.official-gallery-grid figure {
  background: var(--white);
  border: 1px solid var(--cream-dark);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin: 0;
  overflow: hidden;
}

.official-gallery-grid img {
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.official-gallery-grid figcaption {
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  padding: 12px 14px;
}

.official-obraz {
  background: var(--navy);
  border-radius: var(--radius);
  margin: 24px auto;
  max-width: 1000px;
  padding: 28px;
}

.official-obraz .obraz-frame {
  min-height: 280px;
}

.official-obraz .obraz-text p {
  color: rgba(255,255,255,.9);
}

.official-obraz .obraz-fakt span {
  color: rgba(255,255,255,.82);
}

.gallery-query {
  margin-block-start: 24px;
}

.gallery-album-grid {
  gap: 20px;
  margin-block-start: 0;
}

.gallery-album-card {
  background: var(--white);
  border: 1px solid var(--cream-dark);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}

.gallery-album-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.gallery-album-card .wp-block-post-featured-image {
  margin: 0;
}

.gallery-album-card .wp-block-post-featured-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

.gallery-album-card .wp-block-post-featured-image:empty::before {
  background:
    linear-gradient(180deg, rgba(7,31,73,.1), rgba(3,12,28,.7)),
    url('assets/images/panorama.jpg') center/cover no-repeat;
  content: "";
  display: block;
  aspect-ratio: 4 / 3;
}

.gallery-album-body {
  padding: 18px 20px 22px;
}

.gallery-album-body .wp-block-post-title {
  font-size: 20px;
  margin: 0 0 8px;
}

.gallery-album-body .wp-block-post-title a {
  color: var(--navy);
}

.gallery-album-body .wp-block-post-excerpt {
  color: var(--text-body);
  font-size: 14px;
  margin: 0;
}

.album-photo-grid figure {
  cursor: default;
}

.gallery-intro {
  margin-bottom: 24px;
}

.intentions-howto {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 24px auto;
  max-width: 1000px;
}

.intentions-howto > div,
.intention-card {
  background: var(--white);
  border: 1px solid var(--pale);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 18px 20px;
}

.intentions-howto strong,
.intentions-howto span {
  display: block;
}

.intentions-howto strong {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 18px;
  margin-bottom: 4px;
}

.intentions-howto span {
  color: var(--text-body);
  font-size: 13px;
}

.intentions-query {
  margin-block-start: 24px;
}

.intentions-list {
  display: grid;
  gap: 14px;
  margin-block-start: 0;
}

.intention-card .wp-block-post-date {
  color: var(--muted);
  font-size: 12px;
  margin: 0 0 4px;
}

.intention-card .wp-block-post-title {
  font-size: 21px;
  margin: 0 0 8px;
}

.intention-card .wp-block-post-title a {
  color: var(--navy);
}

.intention-card .wp-block-post-excerpt {
  color: var(--text-body);
  margin: 0;
}

/* ── WSPÓLNE ── */
.liturg-inner {
  display: flex; align-items: stretch;
  min-height: 54px;
}
.liturg-szata {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 6px 16px; flex-shrink: 0;
  border-right: 1px solid rgba(0,0,0,.08);
  gap: 3px; min-width: 72px;
}
.szata-ikona {
  width: 36px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 4px; position: relative;
}
.szata-kolor-label {
  font-size: 9px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;
}
.liturg-date-block {
  padding: 8px 16px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  flex-shrink: 0; border-right: 1px solid transparent;
  text-align: center; min-width: 72px;
}
.liturg-date-block .day-num { font-family: var(--serif); font-size: 20px; font-weight: 700; line-height: 1; }
.liturg-date-block .day-name { font-size: 10px; margin-top: 1px; letter-spacing: .3px; }
.liturg-date-block .day-wk   { font-size: 9px; text-transform: uppercase; letter-spacing: 1px; margin-top: 2px; }
.liturg-main {
  padding: 0 20px;
  display: flex; flex-direction: column; justify-content: center;
  flex: 1; min-width: 0; gap: 0;
}
.liturg-period { font-size: 10px; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 2px; padding-top: 9px; }
.liturg-name   { font-size: 13px; font-weight: 600; line-height: 1.3; }
.liturg-readings-row {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  padding: 6px 0 9px;
  margin-top: 5px;
  border-top: 1px solid transparent;
}
.reading-lbl { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.czyt-link {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 600;
  padding: 2px 10px; border-radius: 11px;
  border: 1px solid; text-decoration: none;
  transition: background .15s; white-space: nowrap;
}
.czyt-zestaw {
  display: inline-flex; align-items: center;
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .8px;
  padding: 2px 10px; border-radius: 11px;
  border: 1px solid;
}
.czyt-sep   { font-size: 12px; }
.reading-cite { font-size: 11px; font-style: italic; }
.liturg-right {
  padding: 8px 16px;
  display: flex; flex-direction: column; justify-content: center;
  flex-shrink: 0; text-align: right;
}
.liturg-rok     { font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.liturg-psalterz { font-size: 12px; font-weight: 600; margin-top: 3px; }
.liturg-jutro {
  padding: 8px 16px; font-size: 11px;
  display: flex; flex-direction: column; justify-content: center; flex-shrink: 0; gap: 2px;
  max-width: 180px;
}
.jutro-lbl  { font-size: 9px; text-transform: uppercase; letter-spacing: .8px; }
.liturg-jutro strong { font-size: 12px; line-height: 1.2; }
.jutro-sub  { font-size: 10px; }
@media (max-width: 900px) { .liturg-right, .liturg-jutro { display: none; } }
@media (max-width: 640px) { .liturg-date-block, .liturg-szata { display: none; } .liturg-main { padding: 8px 14px; } }

/* High-contrast Marian palette refinement */
.topbar,
footer {
  color: rgba(255,255,255,.94);
}
.ann-label {
  color: #fff;
}
.hero-eyebrow,
.intencje-info .eyebrow,
.ann-date,
.msze-extra {
  color: #5b4200;
}
.hero-sub,
.section-title p,
.dostep-card p,
.qi-text p,
.qi-text,
.news-meta,
.news-body p,
.intencje-info p,
.intencja-sposob div span,
.wspolnota-card p,
.odpust-card p,
.breadcrumbs,
.header-title p {
  color: var(--text-body);
}
.btn-primary,
.wp-block-button.btn-primary .wp-block-button__link {
  color: #fff;
}
.btn-primary:hover,
.wp-block-button.btn-primary .wp-block-button__link:hover {
  background: #0b3269;
  border-color: #0b3269;
}
.btn-gold:hover,
.wp-block-button.btn-gold .wp-block-button__link:hover {
  background: #4f3900;
  border-color: #4f3900;
}
.msze-card-head,
.msze-card-head.sunday {
  color: #fff;
}
.official-photo-card.panorama,
.official-photo-card.kosciol,
.official-photo-card.kosciol1 {
  background-image: linear-gradient(180deg, rgba(7,31,73,.12), rgba(3,12,28,.88)), url('assets/images/panorama.jpg');
}
.official-photo-card.obraz {
  background-image: linear-gradient(180deg, rgba(7,31,73,.12), rgba(3,12,28,.9)), url('assets/images/obraz.jpg');
}
.official-photo-card.kosciol {
  background-image: linear-gradient(180deg, rgba(7,31,73,.12), rgba(3,12,28,.88)), url('assets/images/kosciol.jpg');
}
.official-photo-card.kosciol1 {
  background-image: linear-gradient(180deg, rgba(7,31,73,.12), rgba(3,12,28,.88)), url('assets/images/kosciol1.jpg');
}
.official-photo-card.mapa {
  background-image: linear-gradient(180deg, rgba(7,31,73,.08), rgba(3,12,28,.76)), url('assets/images/mapa.jpg');
}
.official-photo-caption p,
.obraz-text > p,
.obraz-quote p,
.historia-text p,
.tl-text,
.prayer-text,
.duszp-intro p,
.duszp-rola,
.duszp-kontakt a,
.paulini-text p,
.footer-widget p,
.footer-link {
  color: rgba(255,255,255,.9);
}
.obraz-caption,
.obraz-quote cite,
.obraz-fakt span,
.historia-fakt span,
.prayer-content .sub,
.prayer-author,
.footer-bottom,
.footer-bottom a {
  color: rgba(255,255,255,.78);
}
.social-btn,
.footer-social .wp-block-button__link {
  color: rgba(255,255,255,.9);
}
.liturg-bar.bialy .szata-kolor-label,
.liturg-bar.bialy .day-name,
.liturg-bar.bialy .day-wk,
.liturg-bar.bialy .liturg-period,
.liturg-bar.bialy .liturg-rok,
.liturg-bar.bialy .reading-lbl,
.liturg-bar.bialy .reading-cite,
.liturg-bar.bialy .jutro-lbl {
  color: #4a2a00;
}
.liturg-bar.bialy .czyt-sep {
  color: #6a3c00;
}
.liturg-bar.zielony .szata-kolor-label,
.liturg-bar.zielony .day-name,
.liturg-bar.zielony .day-wk,
.liturg-bar.zielony .liturg-period,
.liturg-bar.zielony .liturg-rok,
.liturg-bar.zielony .reading-lbl,
.liturg-bar.fioletowy .szata-kolor-label,
.liturg-bar.fioletowy .day-name,
.liturg-bar.fioletowy .day-wk,
.liturg-bar.fioletowy .liturg-period,
.liturg-bar.fioletowy .liturg-rok,
.liturg-bar.fioletowy .reading-lbl,
.liturg-bar.czerwony .szata-kolor-label,
.liturg-bar.czerwony .day-name,
.liturg-bar.czerwony .day-wk,
.liturg-bar.czerwony .liturg-period,
.liturg-bar.czerwony .liturg-rok,
.liturg-bar.czerwony .reading-lbl {
  color: rgba(255,255,255,.78);
}

/* Full website utility sections */
.today-panel {
  background: #fff;
  border-bottom: 1px solid var(--cream-dark);
  padding: 42px 24px 50px;
}

.today-panel-head {
  margin: 0 auto 24px;
  max-width: 980px;
  text-align: center;
}

.today-panel-head span,
.contact-card span,
.legal-content h3 {
  color: var(--gold-rich);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .8px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.today-panel-head h2 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 10px;
}

.today-panel-head p {
  color: var(--text-body);
  margin: 0 auto;
  max-width: 720px;
}

.today-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  margin: 0 auto;
  max-width: 1200px;
}

.today-card {
  background: var(--ice);
  border: 1px solid #c5d8f0;
  border-radius: var(--radius);
  color: var(--text-body);
  display: grid;
  gap: 6px;
  padding: 18px 18px 20px;
  text-decoration: none;
  transition: box-shadow .2s, transform .2s;
}

.today-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.today-card i {
  color: var(--navy-sky);
  font-size: 22px;
}

.today-card strong {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 20px;
}

.today-card span {
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.55;
}

.today-card.primary {
  background: var(--navy);
}

.today-card.primary i,
.today-card.primary strong {
  color: var(--gold-bright);
}

.today-card.primary span {
  color: rgba(255,255,255,.88);
}

.pilgrim-guide,
.map-panel,
.contact-panel {
  display: grid;
  gap: 22px;
  margin: 26px auto;
  max-width: 1200px;
}

.pilgrim-guide,
.map-panel {
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
}

.pilgrim-main,
.map-info,
.contact-card,
.legal-content {
  background: #fff;
  border: 1px solid #c5d8f0;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 26px;
}

.pilgrim-main h2,
.map-info h2,
.legal-content h2 {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 12px;
}

.pilgrim-main p,
.map-info p,
.contact-card p,
.legal-content p,
.legal-content li {
  color: var(--text-body);
}

.pilgrim-checklist {
  display: grid;
  gap: 12px;
}

.pilgrim-checklist div,
.sacrament-steps div {
  background: var(--ice);
  border: 1px solid #c5d8f0;
  border-radius: var(--radius);
  padding: 17px 18px;
}

.pilgrim-checklist strong,
.pilgrim-checklist span,
.sacrament-steps strong,
.sacrament-steps p {
  display: block;
}

.pilgrim-checklist strong,
.sacrament-steps strong {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 18px;
}

.pilgrim-checklist span,
.sacrament-steps p {
  color: var(--text-body);
  font-size: 14px;
  margin: 4px 0 0;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.contact-actions a {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
}

.contact-panel {
  grid-template-columns: 1.3fr .85fr .85fr;
}

.contact-card strong {
  color: var(--navy);
  display: block;
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1.25;
  margin-bottom: 8px;
}

.map-panel figure {
  background: #fff;
  border: 1px solid #c5d8f0;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin: 0;
  overflow: hidden;
}

.map-panel img {
  aspect-ratio: 4 / 3;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.map-panel figcaption {
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  padding: 12px 14px;
}

.sacrament-steps {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin: 24px auto;
  max-width: 1100px;
}

.sacrament-steps span {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  margin-bottom: 10px;
  width: 34px;
}

.legal-content {
  margin: 24px auto;
  max-width: 980px;
}

.legal-content h3 {
  margin-top: 22px;
}

.legal-content ul {
  margin: 10px 0 0 22px;
}

@media (max-width: 900px) {
  .pilgrim-guide,
  .map-panel,
  .contact-panel {
    grid-template-columns: 1fr;
  }
}

/* Final HTML reference color lock - placed last so WordPress block styles cannot soften the palette */
:root,
body {
  --navy:#0d2b5e !important;
  --navy-mid:#1d4a8a !important;
  --navy-sky:#2f6bbf !important;
  --gold:#a87c00 !important;
  --gold-rich:#a87c00 !important;
  --gold-bright:#c9970a !important;
  --gold-pale:#fdf0c8 !important;
  --cream:#f3efe8 !important;
  --cream-dark:#e5dece !important;
  --ice:#eef4fc !important;
  --pale:#d6e6f8 !important;
  --marian-pale:#d6e6f8 !important;
  --marian-ice:#eef4fc !important;
  --text:#0d1e38 !important;
  --text-dark:#0d1e38 !important;
  --text-body:#2c4878 !important;
  --body:#2c4878 !important;
  --text-mid:#1e3a6e !important;
  --text-muted:#3d5a8a !important;
  --muted:#3d5a8a !important;
}

body,
.wp-site-blocks,
.page-content {
  background: #f3efe8 !important;
  color: #0d1e38 !important;
}

.topbar {
  background: #071628 !important;
  color: rgba(255,255,255,.82) !important;
}

.topbar a,
.topbar i,
footer a,
.footer-widget h3,
.footer-bottom a:hover {
  color: #c9970a !important;
}

.site-header,
header.site-header,
.hd {
  background: #f3efe8 !important;
  border-bottom: 1px solid #e5dece !important;
  box-shadow: 0 2px 12px rgba(13,43,94,.08) !important;
}

.logo-shield,
.logo {
  background: #0d2b5e !important;
  border: 2px solid #a87c00 !important;
  border-radius: 7px !important;
}

.logo-shield svg,
.logo svg {
  fill: #c9970a !important;
}

.header-title h1,
.header-title .wp-block-site-title,
.header-title .wp-block-site-title a,
.hero h1,
.hero h2,
.section-title h2,
.page-hero h1,
.page-hero .wp-block-heading,
.page-hero .wp-block-post-title,
.today-panel-head h2,
.pilgrim-main h2,
.map-info h2,
.legal-content h2,
.dostep-card h3,
.dostep-card h4,
.qi-text h4,
.qi-text strong,
.msze-card h3,
.news-body h3,
.news-card h3,
.wspolnota-card h3,
.wspolnota-card h4,
.gallery-album-body .wp-block-post-title a,
.intention-card .wp-block-post-title a,
.weekly-intentions h3,
.current-notice strong,
.intentions-howto strong,
.intentions-grid strong,
.today-card strong,
.pilgrim-checklist strong,
.sacrament-steps strong,
.contact-card strong {
  color: #0d2b5e !important;
}

.header-title p,
.header-title .wp-block-site-tagline,
.hero-sub,
.hsub,
.section-title p,
.page-hero p,
.page-hero .wp-block-post-excerpt,
.dostep-card p,
.qi-text,
.qi-text p,
.msze-time,
.news-meta,
.news-body p,
.news-card p,
.wspolnota-card p,
.odpust-card p,
.gallery-album-body .wp-block-post-excerpt,
.intention-card .wp-block-post-excerpt,
.weekly-intentions p,
.current-notice p,
.intentions-howto span,
.intentions-grid span,
.today-panel-head p,
.today-card span,
.pilgrim-main p,
.map-info p,
.pilgrim-checklist span,
.sacrament-steps p,
.contact-card p,
.legal-content p,
.legal-content li,
.breadcrumbs,
.breadcrumbs a {
  color: #2c4878 !important;
}

.header-mass .badge,
.hbg {
  background: #d6e6f8 !important;
  border: 1.5px solid #2f6bbf !important;
  color: #0d2b5e !important;
}

nav.main-nav,
.main-nav.wp-block-navigation,
.main-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
nav {
  background: #0d2b5e !important;
}

.main-nav .wp-block-navigation-item__content,
nav a {
  color: rgba(255,255,255,.9) !important;
}

.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item > .wp-block-navigation-item__content,
nav a.on {
  color: #c9970a !important;
  box-shadow: inset 0 -3px 0 #c9970a !important;
}

.main-nav .wp-block-navigation__submenu-container {
  background: #fff !important;
  border-color: #c5d8f0 !important;
}

.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: #1d4a8a !important;
  box-shadow: none !important;
}

.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: #d6e6f8 !important;
  color: #0d2b5e !important;
}

.liturg-bar {
  background: #1d4a8a !important;
  color: #fff !important;
}

.liturg-bar *,
.liturg-bar.bialy *,
.liturg-bar.zielony *,
.liturg-bar.fioletowy *,
.liturg-bar.czerwony * {
  color: #fff !important;
}

.liturg-bar .tlb,
.liturg-bar .czyt-link,
.liturg-bar .czyt-zestaw {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}

.ann-bar {
  background: #0d2b5e !important;
  border: 0 !important;
  color: rgba(255,255,255,.88) !important;
}

.ann-label {
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(201,151,10,.35) !important;
  color: #c9970a !important;
}

.ann-item {
  color: rgba(255,255,255,.88) !important;
}

.ann-date {
  color: #c9970a !important;
}

.hero,
.page-hero,
.msze-section,
.official-photo-section,
.wspolnoty-section,
.today-card,
.pilgrim-checklist div,
.sacrament-steps div,
.sca {
  background: #eef4fc !important;
}

.news-section,
.dostep-section,
.intencje-section,
.scw,
.qi-section,
.today-panel,
.page-content .container.section {
  background: #fff !important;
}

.hero-eyebrow,
.eyb,
.ey,
.eyebrow,
.intencje-info .eyebrow,
.historia-text .eyebrow,
.duszp-intro .eyebrow,
.obraz-text .eyebrow,
.today-panel-head span,
.contact-card span,
.legal-content h3 {
  color: #1d4a8a !important;
}

.hero-eyebrow span,
.eyb span,
.historia-eyb,
.historia-text .eyebrow,
.prayer-content h2,
.prayer h2,
.fb-hd h3,
.cho-hd,
.msze-extra,
.news-tag,
.ntag,
.duszp-badge,
.odpust-date .day,
.obraz-fakt strong {
  color: #c9970a !important;
}

.btn-gold,
.btn-gold:hover,
.wp-block-button.btn-gold .wp-block-button__link,
.wp-block-button.btn-gold .wp-block-button__link:hover,
.sbtn {
  background: #a87c00 !important;
  border-color: #a87c00 !important;
  color: #fff !important;
}

.btn-primary,
.btn-primary:hover,
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button.btn-primary .wp-block-button__link:hover,
.btn-pri,
.cho-btn {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #fff !important;
}

.btn-outline,
.btn-out,
.wp-block-button.btn-outline .wp-block-button__link {
  background: transparent !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
}

.btn-outline:hover,
.btn-out:hover,
.wp-block-button.btn-outline .wp-block-button__link:hover {
  background: #d6e6f8 !important;
}

.dostep-card,
.card,
.mb,
.kc,
.cho,
.msze-card,
.news-card,
.nc,
.wspolnota-card,
.cc,
.odpust-card,
.gallery-album-card,
.intention-card,
.weekly-intentions,
.current-notice > div,
.intentions-howto > div,
.official-gallery-grid figure,
.pilgrim-main,
.map-info,
.contact-card,
.legal-content,
.map-panel figure {
  background: #fff !important;
  border-color: #c5d8f0 !important;
}

.qi,
.quick-info {
  background: #fff !important;
  border-bottom-color: #e5dece !important;
}

.qi-icon,
.qi-ic,
.dostep-icon,
.card-ic,
.intentions-grid > div,
.pil,
.infol,
.ibar {
  background: #d6e6f8 !important;
  border-color: #2f6bbf !important;
}

.qi-icon i,
.qi-ic,
.dostep-icon i,
.cho-ic,
.read-more,
.rm {
  color: #2f6bbf !important;
}

.msze-card-head,
.mb-hd,
.kc-hd,
.fb-hd {
  background: #0d2b5e !important;
  color: #fff !important;
}

.msze-card-head.sunday,
.mg li.nw {
  background: #fdf0c8 !important;
  color: #8c6800 !important;
}

.mg li,
.tp {
  background: #d6e6f8 !important;
  color: #0d2b5e !important;
}

.news-tag,
.ntag,
.hero-bdg,
.hero-image-badge {
  background: #0d2b5e !important;
  color: #c9970a !important;
}

.historia-section,
.historia,
.obraz-section,
.official-obraz,
.duszp-section {
  background: #0d2b5e !important;
}

.prayer-section,
.prayer {
  background: linear-gradient(160deg,#0a1f42,#071226) !important;
}

.historia-section h2,
.historia-section h3,
.historia h2,
.obraz-section h2,
.obraz-section h3,
.duszp-section h2,
.duszp-section h3,
.obraz-text h3,
.duszp-intro h2 {
  color: #fff !important;
}

.historia-text p,
.historia-p,
.historia-cytat,
.obraz-text > p,
.official-obraz .obraz-text p,
.duszp-intro p,
.duszp-rola,
.paulini-text p,
.prayer-text,
.prt,
footer,
.footer-widget p,
.footer-link,
.footer-link a {
  color: rgba(255,255,255,.82) !important;
}

.historia-fakt,
.hfact {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.1) !important;
}

.historia-fakt strong,
.hfact strong {
  color: #c9970a !important;
}

.today-card.primary {
  background: #0d2b5e !important;
}

.today-card.primary i,
.today-card.primary strong {
  color: #c9970a !important;
}

.today-card.primary span {
  color: rgba(255,255,255,.88) !important;
}

.historia-fakt span,
.hfact span,
.prayer-content .sub,
.prayer-author,
.pra,
.footer-bottom,
.footer-bottom a {
  color: rgba(255,255,255,.65) !important;
}

.hero-image,
.hero-img,
.obraz-frame,
.news-img-wrap,
.nth,
.gi,
.official-photo-card,
.map-panel figure {
  border-color: #b0c8de !important;
}

.source-note {
  display: none !important;
}

/* v3.9.0 finalne nadpisanie po wszystkich wczesniejszych poprawkach */
.ann-bar {
  display: none !important;
}

body .liturg-bar.bialy {
  background: linear-gradient(135deg,#fffdf7,#f6e2a8) !important;
}

body .liturg-bar.zielony {
  background: linear-gradient(135deg,#064327,#0c7a46) !important;
}

body .liturg-bar.fioletowy {
  background: linear-gradient(135deg,#31114f,#673190) !important;
}

body .liturg-bar.czerwony {
  background: linear-gradient(135deg,#6f1010,#b82727) !important;
}

body .liturg-bar.rozowy {
  background: linear-gradient(135deg,#8a3e70,#d976b2) !important;
}

body .liturg-bar.czarny {
  background: linear-gradient(135deg,#111,#343434) !important;
}

body .liturg-bar.zielony *,
body .liturg-bar.fioletowy *,
body .liturg-bar.czerwony *,
body .liturg-bar.rozowy *,
body .liturg-bar.czarny * {
  color: #fff !important;
}

body .liturg-bar.bialy *,
body .liturg-bar.bialy .liturg-name,
body .liturg-bar.bialy .liturg-period,
body .liturg-bar.bialy .liturg-psalterz {
  color: #2a1a00 !important;
}

body .liturg-bar .czyt-zestaw,
body .liturg-bar .czyt-sep {
  display: none !important;
}

body .liturg-bar .czyt-link {
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: inherit !important;
}

body .liturg-bar.bialy .czyt-link {
  background: rgba(168,124,0,.16) !important;
  border-color: rgba(168,124,0,.42) !important;
}

main#main-content .dostep-card,
main#main-content .official-intro,
main#main-content .source-article,
main#main-content .weekly-intentions,
main#main-content .support-account,
main#main-content .support-list article,
main#main-content .group-edit-card,
main#main-content .sacrament-doc-list,
main#main-content .sacrament-doc-grid section,
main#main-content .song-list-grid article,
main#main-content .homily-panel,
main#main-content .contact-card,
main#main-content .office-hours-panel {
  background: #fff !important;
  color: #0d1e38 !important;
  border-color: #b8d0ea !important;
}

main#main-content .page-content p,
main#main-content .page-content li,
main#main-content .page-content figcaption,
main#main-content .page-content span {
  color: #193a66 !important;
}

.paulini-logo {
  width: 94px !important;
  height: 94px !important;
  border-radius: 14px !important;
  background: #fff url('assets/images/pauline-coat-of-arms.png') center / 86% no-repeat !important;
  border: 2px solid #c9970a !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.18), inset 0 0 0 5px rgba(253,240,200,.7) !important;
}


/* v4.4.0 fulltext-v23: pelne teksty w zachowanym wygladzie v23 */
.fulltext-article p,
.fulltext-article li,
.fulltext-list li,
.source-person-detail p {
  line-height: 1.72 !important;
}

.fulltext-article p,
.source-person-detail p {
  margin-bottom: 1rem !important;
}

.fulltext-person-card .source-person-detail {
  max-height: none !important;
}

.fulltext-person-card .source-person-detail img {
  max-width: 260px !important;
  height: auto !important;
  margin: 0 0 14px !important;
}

.fulltext-list ul {
  max-height: 70vh !important;
  overflow: auto !important;
  padding-right: 10px !important;
}

#form-msg {
  display: none;
  font-size: 13px;
  margin-top: 12px;
}

/* v4.5.0: czytelne karty sakramentow i spokojniejszy uklad kart osob */
.sacrament-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  margin: 26px 0 !important;
}

.sacrament-info-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  overflow: hidden !important;
}

.sacrament-info-card summary {
  cursor: pointer !important;
  display: grid !important;
  gap: 12px !important;
  list-style: none !important;
  min-height: 220px !important;
  padding: 24px !important;
}

.sacrament-info-card summary::-webkit-details-marker {
  display: none !important;
}

.sacrament-info-card[open] summary {
  border-bottom: 1px solid #d7e6f6 !important;
  min-height: 0 !important;
}

.sacrament-card-icon {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  font-size: 24px !important;
  height: 56px !important;
  justify-content: center !important;
  width: 56px !important;
}

.sacrament-info-card h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.2rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.sacrament-info-card .sacrament-lead,
.sacrament-info-card li,
.sacrament-info-card p {
  color: #193a66 !important;
  line-height: 1.58 !important;
}

.sacrament-info-card .sacrament-lead {
  margin: 0 !important;
}

.sacrament-info-card .sacrament-body {
  padding: 0 24px 24px !important;
}

.sacrament-info-card .sacrament-body h4 {
  color: #8a6400 !important;
  font-size: .92rem !important;
  letter-spacing: .02em !important;
  margin: 18px 0 10px !important;
  text-transform: uppercase !important;
}

.sacrament-info-card ul {
  margin: 0 !important;
  padding-left: 1.1rem !important;
}

.sacrament-info-card li::marker {
  color: #a87c00 !important;
}

.fulltext-person-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.fulltext-person-card {
  padding: 0 !important;
}

.fulltext-person-card summary {
  gap: 12px !important;
  padding: 16px !important;
}

.fulltext-person-card .source-person-detail {
  background: #fbfdff !important;
  border-top: 1px solid #d7e6f6 !important;
  padding: 18px !important;
}

.fulltext-person-card .source-person-name {
  font-family: var(--serif) !important;
  font-size: 1.08rem !important;
  line-height: 1.25 !important;
}

.fulltext-person-card .source-person-open {
  background: #fdf0c8 !important;
  border-radius: 999px !important;
  color: #6d4c00 !important;
  font-size: .78rem !important;
  justify-self: start !important;
  padding: 6px 10px !important;
}

.source-text-split {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 22px !important;
  margin: 24px 0 !important;
}

.source-feature.fulltext-visual {
  margin: 26px 0 !important;
}

.source-feature.fulltext-visual figure {
  align-self: stretch !important;
}

.source-feature.fulltext-visual img {
  aspect-ratio: 4 / 3 !important;
  height: 100% !important;
  object-fit: cover !important;
}

.source-feature.fulltext-visual.visual-wide {
  grid-template-columns: 1fr !important;
}

.source-feature.fulltext-visual.visual-wide img {
  aspect-ratio: 16 / 7 !important;
  max-height: 420px !important;
}

.source-feature.fulltext-visual.visual-obraz img,
.source-feature.fulltext-visual.visual-sobota img {
  aspect-ratio: 3 / 4 !important;
  object-position: center top !important;
}

.source-feature.fulltext-visual .visual-kicker {
  color: #8a6400 !important;
  display: block !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

.source-feature.fulltext-visual h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.25rem, 2vw, 1.85rem) !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
}

/* v4.8.0: pełne intencje z FTP i czytelne grupy duszpasterskie */
.mass-intentions-full {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(13, 43, 94, .08) !important;
  padding: clamp(22px, 4vw, 42px) !important;
}

.mass-intentions-full h2 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin-bottom: 14px !important;
}

.mass-intentions-full h3 {
  background: #eef4fc !important;
  border-left: 5px solid #c9970a !important;
  border-radius: 8px !important;
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.05rem, 2vw, 1.28rem) !important;
  line-height: 1.35 !important;
  margin: 26px 0 14px !important;
  padding: 12px 16px !important;
}

.mass-intentions-full p {
  color: #193a66 !important;
  font-size: 1rem !important;
  margin-bottom: .72rem !important;
}

.mass-intentions-subtitle,
.mass-intentions-date {
  color: #6d4c00 !important;
  font-size: 1.06rem !important;
}

.mass-intentions-archive {
  background: #eef4fc !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  margin-top: 28px !important;
  padding: clamp(18px, 3vw, 30px) !important;
}

.mass-intentions-archive h2 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin: 0 0 8px !important;
}

.mass-intentions-archive > p {
  color: #193a66 !important;
  margin-bottom: 18px !important;
}

.mass-archive-year {
  background: #fff !important;
  border: 1px solid #d7e6f6 !important;
  border-radius: 8px !important;
  margin: 10px 0 !important;
  overflow: hidden !important;
}

.mass-archive-year summary {
  color: #0d2b5e !important;
  cursor: pointer !important;
  font-family: var(--serif) !important;
  font-weight: 700 !important;
  padding: 13px 16px !important;
}

.mass-archive-year ul {
  columns: 2 !important;
  column-gap: 28px !important;
  list-style: none !important;
  margin: 0 !important;
  max-height: 360px !important;
  overflow: auto !important;
  padding: 0 16px 16px !important;
}

.mass-archive-year li {
  break-inside: avoid !important;
  margin: 0 0 8px !important;
}

.mass-archive-year a {
  color: #0d2b5e !important;
  font-weight: 650 !important;
  text-decoration-color: rgba(201,151,10,.55) !important;
  text-underline-offset: 3px !important;
}

.pastoral-group-grid {
  display: grid !important;
  gap: 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  margin: 26px 0 !important;
}

.pastoral-group-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(13, 43, 94, .08) !important;
  overflow: hidden !important;
}

.pastoral-group-card summary {
  align-items: start !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: 46px 1fr !important;
  list-style: none !important;
  min-height: 150px !important;
  padding: 22px !important;
}

.pastoral-group-card summary::-webkit-details-marker {
  display: none !important;
}

.pastoral-group-card summary i {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  font-size: 21px !important;
  height: 46px !important;
  justify-content: center !important;
  width: 46px !important;
}

.pastoral-group-card summary strong {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
}

.pastoral-group-card summary span {
  color: #3d5a8a !important;
  font-size: .88rem !important;
  grid-column: 2 !important;
}

.pastoral-group-card > div {
  background: #fbfdff !important;
  border-top: 1px solid #d7e6f6 !important;
  padding: 0 22px 22px !important;
}

.pastoral-group-card p {
  color: #193a66 !important;
}

.pastoral-group-card figure {
  margin: 0 0 14px !important;
}

.pastoral-group-card img {
  aspect-ratio: 16 / 10 !important;
  border-radius: 8px !important;
  height: auto !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* v4.9.0: karty osob sa bardziej obrazowe i czytelne po rozwinieciu */
.fulltext-kaplani-w-historii-parafii,
.fulltext-powolania-z-parafii {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  margin-top: 28px !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card,
.fulltext-powolania-z-parafii .fulltext-person-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 34px rgba(13, 43, 94, .1) !important;
  overflow: hidden !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card[open],
.fulltext-powolania-z-parafii .fulltext-person-card[open] {
  grid-column: 1 / -1 !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card summary,
.fulltext-powolania-z-parafii .fulltext-person-card summary {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: 150px 1fr !important;
  min-height: 170px !important;
  padding: 0 !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card summary img,
.fulltext-powolania-z-parafii .fulltext-person-card summary img {
  align-self: stretch !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  width: 150px !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card summary img[src$="herb.gif"],
.fulltext-powolania-z-parafii .fulltext-person-card summary img[src$="herb.gif"] {
  background: #eef4fc !important;
  object-fit: contain !important;
  padding: 22px !important;
}

.fulltext-kaplani-w-historii-parafii .source-person-name,
.fulltext-powolania-z-parafii .source-person-name {
  align-self: end !important;
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.18rem !important;
  line-height: 1.22 !important;
  padding: 20px 20px 8px !important;
}

.fulltext-kaplani-w-historii-parafii .source-person-open,
.fulltext-powolania-z-parafii .source-person-open {
  align-self: start !important;
  background: transparent !important;
  color: #6d4c00 !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  justify-self: start !important;
  padding: 0 20px 20px !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card .source-person-detail,
.fulltext-powolania-z-parafii .fulltext-person-card .source-person-detail {
  background: #fbfdff !important;
  border-top: 1px solid #d7e6f6 !important;
  max-height: min(72vh, 760px) !important;
  overflow: auto !important;
  padding: clamp(20px, 3vw, 34px) !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card[open] .source-person-detail,
.fulltext-powolania-z-parafii .fulltext-person-card[open] .source-person-detail {
  columns: 2 340px !important;
  column-gap: 34px !important;
}

.fulltext-kaplani-w-historii-parafii .source-person-detail p,
.fulltext-powolania-z-parafii .source-person-detail p {
  break-inside: avoid !important;
}

@media (max-width: 640px) {
  .sacrament-info-card summary {
    min-height: 0 !important;
  }

  .pastoral-group-card summary {
    min-height: 0 !important;
  }

  .mass-archive-year ul {
    columns: 1 !important;
  }

  .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary,
  .fulltext-powolania-z-parafii .fulltext-person-card summary {
    grid-template-columns: 112px 1fr !important;
    min-height: 136px !important;
  }

  .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary img,
  .fulltext-powolania-z-parafii .fulltext-person-card summary img {
    width: 112px !important;
  }

  .fulltext-kaplani-w-historii-parafii .fulltext-person-card[open] .source-person-detail,
  .fulltext-powolania-z-parafii .fulltext-person-card[open] .source-person-detail {
    columns: 1 !important;
  }
}

/* v5.0.0: dopracowane sakramenty, pieśni i archiwalna galeria */
.sacrament-spiritual {
  background: #eef4fc !important;
  border: 1px solid #c9dcf1 !important;
  border-radius: 8px !important;
  margin: 0 0 18px !important;
  padding: 18px !important;
}

.sacrament-spiritual blockquote {
  border-left: 4px solid #a87c00 !important;
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-style: italic !important;
  line-height: 1.7 !important;
  margin: 0 0 14px !important;
  padding-left: 14px !important;
}

.sacrament-spiritual cite {
  color: #8a6400 !important;
  display: inline-block !important;
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  margin-left: 6px !important;
}

.sacrament-spiritual h4 {
  margin-top: 0 !important;
}

.song-card-grid {
  display: grid !important;
  gap: 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  margin: 26px 0 !important;
}

.song-card-detail {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  overflow: hidden !important;
}

.song-card-detail summary {
  cursor: pointer !important;
  display: grid !important;
  gap: 12px !important;
  list-style: none !important;
  min-height: 180px !important;
  padding: 28px 24px !important;
}

.song-card-detail summary::-webkit-details-marker {
  display: none !important;
}

.song-card-detail[open] summary {
  border-bottom: 1px solid #d7e6f6 !important;
  min-height: 0 !important;
}

.song-card-icon {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  font-size: 24px !important;
  height: 56px !important;
  justify-content: center !important;
  width: 56px !important;
}

.song-card-detail h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.song-card-detail summary p,
.song-card-body p {
  color: #193a66 !important;
  line-height: 1.62 !important;
  margin: 0 !important;
}

.song-card-body {
  display: grid !important;
  gap: 14px !important;
  padding: 20px 24px 24px !important;
}

.song-card-body h4 {
  color: #8a6400 !important;
  font-size: .9rem !important;
  letter-spacing: .02em !important;
  margin: 6px 0 0 !important;
  text-transform: uppercase !important;
}

.song-card-body a {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 6px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  gap: 8px !important;
  padding: 9px 14px !important;
  text-decoration: none !important;
  width: fit-content !important;
}

.archive-gallery-list {
  display: grid !important;
  gap: 18px !important;
  margin: 26px 0 !important;
}

.archive-gallery-category {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  overflow: hidden !important;
}

.archive-gallery-category summary {
  align-items: center !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  list-style: none !important;
  padding: 18px 22px !important;
}

.archive-gallery-category summary::-webkit-details-marker {
  display: none !important;
}

.archive-gallery-category summary > span {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  height: 52px !important;
  justify-content: center !important;
  width: 52px !important;
}

.archive-gallery-category h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.15rem !important;
  margin: 0 0 4px !important;
}

.archive-gallery-category p,
.archive-gallery-category em {
  color: #193a66 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.archive-gallery-category em {
  background: #fdf0c8 !important;
  border-radius: 999px !important;
  color: #694b00 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  padding: 7px 12px !important;
  white-space: nowrap !important;
}

.archive-gallery-grid {
  border-top: 1px solid #d7e6f6 !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
  max-height: 980px !important;
  overflow: auto !important;
  padding: 18px !important;
}

.archive-gallery-grid figure {
  background: #f7fbff !important;
  border: 1px solid #d8e6f5 !important;
  border-radius: 8px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.archive-gallery-grid img {
  aspect-ratio: 4 / 3 !important;
  display: block !important;
  height: auto !important;
  object-fit: cover !important;
  width: 100% !important;
}

.archive-gallery-grid figcaption {
  color: #193a66 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  padding: 9px 10px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.source-feature.fulltext-visual figure {
  aspect-ratio: 16 / 10 !important;
}

.source-feature.fulltext-visual img,
.official-gallery-grid img,
.source-person-card img {
  object-fit: cover !important;
}

@media (max-width: 720px) {
  .archive-gallery-category summary {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .archive-gallery-category em {
    grid-column: 2 !important;
    justify-self: start !important;
  }

.archive-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    max-height: 760px !important;
  }
}

/* v5.0.3: aktualny tydzien zawsze jako tekst, zalaczniki tylko jako dodatek */
.current-week-publication {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  margin: 26px 0 !important;
  padding: 26px !important;
}

.current-week-publication h2 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin-top: 0 !important;
}

.current-week-subtitle {
  background: #fdf0c8 !important;
  border-left: 4px solid #a87c00 !important;
  border-radius: 0 8px 8px 0 !important;
  color: #694b00 !important;
  margin: 0 0 20px !important;
  padding: 12px 16px !important;
}

.current-week-text {
  display: grid !important;
  gap: 10px !important;
}

.current-week-text p {
  color: #193a66 !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

.current-week-text p:first-child,
.current-week-text p:nth-child(2),
.current-week-text p:nth-child(3),
.current-week-text p:nth-child(4) {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.15rem !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.current-week-text b {
  color: #0d2b5e !important;
}

.current-week-file-note {
  background: #eef4fc !important;
  border: 1px dashed #8eb8e6 !important;
  border-radius: 8px !important;
  color: #193a66 !important;
  margin: 20px 0 26px !important;
  padding: 18px 20px !important;
}

.current-week-file-note strong {
  color: #0d2b5e !important;
  display: block !important;
  font-family: var(--serif) !important;
  font-size: 1.08rem !important;
  margin-bottom: 6px !important;
}

.current-week-file-note p {
  color: #193a66 !important;
  margin: 0 !important;
}

/* v5.1.0: galerie, linki i czytelne przyciski */
.homepage-announcement-banner {
  background: #0d2b5e !important;
  border-bottom: 3px solid #c9970a !important;
  color: #fff !important;
}

.homepage-announcement-inner {
  align-items: center !important;
  display: grid !important;
  gap: 10px 18px !important;
  grid-template-columns: auto minmax(180px, .7fr) minmax(240px, 1fr) auto !important;
  padding-bottom: 14px !important;
  padding-top: 14px !important;
}

.homepage-announcement-inner span,
.homepage-announcement-inner strong,
.homepage-announcement-inner p,
.homepage-announcement-inner a {
  color: #fff !important;
}

.homepage-announcement-inner span {
  align-items: center !important;
  background: #c9970a !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-weight: 900 !important;
  gap: 8px !important;
  padding: 7px 12px !important;
}

.homepage-announcement-inner strong {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
}

.homepage-announcement-inner p {
  margin: 0 !important;
  opacity: .95 !important;
}

.homepage-announcement-inner a,
.map-open-link,
.source-link-list a,
.song-card-body a,
.wp-block-button__link,
.btn-gold,
.btn-primary,
.btn-outline,
button,
input[type="submit"] {
  text-decoration: none !important;
}

.homepage-announcement-inner a {
  background: #fff !important;
  border-radius: 6px !important;
  color: #0d2b5e !important;
  font-weight: 900 !important;
  padding: 9px 14px !important;
  text-align: center !important;
}

.btn-outline,
.btn-out,
.wp-block-button.btn-outline .wp-block-button__link {
  background: #fff !important;
  color: #0d2b5e !important;
}

.btn-outline:hover,
.btn-out:hover,
.wp-block-button.btn-outline .wp-block-button__link:hover {
  background: #d6e6f8 !important;
  color: #071628 !important;
}

.map-open-link,
.source-link-list a {
  color: #0d2b5e !important;
  font-weight: 900 !important;
}

.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img {
  background: #eef4fc !important;
  cursor: zoom-in !important;
  height: 170px !important;
  object-fit: contain !important;
  padding: 8px !important;
  width: 100% !important;
}

.archive-gallery-grid figure,
.official-gallery-grid figure,
.album-photo-grid figure {
  background: #f7fbff !important;
}

.sanktuarium-lightbox {
  align-items: center !important;
  background: rgba(7, 22, 40, .88) !important;
  display: none !important;
  inset: 0 !important;
  justify-content: center !important;
  padding: 28px !important;
  position: fixed !important;
  z-index: 100000 !important;
}

.sanktuarium-lightbox.open {
  display: flex !important;
}

.sanktuarium-lightbox figure {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  max-height: 92vh !important;
  max-width: min(1100px, 92vw) !important;
}

.sanktuarium-lightbox img {
  background: #fff !important;
  border: 2px solid #c9970a !important;
  border-radius: 8px !important;
  max-height: 82vh !important;
  object-fit: contain !important;
  width: 100% !important;
}

.sanktuarium-lightbox figcaption {
  color: #fff !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.sanktuarium-lightbox button {
  align-items: center !important;
  background: #fff !important;
  border: 2px solid #c9970a !important;
  border-radius: 999px !important;
  color: #0d2b5e !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 18px !important;
  height: 48px !important;
  justify-content: center !important;
  position: absolute !important;
  width: 48px !important;
}

.sanktuarium-lightbox-close { right: 24px !important; top: 24px !important; }
.sanktuarium-lightbox-prev { left: 24px !important; top: 50% !important; transform: translateY(-50%) !important; }
.sanktuarium-lightbox-next { right: 24px !important; top: 50% !important; transform: translateY(-50%) !important; }
body.lightbox-open { overflow: hidden !important; }

.youtube-video-section,
.jp2-archive-card,
.gallery-manage-note,
.sacrament-note {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  margin: 26px 0 !important;
  padding: 24px !important;
}

.youtube-video-section h2,
.jp2-archive-card h3,
.gallery-manage-note h3,
.sacrament-note h4 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin-top: 0 !important;
}

.sacrament-note {
  background: #fdf7df !important;
  border-color: #e2c96f !important;
  box-shadow: none !important;
  margin: 18px 0 0 !important;
  padding: 16px 18px !important;
}

.sacrament-note h4 {
  color: #7a5900 !important;
}

.sacrament-note p,
.sacrament-note li {
  color: #193a66 !important;
}

.youtube-video-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
}

.youtube-card {
  background: #eef4fc !important;
  border: 1px solid #c9dcf1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.youtube-card iframe {
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  display: block !important;
  width: 100% !important;
}

.youtube-card strong {
  color: #0d2b5e !important;
  display: block !important;
  padding: 12px 14px !important;
}

.jp2-archive-card {
  display: grid !important;
  gap: 22px !important;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr) !important;
  align-items: center !important;
}

.jp2-archive-card img,
.pauline-link-feature img {
  object-fit: contain !important;
}

.jp2-archive-card a {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 6px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 900 !important;
  padding: 10px 14px !important;
  width: fit-content !important;
}

.jp2-material-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  margin: 26px 0 !important;
}

.jp2-material-grid article {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(13, 43, 94, .08) !important;
  color: #193a66 !important;
  display: grid !important;
  gap: 10px !important;
  padding: 22px !important;
}

.jp2-material-grid i {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  font-size: 22px !important;
  height: 52px !important;
  justify-content: center !important;
  width: 52px !important;
}

.jp2-material-grid h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin: 0 !important;
}

.jp2-material-grid a {
  background: #0d2b5e !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-weight: 900 !important;
  padding: 9px 12px !important;
  width: fit-content !important;
}

@media (max-width: 760px) {
  .homepage-announcement-inner,
  .jp2-archive-card {
    grid-template-columns: 1fr !important;
  }

  .sanktuarium-lightbox {
    padding: 18px !important;
  }

  .sanktuarium-lightbox-prev,
  .sanktuarium-lightbox-next {
    bottom: 18px !important;
    top: auto !important;
    transform: none !important;
  }
}

/* v5.2.0: finalny szlif mobilny, kontrast i archiwum */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

main#main-content,
.wp-site-blocks,
.entry-content,
.wp-block-post-content {
  overflow-wrap: anywhere !important;
}

a,
button,
.wp-element-button,
.wp-block-button__link,
.btn-gold,
.btn-primary,
.btn-outline,
input[type="submit"] {
  min-height: 44px !important;
}

.wp-element-button,
.wp-block-button__link,
.btn-primary,
.btn-gold,
button[type="submit"],
input[type="submit"],
.source-link-list a,
.jp2-material-grid a,
.jp2-archive-card a,
.song-card-body a {
  background: #0d2b5e !important;
  border: 2px solid #0d2b5e !important;
  color: #fff !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.btn-primary:hover,
.btn-gold:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.source-link-list a:hover,
.jp2-material-grid a:hover,
.jp2-archive-card a:hover,
.song-card-body a:hover {
  background: #092147 !important;
  border-color: #c9970a !important;
  color: #fff !important;
}

.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link {
  background: #fff !important;
  border: 2px solid #0d2b5e !important;
  color: #0d2b5e !important;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #c9970a !important;
  outline-offset: 3px !important;
}

.dostep-card,
.news-card,
.msze-card,
.sacrament-info-card,
.source-article,
.fulltext-article,
.mass-intentions-full,
.current-week-publication,
.youtube-video-section,
.jp2-archive-card,
.gallery-manage-note,
.auto-publication-panel,
.auto-publication-archive {
  color: #193a66 !important;
}

.dostep-card h2,
.dostep-card h3,
.news-card h2,
.news-card h3,
.msze-card h2,
.msze-card h3,
.source-article h2,
.source-article h3,
.fulltext-article h2,
.fulltext-article h3,
.auto-publication-panel h2,
.auto-publication-panel h3,
.auto-publication-archive h2,
.auto-publication-archive h3 {
  color: #0d2b5e !important;
  line-height: 1.22 !important;
}

.dostep-card p,
.news-card p,
.msze-card p,
.source-article p,
.source-article li,
.fulltext-article p,
.fulltext-article li,
.auto-publication-panel p,
.auto-publication-panel li,
.auto-publication-archive p,
.auto-publication-archive li {
  color: #193a66 !important;
}

.archive-gallery-grid,
.official-gallery-grid,
.album-photo-grid,
.wp-block-gallery {
  align-items: stretch !important;
}

.archive-gallery-grid figure,
.official-gallery-grid figure,
.album-photo-grid figure,
.wp-block-gallery figure {
  border-radius: 8px !important;
  overflow: hidden !important;
}

.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img {
  min-height: 180px !important;
  max-height: 240px !important;
}

.source-feature.fulltext-visual {
  align-items: stretch !important;
  overflow: hidden !important;
}

.source-feature.fulltext-visual img {
  background: #eef4fc !important;
}

.auto-publication-panel,
.auto-publication-archive {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important;
  margin: 26px 0 !important;
  padding: clamp(20px, 4vw, 36px) !important;
}

.auto-publication-panel header,
.auto-publication-archive header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 18px !important;
  position: static !important;
}

.auto-publication-kicker {
  color: #8a6400 !important;
  display: block !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

.auto-publication-meta {
  align-items: center !important;
  color: #3d5a8a !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-size: .92rem !important;
  gap: 8px 14px !important;
  margin-top: 8px !important;
}

.auto-publication-content {
  background: #f7fbff !important;
  border: 1px solid #d7e6f6 !important;
  border-radius: 8px !important;
  padding: clamp(16px, 3vw, 28px) !important;
}

.auto-publication-empty {
  background: #fdf7df !important;
  border-color: #e2c96f !important;
}

.auto-archive-list {
  display: grid !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.auto-archive-list a {
  align-items: center !important;
  background: #eef4fc !important;
  border: 1px solid #c9dcf1 !important;
  border-radius: 8px !important;
  color: #0d2b5e !important;
  display: grid !important;
  gap: 4px !important;
  padding: 13px 15px !important;
}

.auto-archive-list strong {
  color: #0d2b5e !important;
}

.auto-archive-list span {
  color: #3d5a8a !important;
  font-size: .88rem !important;
}

@media (max-width: 900px) {
  .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .section {
    padding-bottom: 44px !important;
    padding-top: 44px !important;
  }

  .hero {
    padding-bottom: 44px !important;
    padding-top: 44px !important;
  }

  .hero-inner {
    gap: 28px !important;
  }

  .hero h1,
  .hero h2 {
    font-size: clamp(28px, 8vw, 40px) !important;
  }

  .main-menu {
    width: 100% !important;
  }

  .main-menu.open .sub-menu {
    background: #092147 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    min-width: 0 !important;
    position: static !important;
  }

  .main-menu.open .sub-menu a {
    color: #fff !important;
    padding-left: 34px !important;
  }
}

@media (max-width: 760px) {
  header.scrolled nav.main-nav {
    display: block !important;
  }

  .topbar-inner,
  .ann-inner,
  .header-inner,
  .nav-inner {
    align-items: stretch !important;
  }

  .header-inner {
    gap: 12px !important;
    padding: 10px 0 !important;
  }

  .header-title h1 {
    font-size: 16px !important;
  }

  .header-title p {
    font-size: 12px !important;
  }

  .mobile-toggle {
    min-width: 48px !important;
  }

  .main-menu > li > a {
    color: #fff !important;
    font-size: 14px !important;
    padding: 14px 16px !important;
  }

  .homepage-announcement-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .dostep-grid,
  .official-card-grid,
  .news-grid,
  .msze-grid,
  .sacrament-card-grid,
  .fulltext-person-grid,
  .pastoral-group-grid,
  .youtube-video-grid,
  .jp2-material-grid {
    grid-template-columns: 1fr !important;
  }

  .dostep-card,
  .news-card,
  .msze-card,
  .sacrament-info-card,
  .source-article,
  .fulltext-article,
  .mass-intentions-full,
  .current-week-publication,
  .auto-publication-panel,
  .auto-publication-archive {
    padding: 18px !important;
  }

  .sacrament-info-card summary {
    min-height: 0 !important;
    padding: 18px !important;
  }

  .source-feature,
  .source-feature.fulltext-visual,
  .source-feature.fulltext-visual.visual-wide,
  .jp2-archive-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .source-feature.fulltext-visual img,
  .source-feature.fulltext-visual.visual-wide img,
  .source-feature.fulltext-visual.visual-obraz img,
  .source-feature.fulltext-visual.visual-sobota img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: contain !important;
    width: 100% !important;
  }

  .mass-archive-year ul {
    columns: 1 !important;
    max-height: 420px !important;
  }

  .archive-gallery-grid img,
  .official-gallery-grid img,
  .album-photo-grid img,
  .wp-block-gallery img {
    height: auto !important;
    max-height: 260px !important;
    min-height: 170px !important;
  }

  .auto-publication-meta {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 420px) {
  .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .hero-btns,
  .wp-block-buttons {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .btn-gold,
  .btn-primary,
  .btn-outline,
  .wp-block-button,
  .wp-block-button__link,
  .wp-element-button {
    justify-content: center !important;
    width: 100% !important;
  }

  .sanktuarium-lightbox button {
    height: 42px !important;
    width: 42px !important;
  }
}

/* v5.2.1: zdjęcia bez obcinania oraz uproszczony pasek liturgiczny */
.liturg-right,
#lb-rok,
#lb-psal {
  display: none !important;
}

.liturg-inner {
  gap: 0 !important;
}

.liturg-main {
  flex: 1 1 auto !important;
}

.archive-gallery-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  max-height: none !important;
  overflow: visible !important;
}

.archive-gallery-grid figure,
.official-gallery-grid figure,
.album-photo-grid figure,
.wp-block-gallery figure,
.source-feature.fulltext-visual figure,
.source-person-card figure,
.fulltext-person-card figure,
.pastoral-group-card figure {
  align-items: center !important;
  background: #f7fbff !important;
  display: grid !important;
  justify-items: center !important;
  overflow: visible !important;
}

.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img,
.source-feature.fulltext-visual img,
.source-feature.fulltext-visual.visual-wide img,
.source-feature.fulltext-visual.visual-obraz img,
.source-feature.fulltext-visual.visual-sobota img,
.source-person-card img,
.fulltext-person-card img,
.fulltext-person-card summary img,
.fulltext-kaplani-w-historii-parafii .fulltext-person-card summary img,
.fulltext-powolania-z-parafii .fulltext-person-card summary img,
.pastoral-group-card img,
.info-photo-card img,
.map-panel img,
.gallery-album-card .wp-block-post-featured-image img {
  aspect-ratio: auto !important;
  background: #eef4fc !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  width: 100% !important;
}

.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img {
  height: 260px !important;
  max-height: 260px !important;
}

.source-feature.fulltext-visual img,
.source-feature.fulltext-visual.visual-wide img {
  max-height: 560px !important;
}

.fulltext-kaplani-w-historii-parafii .fulltext-person-card summary img,
.fulltext-powolania-z-parafii .fulltext-person-card summary img,
.source-person-card img,
.fulltext-person-card img {
  max-height: 300px !important;
}

.pastoral-group-card img,
.gallery-album-card .wp-block-post-featured-image img {
  height: 240px !important;
  max-height: 240px !important;
}

@media (max-width: 760px) {
  .archive-gallery-grid {
    grid-template-columns: 1fr !important;
  }

  .archive-gallery-grid img,
  .official-gallery-grid img,
  .album-photo-grid img,
  .wp-block-gallery img {
    height: auto !important;
    max-height: 420px !important;
  }

  .source-feature.fulltext-visual img,
  .source-feature.fulltext-visual.visual-wide img {
    max-height: 440px !important;
  }
}

/* v5.2.2: audyt kontrastu napisów i przycisków */
body,
main#main-content,
.wp-site-blocks {
  color: #0d1e38 !important;
}

main#main-content p,
main#main-content li,
main#main-content span,
main#main-content figcaption,
.wp-block-post-content p,
.wp-block-post-content li {
  color: #193a66 !important;
}

main#main-content h1,
main#main-content h2,
main#main-content h3,
main#main-content h4,
main#main-content strong,
.wp-block-post-title,
.wp-block-post-title a {
  color: #0d2b5e !important;
}

.wp-block-button__link,
.wp-element-button,
.btn-primary,
.btn-gold,
.homepage-announcement-inner a,
.source-link-list a,
.song-card-body a,
.jp2-material-grid a,
.jp2-archive-card a,
.map-open-link,
button[type="submit"],
input[type="submit"] {
  background: #0d2b5e !important;
  border: 2px solid #0d2b5e !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

.wp-block-button__link *,
.wp-element-button *,
.btn-primary *,
.btn-gold *,
.homepage-announcement-inner a *,
.source-link-list a *,
.song-card-body a *,
.jp2-material-grid a *,
.jp2-archive-card a *,
.map-open-link *,
button[type="submit"] *,
input[type="submit"] * {
  color: #fff !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.btn-primary:hover,
.btn-gold:hover,
.homepage-announcement-inner a:hover,
.source-link-list a:hover,
.song-card-body a:hover,
.jp2-material-grid a:hover,
.jp2-archive-card a:hover,
.map-open-link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #071628 !important;
  border-color: #c9970a !important;
  color: #fff !important;
}

.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link {
  background: #fff !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
}

.btn-outline *,
.wp-block-button.btn-outline .wp-block-button__link * {
  color: #0d2b5e !important;
}

.pastoral-group-card,
.sacrament-info-card,
.dostep-card,
.news-card,
.msze-card,
.service-schedule-grid article,
.pilgrimage-type-grid article,
.pilgrim-program-panel,
.pastoral-responsibility-card,
.sacrament-service-note {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #193a66 !important;
}

.pastoral-group-card summary,
.sacrament-info-card summary {
  background: #fff !important;
  color: #0d2b5e !important;
}

.pastoral-group-card summary *,
.sacrament-info-card summary * {
  color: #0d2b5e !important;
}

.pastoral-group-card summary span,
.sacrament-info-card summary span,
.wspolnota-tag,
.visual-kicker,
.auto-publication-kicker {
  color: #7a5900 !important;
}

.source-feature.fulltext-visual figcaption,
.archive-gallery-grid figcaption,
.official-gallery-grid figcaption,
.album-photo-grid figcaption,
.wp-block-gallery figcaption {
  background: #fff !important;
  color: #0d2b5e !important;
  font-weight: 800 !important;
}

.homepage-announcement-inner span {
  background: #c9970a !important;
  color: #071628 !important;
}

.homepage-announcement-inner span *,
.homepage-announcement-inner strong,
.homepage-announcement-inner p {
  color: #fff !important;
}

.liturg-bar .czyt-link,
.liturg-bar .czyt-zestaw {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.55) !important;
  color: #fff !important;
}

.liturg-bar.bialy .czyt-link,
.liturg-bar.bialy .czyt-zestaw {
  background: #fff !important;
  border-color: #a87c00 !important;
  color: #0d2b5e !important;
}

.service-schedule-grid,
.pilgrimage-type-grid,
.pastoral-responsibility-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  margin: 24px 0 !important;
}

.service-schedule-grid article,
.pilgrimage-type-grid article,
.pastoral-responsibility-card,
.sacrament-service-note,
.pilgrim-program-panel {
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(13,43,94,.08) !important;
  padding: clamp(18px, 3vw, 26px) !important;
}

.service-schedule-grid i,
.pilgrimage-type-grid i {
  align-items: center !important;
  background: #d8e9fb !important;
  border-radius: 12px !important;
  color: #2f6bbf !important;
  display: inline-flex !important;
  font-size: 22px !important;
  height: 52px !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  width: 52px !important;
}

.pastoral-responsibility-card h3,
.sacrament-service-note h3,
.pilgrim-program-panel h3 {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  margin-top: 0 !important;
}

.pastoral-responsibility-grid p {
  background: #eef4fc !important;
  border: 1px solid #c9dcf1 !important;
  border-radius: 8px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
}

/* v5.2.3: Marian palette, stronger contrast and Pauline coat */
:root {
  --navy: #08295c;
  --navy-mid: #174d91;
  --navy-sky: #2f72c8;
  --gold: #b88708;
  --gold-rich: #9f7100;
  --gold-bright: #d5a51c;
  --gold-pale: #fff4cc;
  --gold-border: #b88708;
  --cream: #f7f4ee;
  --cream-dark: #e3d9ca;
  --ice: #eef6ff;
  --pale: #d9eafa;
  --marian-pale: #d9eafa;
  --marian-ice: #eef6ff;
  --white: #fff;
  --text: #071d3d;
  --text-dark: #071d3d;
  --text-body: #193a66;
  --body: #193a66;
  --text-mid: #0d2b5e;
  --text-muted: #355a8c;
  --muted: #355a8c;
  --shadow-sm: 0 4px 16px rgba(8, 41, 92, .08);
  --shadow-md: 0 16px 36px rgba(8, 41, 92, .14);
}

body,
.wp-site-blocks,
.editor-styles-wrapper {
  background:
    linear-gradient(180deg, rgba(247,244,238,.96) 0%, rgba(238,246,255,.94) 44%, rgba(247,244,238,.98) 100%),
    #f7f4ee !important;
  color: #071d3d !important;
}

main#main-content,
.page-content,
.entry-content,
.wp-block-post-content {
  color: #193a66 !important;
}

main#main-content p,
main#main-content li,
main#main-content dd,
main#main-content figcaption,
.page-content p,
.page-content li,
.entry-content p,
.entry-content li {
  color: #193a66 !important;
}

h1, h2, h3, h4, h5, h6,
.section-title h2,
.source-article h2,
.source-article h3,
.fulltext-article h2,
.fulltext-article h3,
.official-intro h2,
.dostep-card h2,
.dostep-card h3,
.news-body h3,
.msze-card h3,
.sacrament-info-card h3,
.pastoral-group-card h3,
.support-account h3,
.contact-card h3 {
  color: #08295c !important;
}

.topbar,
nav.main-nav,
footer,
.footer-main,
.footer-bottom {
  background: #071d3d !important;
  color: rgba(255,255,255,.9) !important;
}

.topbar a,
footer a,
.footer-link,
.footer-widget p,
.footer-bottom,
.footer-bottom a {
  color: rgba(255,255,255,.86) !important;
}

.topbar a:hover,
footer a:hover,
.footer-link:hover,
.footer-bottom a:hover {
  color: #d5a51c !important;
}

header {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 3px solid #d5a51c !important;
  box-shadow: 0 6px 24px rgba(8,41,92,.08) !important;
}

.header-title h1,
.header-title p,
.header-phone-sticky,
.header-mass .badge {
  color: #08295c !important;
}

.header-mass .badge {
  background: #eef6ff !important;
  border-color: #8fb8e8 !important;
}

.main-menu > li > a,
.menu-toggle {
  color: #fff !important;
}

.main-menu > li > a:hover,
.main-menu > li > a.active,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-ancestor > a {
  background: rgba(213,165,28,.16) !important;
  color: #ffd96a !important;
}

.sub-menu {
  background: #fff !important;
  border-top-color: #d5a51c !important;
  box-shadow: 0 18px 38px rgba(8,41,92,.16) !important;
}

.sub-menu a {
  color: #08295c !important;
}

.sub-menu a:hover,
.sub-menu a:focus {
  background: #eef6ff !important;
  color: #071d3d !important;
}

.hero,
.page-hero,
.official-hero,
.obraz-section,
.pielgrzymki-section,
.intencje-section {
  background:
    linear-gradient(135deg, rgba(238,246,255,.98) 0%, rgba(255,255,255,.96) 48%, rgba(247,244,238,.98) 100%) !important;
  color: #071d3d !important;
}

.hero h1,
.hero h2,
.hero-sub,
.hero-eyebrow,
.page-hero h1,
.page-hero p {
  color: #08295c !important;
}

.hero-eyebrow,
.visual-kicker,
.auto-publication-kicker,
.wspolnota-tag,
.source-kicker {
  color: #8a6500 !important;
}

.btn-primary,
.btn-gold,
.wp-block-button__link,
button,
input[type="submit"],
.read-more-button,
.archive-toggle,
.gallery-load-more,
.jp2-archive-card a {
  background: #08295c !important;
  border: 2px solid #08295c !important;
  color: #fff !important;
  text-shadow: none !important;
}

.btn-primary:hover,
.btn-gold:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
.read-more-button:hover,
.archive-toggle:hover,
.gallery-load-more:hover,
.jp2-archive-card a:hover {
  background: #174d91 !important;
  border-color: #174d91 !important;
  color: #fff !important;
}

.btn-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: #fff !important;
  border: 2px solid #08295c !important;
  color: #08295c !important;
}

.btn-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #eef6ff !important;
  color: #071d3d !important;
}

.dostep-card,
.news-card,
.msze-card,
.sacrament-info-card,
.pastoral-group-card,
.source-article,
.fulltext-article,
.official-intro,
.weekly-intentions,
.support-account,
.support-list article,
.group-edit-card,
.sacrament-doc-list,
.sacrament-doc-grid section,
.song-list-grid article,
.homily-panel,
.contact-card,
.office-hours-panel,
.service-schedule-grid article,
.pilgrimage-type-grid article,
.pilgrim-program-panel,
.pastoral-responsibility-card,
.sacrament-service-note,
.auto-publication-panel,
.auto-publication-archive,
.jp2-archive-card,
.youtube-video-section,
.gallery-manage-note,
.source-feature.fulltext-visual,
.pauline-link-feature {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #193a66 !important;
  box-shadow: 0 16px 36px rgba(8,41,92,.08) !important;
}

.dostep-card:hover,
.news-card:hover,
.source-article:hover,
.song-list-grid article:hover,
.pastoral-group-card:hover,
.sacrament-info-card:hover {
  border-color: #8fb8e8 !important;
  box-shadow: 0 20px 44px rgba(8,41,92,.13) !important;
}

.dostep-icon,
.sacrament-card-icon,
.service-schedule-grid i,
.pilgrimage-type-grid i,
.jp2-material-grid i,
.qi-icon,
.wspolnota-icon {
  background: #d9eafa !important;
  border: 1px solid #b8d0ea !important;
  color: #174d91 !important;
}

.dostep-icon i,
.sacrament-card-icon i,
.service-schedule-grid i,
.pilgrimage-type-grid i,
.jp2-material-grid i,
.qi-icon i,
.wspolnota-icon i {
  color: #174d91 !important;
}

.pastoral-group-card summary,
.sacrament-info-card summary,
.group-edit-card summary,
.sacrament-doc-grid summary {
  background: #eef6ff !important;
  border-bottom: 1px solid #b8d0ea !important;
  color: #08295c !important;
}

.pastoral-group-card summary *,
.sacrament-info-card summary *,
.group-edit-card summary *,
.sacrament-doc-grid summary * {
  color: #08295c !important;
}

.source-feature.fulltext-visual figcaption,
.archive-gallery-grid figcaption,
.official-gallery-grid figcaption,
.album-photo-grid figcaption,
.wp-block-gallery figcaption,
.source-feature figcaption {
  background: rgba(255,255,255,.96) !important;
  color: #08295c !important;
  font-weight: 800 !important;
}

.source-feature img,
.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img,
.jp2-archive-card img,
.pauline-link-feature img {
  background: #fff !important;
  object-fit: contain !important;
}

.pauline-link-feature img {
  max-height: 260px !important;
  padding: 16px !important;
}

.duszp-section,
.historia-section,
.odpusty-section {
  background: #08295c !important;
  color: #fff !important;
}

.duszp-section h2,
.duszp-section h3,
.historia-section h2,
.historia-section h3,
.odpusty-section h2,
.odpusty-section h3,
.duszp-section p,
.historia-section p,
.odpusty-section p {
  color: #fff !important;
}

.duszp-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #193a66 !important;
}

.duszp-card h3,
.duszp-card p,
.duszp-card a {
  color: #08295c !important;
}

.duszp-paulini-info {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(213,165,28,.45) !important;
}

.paulini-logo {
  width: 96px !important;
  height: 116px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url('assets/images/pauline-coat-of-arms.png') center / contain no-repeat !important;
  box-shadow: none !important;
}

.paulini-text h4 {
  color: #ffd96a !important;
}

.paulini-text p,
.paulini-text a {
  color: rgba(255,255,255,.9) !important;
}

.liturg-bar {
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(8,41,92,.18) !important;
}

.liturg-bar,
.liturg-bar *,
.liturg-bar a {
  color: #fff !important;
}

.liturg-bar .czyt-link,
.liturg-bar .czyt-zestaw {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.62) !important;
  color: #fff !important;
}

.liturg-bar.bialy,
.liturg-bar.bialy *,
.liturg-bar.bialy a {
  color: #071d3d !important;
}

.liturg-bar.bialy {
  background: linear-gradient(135deg, #fff 0%, #fff4cc 100%) !important;
  border-color: #d5a51c !important;
}

.liturg-bar.bialy .czyt-link,
.liturg-bar.bialy .czyt-zestaw {
  background: #08295c !important;
  border-color: #08295c !important;
  color: #fff !important;
}

.homepage-announcement,
.homepage-announcement-inner {
  background: #08295c !important;
  color: #fff !important;
}

.homepage-announcement-inner span {
  background: #d5a51c !important;
  color: #071d3d !important;
}

.homepage-announcement-inner strong,
.homepage-announcement-inner p,
.homepage-announcement-inner a {
  color: #fff !important;
}

input,
textarea,
select {
  background: #fff !important;
  border-color: #8fb8e8 !important;
  color: #071d3d !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #174d91 !important;
  box-shadow: 0 0 0 3px rgba(47,114,200,.18) !important;
}

@media (max-width: 780px) {
  .main-menu.open {
    background: #071d3d !important;
  }

  .main-menu > li > a {
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  .sub-menu {
    box-shadow: none !important;
  }

  .dostep-card,
  .news-card,
  .msze-card,
  .sacrament-info-card,
  .pastoral-group-card,
  .source-article,
  .fulltext-article,
  .contact-card {
    box-shadow: 0 10px 24px rgba(8,41,92,.08) !important;
  }
}

/* v6.5.30: person archive cards use native image/heading/details blocks for easier editing */
main#main-content .editable-person-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 34px rgba(13, 43, 94, .1) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

main#main-content .editable-person-card > .source-person-photo {
  background: #eef4fc !important;
  margin: 0 !important;
}

main#main-content .editable-person-card > .source-person-photo img {
  aspect-ratio: 4 / 3 !important;
  display: block !important;
  height: 240px !important;
  max-height: 240px !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

main#main-content .editable-person-card > .source-person-name {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.18rem !important;
  line-height: 1.22 !important;
  margin: 0 !important;
  padding: 18px 20px 8px !important;
}

main#main-content .editable-person-card .source-person-detail-toggle {
  margin: 0 !important;
}

main#main-content .editable-person-card .source-person-detail-toggle summary {
  background: transparent !important;
  border: 0 !important;
  color: #6d4c00 !important;
  cursor: pointer !important;
  display: block !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  list-style: none !important;
  min-height: 0 !important;
  padding: 0 20px 20px !important;
}

main#main-content .editable-person-card .source-person-detail-toggle summary::-webkit-details-marker {
  display: none !important;
}

main#main-content .editable-person-card .source-person-detail {
  background: #fbfdff !important;
  border-top: 1px solid #d7e6f6 !important;
  max-height: min(72vh, 760px) !important;
  overflow: auto !important;
  padding: clamp(20px, 3vw, 34px) !important;
}

main#main-content .editable-person-card .source-person-detail p {
  color: #193a66 !important;
  line-height: 1.72 !important;
  margin-bottom: 1rem !important;
}

main#main-content .fulltext-kaplani-w-historii-parafii .editable-person-card:has(.source-person-detail-toggle[open]),
main#main-content .fulltext-powolania-z-parafii .editable-person-card:has(.source-person-detail-toggle[open]) {
  grid-column: 1 / -1 !important;
}

/* v5.2.4: readability guard - text never disappears into backgrounds or photos */
main#main-content .page-content,
main#main-content .entry-content,
main#main-content .wp-block-post-content {
  background: transparent !important;
}

main#main-content .page-content :where(.has-white-color, .has-luminous-vivid-amber-color, .has-cyan-bluish-gray-color):not(.wp-block-button__link):not(.wp-element-button),
main#main-content .entry-content :where(.has-white-color, .has-luminous-vivid-amber-color, .has-cyan-bluish-gray-color):not(.wp-block-button__link):not(.wp-element-button) {
  color: #071d3d !important;
}

main#main-content :where(.dostep-card, .news-card, .msze-card, .wspolnota-card, .odpust-card, .source-article, .source-link-list, .source-feature, .source-hub, .source-person-card, .fulltext-article, .weekly-intentions, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .auto-publication-content, .contact-card, .office-hours-panel, .support-account, .support-list article, .group-edit-card, .sacrament-info-card, .pastoral-group-card, .sacrament-doc-list, .sacrament-doc-grid section, .song-list-grid article, .homily-panel, .youtube-card, .jp2-material-grid article, .jp2-archive-card, .sacrament-service-note, .pilgrim-program-panel, .pastoral-responsibility-card, .map-panel) {
  background-color: #fff !important;
  color: #071d3d !important;
}

main#main-content :where(.dostep-card, .news-card, .msze-card, .wspolnota-card, .odpust-card, .source-article, .source-link-list, .source-feature, .source-hub, .source-person-card, .fulltext-article, .weekly-intentions, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .auto-publication-content, .contact-card, .office-hours-panel, .support-account, .support-list article, .group-edit-card, .sacrament-info-card, .pastoral-group-card, .sacrament-doc-list, .sacrament-doc-grid section, .song-list-grid article, .homily-panel, .youtube-card, .jp2-material-grid article, .jp2-archive-card, .sacrament-service-note, .pilgrim-program-panel, .pastoral-responsibility-card, .map-panel) :where(p, li, dd, span, small, em, strong, figcaption):not(.wp-block-button__link):not(.wp-element-button):not(.duszp-badge):not(.duszp-zakon):not(.wspolnota-tag):not(.visual-kicker):not(.auto-publication-kicker) {
  color: #193a66 !important;
}

main#main-content :where(.dostep-card, .news-card, .msze-card, .wspolnota-card, .odpust-card, .source-article, .source-link-list, .source-feature, .source-hub, .source-person-card, .fulltext-article, .weekly-intentions, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .auto-publication-content, .contact-card, .office-hours-panel, .support-account, .support-list article, .group-edit-card, .sacrament-info-card, .pastoral-group-card, .sacrament-doc-list, .sacrament-doc-grid section, .song-list-grid article, .homily-panel, .youtube-card, .jp2-material-grid article, .jp2-archive-card, .sacrament-service-note, .pilgrim-program-panel, .pastoral-responsibility-card, .map-panel) :where(h1, h2, h3, h4, h5, h6, summary, summary span, summary strong) {
  color: #08295c !important;
}

main#main-content .page-content > .wp-block-group:not(.container):not(.hero):not(.page-hero):not(.breadcrumbs):not(.dostep-section):not(.official-photo-section):not(.obraz-section):not(.historia-section):not(.prayer-section):not(.intencje-section):not(.wspolnoty-section):not(.pielgrzymki-section):not(.duszp-section):not(.liturg-bar):not(.homepage-announcement):not([class*="section"]) {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(8,41,92,.08) !important;
  color: #071d3d !important;
  padding: clamp(20px, 4vw, 34px) !important;
}

main#main-content .wp-block-cover,
main#main-content .wp-block-cover-image {
  border-radius: 8px !important;
  overflow: hidden !important;
}

main#main-content .wp-block-cover .wp-block-cover__inner-container,
main#main-content .wp-block-cover-image .wp-block-cover__inner-container {
  background: rgba(7,29,61,.88) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 8px !important;
  color: #fff !important;
  margin: clamp(16px, 4vw, 34px) !important;
  max-width: min(760px, calc(100% - 32px)) !important;
  padding: clamp(18px, 4vw, 34px) !important;
}

main#main-content .wp-block-cover .wp-block-cover__inner-container *,
main#main-content .wp-block-cover-image .wp-block-cover__inner-container *,
.obraz-section *,
.historia-section *,
.prayer-section *,
.duszp-section * {
  color: #fff !important;
}

.obraz-section .visual-kicker,
.obraz-section .eyebrow,
.historia-section .eyebrow,
.prayer-content h2,
.duszp-section .eyebrow,
.duszp-section .paulini-text h4 {
  color: #ffd96a !important;
}

.obraz-quote,
.historia-fakt,
.prayer-content,
.duszp-paulini-info {
  background: rgba(7,29,61,.72) !important;
  border: 1px solid rgba(213,165,28,.36) !important;
  border-radius: 8px !important;
}

.prayer-content {
  padding: clamp(22px, 4vw, 44px) !important;
}

.obraz-section .btn-primary,
.historia-section .btn-primary,
.prayer-section .btn-primary,
.duszp-section .btn-primary,
.obraz-section .wp-block-button__link,
.historia-section .wp-block-button__link,
.prayer-section .wp-block-button__link,
.duszp-section .wp-block-button__link {
  background: #fff !important;
  border-color: #fff !important;
  color: #08295c !important;
}

.obraz-section .btn-primary *,
.historia-section .btn-primary *,
.prayer-section .btn-primary *,
.duszp-section .btn-primary *,
.obraz-section .wp-block-button__link *,
.historia-section .wp-block-button__link *,
.prayer-section .wp-block-button__link *,
.duszp-section .wp-block-button__link * {
  color: #08295c !important;
}

.hero-image-badge {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  box-shadow: 0 12px 26px rgba(7,29,61,.18) !important;
  color: #08295c !important;
  max-width: min(320px, calc(100% - 24px)) !important;
}

.hero-image-badge,
.hero-image-badge * {
  color: #08295c !important;
}

.hero-image-badge strong {
  color: #8a6500 !important;
}

.official-photo-card {
  align-items: stretch !important;
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  box-shadow: 0 16px 36px rgba(8,41,92,.1) !important;
  display: grid !important;
  grid-template-rows: minmax(230px, 1fr) auto !important;
  min-height: 0 !important;
}

.official-photo-card::before {
  background-color: #eef6ff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  content: "" !important;
  display: block !important;
  min-height: 230px !important;
}

.official-photo-card.panorama::before { background-image: url('assets/images/panorama.jpg') !important; }
.official-photo-card.obraz::before { background-image: url('assets/images/obraz.jpg') !important; background-position: center top !important; background-size: contain !important; }
.official-photo-card.kosciol::before { background-image: url('assets/images/kosciol.jpg') !important; }
.official-photo-card.kosciol1::before { background-image: url('assets/images/kosciol1.jpg') !important; }
.official-photo-card.mapa::before { background-image: url('assets/images/mapa.jpg') !important; }

.official-photo-caption {
  background: #fff !important;
  border-top: 1px solid #b8d0ea !important;
  color: #193a66 !important;
  padding: 18px 20px !important;
  position: relative !important;
  width: 100% !important;
  z-index: 1 !important;
}

.official-photo-caption h3 {
  color: #08295c !important;
}

.official-photo-caption p {
  color: #193a66 !important;
}

.source-feature.fulltext-visual {
  grid-template-columns: minmax(260px, 42%) minmax(0, 1fr) !important;
}

.source-feature.fulltext-visual figure,
.archive-gallery-grid figure,
.official-gallery-grid figure,
.album-photo-grid figure,
.wp-block-gallery figure,
.wp-block-image {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(8,41,92,.06) !important;
  overflow: hidden !important;
}

.source-feature.fulltext-visual img,
.archive-gallery-grid img,
.official-gallery-grid img,
.album-photo-grid img,
.wp-block-gallery img,
.wp-block-image img {
  background: #eef6ff !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  width: 100% !important;
}

.source-feature.fulltext-visual figcaption,
.archive-gallery-grid figcaption,
.official-gallery-grid figcaption,
.album-photo-grid figcaption,
.wp-block-gallery figcaption,
.wp-block-image figcaption,
main#main-content figcaption {
  background: #fff !important;
  border-top: 1px solid #b8d0ea !important;
  color: #08295c !important;
  display: block !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  position: static !important;
  text-shadow: none !important;
}

.source-person-card summary,
.fulltext-person-card summary,
.pastoral-group-card summary,
.sacrament-info-card summary {
  background: #eef6ff !important;
  color: #08295c !important;
}

.source-person-card summary *,
.fulltext-person-card summary *,
.pastoral-group-card summary *,
.sacrament-info-card summary * {
  color: #08295c !important;
}

.wp-block-button__link,
.wp-element-button,
.btn-primary,
.btn-gold,
button[type="submit"],
input[type="submit"] {
  background: #08295c !important;
  border-color: #08295c !important;
  color: #fff !important;
}

.wp-block-button__link *,
.wp-element-button *,
.btn-primary *,
.btn-gold *,
button[type="submit"] *,
input[type="submit"] * {
  color: #fff !important;
}

@media (max-width: 760px) {
  .source-feature,
  .source-feature.fulltext-visual,
  .jp2-archive-card,
  .official-photo-grid,
  .historia-inner,
  .obraz-inner,
  .intencje-inner,
  .pielgrzymki-inner {
    grid-template-columns: 1fr !important;
  }

  .official-photo-card,
  .official-photo-card.panorama {
    grid-template-rows: minmax(190px, auto) auto !important;
  }

  .official-photo-card::before {
    min-height: 190px !important;
  }

  .hero-image-badge {
    bottom: 12px !important;
    left: 12px !important;
  }
}

/* v5.2.4b: light panels inside dark sections keep dark readable text */
.historia-section .timeline,
.historia-section main#main-content .timeline,
.duszp-section .duszp-card,
.duszp-section .source-person-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #071d3d !important;
}

.historia-section .timeline :where(.tl-title, .tl-text, p, span, div):not(.tl-year),
.historia-section main#main-content .timeline :where(.tl-title, .tl-text, p, span, div):not(.tl-year),
.duszp-section .duszp-card :where(.duszp-name, .duszp-rola, p, span, div, h3, strong, a):not(.duszp-badge):not(.duszp-zakon),
.duszp-section .source-person-card :where(p, span, div, h3, strong, a) {
  color: #193a66 !important;
}

.historia-section .timeline .tl-title,
.duszp-section .duszp-card .duszp-name,
.duszp-section .source-person-card h3 {
  color: #08295c !important;
}

.historia-section .timeline .tl-year {
  background: #08295c !important;
  color: #fff !important;
}

.historia-section .timeline .tl-year.gold {
  background: #b88708 !important;
  color: #071d3d !important;
}

.duszp-section .duszp-card .duszp-badge,
.duszp-section .duszp-card .duszp-zakon {
  background: #d9eafa !important;
  border: 1px solid #b8d0ea !important;
  color: #08295c !important;
}

.duszp-section .duszp-card .duszp-avatar {
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  color: #174d91 !important;
}

.duszp-section .duszp-card .duszp-avatar *,
.duszp-section .duszp-card .duszp-avatar i {
  color: #174d91 !important;
}

/* v5.2.5: poprawki ze zrzutow ekranu - przyciski, tła i obraz sanktuarium */
main#main-content :where(.wp-block-button__link, .wp-element-button, .btn-primary, .btn-gold, .map-open-link, .form-submit, button[type="submit"], input[type="submit"]),
main#main-content :where(.jp2-material-grid, .contact-card, .source-link-list, .song-card-body, .attachment-card, .download-card, .file-card, .material-card) a {
  align-items: center !important;
  background: #08295c !important;
  border: 2px solid #08295c !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 900 !important;
  gap: 8px !important;
  justify-content: center !important;
  line-height: 1.25 !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

main#main-content :where(.wp-block-button__link, .wp-element-button, .btn-primary, .btn-gold, .map-open-link, .form-submit, button[type="submit"], input[type="submit"]) *,
main#main-content :where(.jp2-material-grid, .contact-card, .source-link-list, .song-card-body, .attachment-card, .download-card, .file-card, .material-card) a * {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content :where(.wp-block-button__link, .wp-element-button, .btn-primary, .btn-gold, .map-open-link, .form-submit, button[type="submit"], input[type="submit"]):hover,
main#main-content :where(.jp2-material-grid, .contact-card, .source-link-list, .song-card-body, .attachment-card, .download-card, .file-card, .material-card) a:hover {
  background: #174d91 !important;
  border-color: #d5a51c !important;
  color: #fff !important;
}

.auto-publication-archive,
.mass-archive-year {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  color: #071d3d !important;
}

.auto-archive-list,
.mass-archive-year ul {
  display: grid !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.auto-archive-list li,
.mass-archive-year li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.auto-archive-list a,
.mass-archive-year a {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  color: #08295c !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 14px !important;
  justify-content: space-between !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
}

.auto-archive-list a *,
.mass-archive-year a *,
.auto-archive-list strong,
.auto-archive-list span,
.mass-archive-year strong,
.mass-archive-year span {
  color: #08295c !important;
  opacity: 1 !important;
}

.auto-archive-list a:hover,
.mass-archive-year a:hover {
  background: #d9eafa !important;
  border-color: #8fb8e8 !important;
}

.homepage-announcement-banner,
.homepage-announcement,
.homepage-announcement-inner {
  background: #08295c !important;
  border-color: #d5a51c !important;
  color: #fff !important;
}

.homepage-announcement-inner :where(p, strong, a, div):not(span),
.homepage-announcement-inner :where(p, strong, a, div):not(span) * {
  color: #fff !important;
  opacity: 1 !important;
}

.homepage-announcement-inner span {
  background: #d5a51c !important;
  border-radius: 999px !important;
  color: #071d3d !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  padding: 8px 14px !important;
}

.homepage-announcement-inner span * {
  color: #071d3d !important;
}

.homepage-announcement-inner a {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: #fff !important;
}

.today-card.primary,
.today-card.primary:visited {
  background: #08295c !important;
  border: 1px solid #d5a51c !important;
  color: #fff !important;
}

.today-card.primary *,
.today-card.primary strong,
.today-card.primary span,
.today-card.primary p {
  color: #fff !important;
  opacity: 1 !important;
}

.today-card.primary i {
  color: #d5a51c !important;
}

.news-tag,
.wspolnota-tag,
.duszp-badge,
.duszp-zakon {
  background: #d5a51c !important;
  border: 1px solid #b88708 !important;
  color: #071d3d !important;
  opacity: 1 !important;
}

.news-tag *,
.wspolnota-tag *,
.duszp-badge *,
.duszp-zakon * {
  color: #071d3d !important;
}

.obraz-section {
  background:
    linear-gradient(135deg, rgba(238,246,255,.98), rgba(255,255,255,.98) 52%, rgba(247,244,238,.98)) !important;
  color: #071d3d !important;
  overflow: hidden !important;
}

.obraz-section::before {
  opacity: .72 !important;
}

.obraz-inner {
  align-items: center !important;
  display: grid !important;
  gap: clamp(26px, 4vw, 54px) !important;
  grid-template-columns: minmax(240px, 330px) minmax(0, 1fr) !important;
}

.obraz-frame,
.official-obraz .obraz-frame {
  aspect-ratio: 3 / 4 !important;
  background: #fff url('assets/images/obraz.jpg') center / contain no-repeat !important;
  border: 2px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 38px rgba(8,41,92,.14) !important;
  display: block !important;
  height: auto !important;
  max-width: 330px !important;
  min-height: 0 !important;
  width: min(100%, 330px) !important;
}

.obraz-text {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(8,41,92,.08) !important;
  color: #071d3d !important;
  padding: clamp(22px, 4vw, 40px) !important;
}

.obraz-section .obraz-text *,
.obraz-text :where(h1, h2, h3, h4, p, span, strong, cite, div) {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.obraz-text h3,
.obraz-text h2 {
  color: #08295c !important;
}

.obraz-text .eyebrow,
.obraz-text .visual-kicker {
  color: #8a6500 !important;
}

.obraz-quote {
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  border-radius: 8px !important;
}

.obraz-quote p,
.obraz-quote cite {
  color: #193a66 !important;
}

.obraz-fakty {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
}

.obraz-fakt {
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  padding: 14px !important;
}

.obraz-fakt strong {
  color: #08295c !important;
}

.obraz-fakt span {
  color: #193a66 !important;
}

.historia-section {
  background: #08295c !important;
  color: #fff !important;
}

.historia-text {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.12) !important;
  color: #071d3d !important;
  padding: clamp(22px, 4vw, 40px) !important;
}

.historia-text *,
.historia-text :where(h1, h2, h3, p, span, strong) {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.historia-text h2 {
  color: #08295c !important;
}

.historia-text .eyebrow {
  color: #8a6500 !important;
}

.historia-fakt {
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
}

.historia-fakt strong {
  color: #08295c !important;
}

.historia-fakt span {
  color: #193a66 !important;
}

.prayer-section {
  background: #08295c !important;
  color: #071d3d !important;
}

.prayer-content {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.14) !important;
  color: #071d3d !important;
}

.prayer-content *,
.prayer-content :where(h1, h2, h3, p, span, strong, cite) {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.prayer-content h2,
.prayer-content .wp-block-heading {
  color: #08295c !important;
}

.prayer-content .sub {
  color: #8a6500 !important;
}

.prayer-text {
  color: #193a66 !important;
}

.duszp-section {
  background: #08295c !important;
}

.duszp-intro {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.12) !important;
  color: #071d3d !important;
  padding: clamp(22px, 4vw, 38px) !important;
}

.duszp-intro *,
.duszp-intro :where(h1, h2, h3, p, span, strong) {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.duszp-intro h2 {
  color: #08295c !important;
}

.duszp-intro .eyebrow {
  color: #8a6500 !important;
}

.duszp-paulini-info {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.12) !important;
  color: #071d3d !important;
}

.duszp-paulini-info *,
.duszp-paulini-info :where(h1, h2, h3, h4, p, span, strong) {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.duszp-paulini-info h4,
.duszp-paulini-info .paulini-text h4 {
  color: #08295c !important;
}

@media (max-width: 760px) {
  .obraz-inner {
    grid-template-columns: 1fr !important;
  }

  .obraz-frame,
  .official-obraz .obraz-frame {
    justify-self: center !important;
    max-width: 300px !important;
  }

  .homepage-announcement-inner {
    align-items: stretch !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
  }
}

/* v45 - edytowalne karty i filmy: pojedyncze elementy mozna usuwac bez rozbijania ukladu */
.editable-card-grid,
.editable-video-grid {
  display: grid !important;
  gap: 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  align-items: stretch !important;
}

.editable-card-grid > .editable-card,
.editable-video-grid > .editable-video-card {
  min-width: 0 !important;
  width: 100% !important;
}

.editable-card-grid:empty,
.editable-video-grid:empty,
.editable-card:empty,
.editable-video-card:empty {
  display: none !important;
}

.editable-card {
  cursor: default !important;
}

.editable-card > :last-child,
.editable-video-card > :last-child,
.editable-link-list > :last-child {
  margin-bottom: 0 !important;
}

.editable-video-section {
  margin: clamp(24px, 4vw, 44px) 0 !important;
}

.youtube-card.editable-video-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(8,41,92,.08) !important;
  color: #193a66 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.youtube-embed {
  background: #071d3d !important;
  display: block !important;
  width: 100% !important;
}

.youtube-embed iframe {
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  display: block !important;
  width: 100% !important;
}

.youtube-card.editable-video-card h3,
.youtube-card.editable-video-card .wp-block-heading {
  color: #08295c !important;
  font-family: var(--serif) !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.22 !important;
  margin: 18px 18px 8px !important;
}

.youtube-card.editable-video-card p {
  color: #193a66 !important;
  margin: 0 18px 18px !important;
}

.editable-link-list ul {
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .editable-card-grid,
  .editable-video-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v47 - czytelnosc, jednolite tla i pelniejsze kadrowanie zdjec */
.homepage-announcement-banner,
.homepage-announcement,
.homepage-announcement-inner {
  display: none !important;
}

.obraz-section,
.prayer-section,
.historia-section,
.duszp-section {
  background-image: none !important;
}

.obraz-section::before,
.prayer-section::before,
.historia-section::before,
.duszp-section::before {
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

.obraz-section {
  background: #eef6ff !important;
}

.prayer-section,
.historia-section,
.duszp-section {
  background: #08295c !important;
}

.today-card.primary,
.today-card.primary:visited {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  color: #08295c !important;
}

.today-card.primary *,
.today-card.primary strong,
.today-card.primary span,
.today-card.primary p {
  color: #08295c !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.today-card.primary i {
  color: #d5a51c !important;
}

.wp-block-button__link,
.wp-element-button,
.btn-primary a,
.btn-gold a,
.btn-outline a,
.contact-actions a,
.map-open-link,
.jp2-material-grid a,
.auto-archive-list a,
.mass-archive-year a,
.legacy-link-button,
.source-link-list a {
  opacity: 1 !important;
  text-shadow: none !important;
}

.wp-block-button__link:not(.has-text-color),
.wp-element-button:not(.has-text-color),
.btn-primary a,
.contact-actions .btn-primary,
.contact-actions .btn-gold,
.contact-actions a:not(.btn-outline),
.map-open-link,
.jp2-material-grid a,
.legacy-link-button {
  background: #08295c !important;
  border: 1px solid #08295c !important;
  color: #fff !important;
}

.wp-block-button__link:not(.has-text-color) *,
.wp-element-button:not(.has-text-color) *,
.btn-primary a *,
.contact-actions .btn-primary *,
.contact-actions .btn-gold *,
.contact-actions a:not(.btn-outline) *,
.map-open-link *,
.jp2-material-grid a *,
.legacy-link-button * {
  color: #fff !important;
  opacity: 1 !important;
}

.btn-outline a,
.contact-actions .btn-outline {
  background: #fff !important;
  border: 2px solid #08295c !important;
  color: #08295c !important;
}

.btn-outline a *,
.contact-actions .btn-outline * {
  color: #08295c !important;
}

.auto-archive-list a,
.mass-archive-year a {
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  color: #08295c !important;
}

.auto-archive-list a *,
.mass-archive-year a *,
.auto-archive-list strong,
.auto-archive-list span,
.mass-archive-year strong,
.mass-archive-year span {
  color: #08295c !important;
  opacity: 1 !important;
}

.source-feature.fulltext-visual,
.source-feature.visual-wide,
.source-feature {
  align-items: center !important;
  display: grid !important;
  gap: clamp(20px, 4vw, 44px) !important;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr) !important;
  overflow: visible !important;
}

.source-feature.fulltext-visual figure,
.source-feature.visual-wide figure,
.source-feature figure,
.wp-block-image.fulltext-visual {
  align-self: center !important;
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 30px rgba(8,41,92,.1) !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
}

.source-feature.fulltext-visual img,
.source-feature.visual-wide img,
.source-feature img,
.wp-block-image.fulltext-visual img {
  aspect-ratio: auto !important;
  display: block !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 100% !important;
}

.source-feature.fulltext-visual > .wp-block-group,
.source-feature.visual-wide > .wp-block-group,
.source-feature > .wp-block-group,
.source-feature > div {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 30px rgba(8,41,92,.08) !important;
  color: #193a66 !important;
  padding: clamp(18px, 3vw, 30px) !important;
  position: relative !important;
  z-index: 2 !important;
}

.source-feature.fulltext-visual > .wp-block-group *,
.source-feature.visual-wide > .wp-block-group *,
.source-feature > .wp-block-group *,
.source-feature > div * {
  color: #193a66 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.source-feature h2,
.source-feature h3,
.source-feature .wp-block-heading {
  color: #08295c !important;
}

.source-feature .visual-kicker {
  color: #8a6500 !important;
}

.official-gallery-grid,
.editable-gallery-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

.official-gallery-grid figure,
.editable-gallery-grid figure,
.official-gallery-grid .wp-block-image,
.editable-gallery-grid .wp-block-image {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
}

.official-gallery-grid img,
.editable-gallery-grid img,
.album-photo-grid img,
.archive-gallery-grid img {
  aspect-ratio: 4 / 3 !important;
  background: #eef6ff !important;
  display: block !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 100% !important;
}

.official-gallery-grid figcaption,
.editable-gallery-grid figcaption,
.album-photo-grid figcaption,
.archive-gallery-grid figcaption {
  background: #fff !important;
  color: #08295c !important;
  opacity: 1 !important;
  padding: 10px 8px 4px !important;
  position: static !important;
  text-shadow: none !important;
}

.source-person-placeholder {
  background: #eef6ff !important;
  object-fit: contain !important;
  padding: 18px !important;
}

.source-person-card summary {
  background: #fff !important;
  color: #08295c !important;
}

.source-person-card summary *,
.source-person-name,
.source-person-open {
  color: #08295c !important;
  opacity: 1 !important;
}

@media (max-width: 780px) {
  .source-feature.fulltext-visual,
  .source-feature.visual-wide,
  .source-feature {
    grid-template-columns: 1fr !important;
  }

  .source-feature.fulltext-visual img,
  .source-feature.visual-wide img,
  .source-feature img {
    max-height: none !important;
  }
}

/* v48 - Obraz i Pierwsze Soboty: opis u gory, pelny obraz pod spodem */
.source-feature.fulltext-visual.visual-obraz,
.source-feature.fulltext-visual.visual-sobota {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 44px rgba(8,41,92,.1) !important;
  display: grid !important;
  gap: clamp(18px, 3vw, 28px) !important;
  grid-template-columns: 1fr !important;
  margin: clamp(24px, 4vw, 44px) auto !important;
  max-width: 980px !important;
  overflow: visible !important;
  padding: clamp(18px, 3vw, 34px) !important;
}

.source-feature.fulltext-visual.visual-obraz > .wp-block-group,
.source-feature.fulltext-visual.visual-obraz > div,
.source-feature.fulltext-visual.visual-sobota > .wp-block-group,
.source-feature.fulltext-visual.visual-sobota > div {
  align-self: stretch !important;
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-left: 5px solid #d5a51c !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  order: 1 !important;
  padding: clamp(18px, 3vw, 28px) !important;
  text-align: center !important;
}

.source-feature.fulltext-visual.visual-obraz figure,
.source-feature.fulltext-visual.visual-sobota figure {
  background: #f9fbff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  justify-self: center !important;
  margin: 0 auto !important;
  max-width: min(100%, 520px) !important;
  order: 2 !important;
  padding: clamp(10px, 2vw, 18px) !important;
  width: 100% !important;
}

.source-feature.fulltext-visual.visual-sobota figure {
  max-width: min(100%, 420px) !important;
}

.source-feature.fulltext-visual.visual-obraz img,
.source-feature.fulltext-visual.visual-sobota img {
  aspect-ratio: auto !important;
  background: #f9fbff !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 100% !important;
}

.source-feature.fulltext-visual.visual-obraz figcaption,
.source-feature.fulltext-visual.visual-sobota figcaption {
  background: transparent !important;
  color: #08295c !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  padding: 12px 0 0 !important;
  position: static !important;
  text-align: center !important;
  text-shadow: none !important;
}

.source-feature.fulltext-visual.visual-obraz h3,
.source-feature.fulltext-visual.visual-sobota h3 {
  margin-inline: auto !important;
  max-width: 760px !important;
}

.source-feature.fulltext-visual.visual-obraz p,
.source-feature.fulltext-visual.visual-sobota p {
  margin-inline: auto !important;
  max-width: 760px !important;
}

.dostep-grid,
.official-card-grid,
.editable-card-grid,
.youtube-video-grid,
.jp2-material-grid,
.source-person-grid,
.intentions-grid {
  align-items: stretch !important;
}

.dostep-card,
.editable-card,
.youtube-card,
.jp2-material-grid article,
.source-person-card,
.intentions-grid > div {
  height: 100% !important;
}

.dostep-card,
.editable-card,
.youtube-card,
.jp2-material-grid article {
  display: flex !important;
  flex-direction: column !important;
}

.dostep-card > :last-child,
.editable-card > :last-child,
.youtube-card > :last-child,
.jp2-material-grid article > :last-child {
  margin-top: auto !important;
}

/* v49 - contrast and full-image guard */
main#main-content :where(
  .btn-primary,
  .btn-gold,
  .map-open-link,
  .legacy-link-button,
  .contact-actions .btn-primary,
  .contact-actions .btn-gold,
  .wp-block-button.btn-primary .wp-block-button__link,
  .wp-block-button.btn-gold .wp-block-button__link
) {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content :where(
  .btn-primary,
  .btn-gold,
  .map-open-link,
  .legacy-link-button,
  .contact-actions .btn-primary,
  .contact-actions .btn-gold,
  .wp-block-button.btn-primary .wp-block-button__link,
  .wp-block-button.btn-gold .wp-block-button__link
) :where(i, span, strong, small) {
  color: #fff !important;
  opacity: 1 !important;
}

main#main-content :where(.btn-primary, .btn-gold, .map-open-link, .legacy-link-button):hover,
main#main-content .wp-block-button.btn-primary .wp-block-button__link:hover,
main#main-content .wp-block-button.btn-gold .wp-block-button__link:hover {
  background: #08295c !important;
  color: #fff !important;
}

main#main-content :where(.btn-outline, .contact-actions .btn-outline, .wp-block-button.btn-outline .wp-block-button__link) {
  background: #fff !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
  opacity: 1 !important;
}

main#main-content :where(.btn-outline, .contact-actions .btn-outline, .wp-block-button.btn-outline .wp-block-button__link) :where(i, span, strong, small) {
  color: #0d2b5e !important;
  opacity: 1 !important;
}

main#main-content .auto-publication-archive :where(.auto-archive-list, ul) {
  display: grid !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

main#main-content .auto-publication-archive :where(.auto-archive-list a, li a) {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

main#main-content .auto-publication-archive :where(.auto-archive-list a, li a) :where(span, strong, small) {
  color: #08295c !important;
  opacity: 1 !important;
}

main#main-content .auto-publication-archive :where(.auto-archive-list a, li a):hover {
  background: #dbeafa !important;
  border-color: #7ca8d8 !important;
  color: #071d3d !important;
}

main#main-content .timeline .tl-year,
main#main-content .timeline :where(.tl-year:not(.gold)) {
  background: #eef6ff !important;
  border: 1px solid #7ca8d8 !important;
  color: #08295c !important;
  opacity: 1 !important;
}

main#main-content .timeline .tl-year.gold {
  background: #d5a51c !important;
  border-color: #b98700 !important;
  color: #071d3d !important;
}

main#main-content :where(.timeline .tl-title, .timeline .tl-text, .timeline p, .timeline span, .timeline strong) {
  opacity: 1 !important;
}

main#main-content :where(
  .source-feature.fulltext-visual,
  .source-feature.fulltext-visual.visual-obraz,
  .source-feature.fulltext-visual.visual-sobota,
  .source-feature.visual-wide,
  .source-feature
) {
  overflow: visible !important;
}

main#main-content :where(
  .source-feature.fulltext-visual figure,
  .source-feature.fulltext-visual .wp-block-image,
  .source-feature.visual-wide figure,
  .source-feature figure,
  .official-gallery-grid figure,
  .archive-gallery-grid figure,
  .album-photo-grid figure,
  .wp-block-gallery figure
) {
  align-items: center !important;
  background: #f7fbff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  max-height: none !important;
  overflow: visible !important;
}

main#main-content :where(
  .source-feature.fulltext-visual img,
  .source-feature.fulltext-visual.visual-obraz img,
  .source-feature.fulltext-visual.visual-sobota img,
  .source-feature.visual-wide img,
  .source-feature img,
  .official-gallery-grid img,
  .archive-gallery-grid img,
  .album-photo-grid img,
  .wp-block-gallery img
) {
  aspect-ratio: auto !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  width: auto !important;
}

main#main-content :where(.source-feature.fulltext-visual.visual-obraz img, .source-feature.fulltext-visual.visual-sobota img) {
  width: 100% !important;
}

/* v51 - masses in liturgical bar, sacrament order, intention rules */
.liturg-masses {
  align-self: stretch !important;
  background: rgba(255,255,255,.13) !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  display: grid !important;
  gap: 2px !important;
  justify-content: center !important;
  min-width: 220px !important;
  padding: 10px 16px !important;
  text-align: left !important;
}

.liturg-masses strong,
.liturg-masses span {
  color: inherit !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.liturg-masses strong {
  color: #ffd96a !important;
  font-size: .78rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.liturg-masses span {
  font-size: .84rem !important;
  font-weight: 800 !important;
}

.liturg-bar.bialy .liturg-masses {
  background: rgba(180,140,30,.14) !important;
  border-left-color: rgba(180,140,30,.3) !important;
  color: #3c2000 !important;
}

.liturg-bar.bialy .liturg-masses strong {
  color: #6a3c00 !important;
}

.sacrament-card-grid .sacrament-order-chrzest { order: 1 !important; }
.sacrament-card-grid .sacrament-order-spowiedz { order: 2 !important; }
.sacrament-card-grid .sacrament-order-komunia { order: 3 !important; }
.sacrament-card-grid .sacrament-order-bierzmowanie { order: 4 !important; }
.sacrament-card-grid .sacrament-order-malzenstwo { order: 5 !important; }
.sacrament-card-grid .sacrament-order-namaszczenie { order: 6 !important; }
.sacrament-card-grid .sacrament-order-pogrzeb { order: 7 !important; }

.intention-rules-note {
  background: #fff8df !important;
  border: 1px solid #d5a51c !important;
  border-left: 6px solid #d5a51c !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 32px rgba(8,41,92,.08) !important;
  color: #08295c !important;
  margin: 24px 0 !important;
  padding: clamp(18px, 3vw, 28px) !important;
}

.intention-rules-note strong,
.intention-rules-note p {
  color: #08295c !important;
}

.intention-rules-note strong {
  display: block !important;
  font-family: var(--serif) !important;
  font-size: 1.25rem !important;
  margin-bottom: 8px !important;
}

@media (max-width: 980px) {
  .liturg-masses {
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.22) !important;
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    text-align: center !important;
  }
}

/* v52 - naglowek podstron i ostateczna ochrona kontrastu */
main#main-content .subpage-hero {
  background: #0d2b5e !important;
  color: #fff !important;
  margin: 0 !important;
  padding: clamp(56px, 8vw, 96px) 0 clamp(46px, 6vw, 72px) !important;
  text-align: center !important;
}

main#main-content .subpage-hero-inner {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin: 0 auto !important;
  max-width: 900px !important;
}

main#main-content .subpage-eyebrow {
  color: #d5a51c !important;
  font-size: clamp(.72rem, 1.5vw, .86rem) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  text-transform: uppercase !important;
}

main#main-content .subpage-title,
main#main-content .subpage-title :where(a, span) {
  color: #fff !important;
  font-family: var(--serif) !important;
  font-size: clamp(2.2rem, 6vw, 4.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  text-shadow: none !important;
}

main#main-content .subpage-subtitle,
main#main-content .subpage-subtitle :where(a, span, strong) {
  color: #eef6ff !important;
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 760px !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content .subpage-gold-line {
  background: #d5a51c !important;
  border: 0 !important;
  height: 4px !important;
  margin-top: 12px !important;
  min-height: 0 !important;
  width: 64px !important;
}

main#main-content .subpage-intro-band {
  background: #eef6ff !important;
  border-bottom: 1px solid #b8d0ea !important;
  margin: 0 !important;
  padding: clamp(36px, 6vw, 64px) 0 !important;
  text-align: center !important;
}

main#main-content .subpage-intro-inner {
  display: grid !important;
  gap: 20px !important;
  justify-items: center !important;
  max-width: 960px !important;
}

main#main-content .subpage-quote {
  color: #08295c !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.15rem, 2.3vw, 1.45rem) !important;
  font-style: italic !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 780px !important;
}

main#main-content .subpage-intro-text {
  color: #08295c !important;
  font-size: clamp(1rem, 2vw, 1.12rem) !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  max-width: 850px !important;
}

main#main-content :where(
  a.btn-primary,
  a.btn-gold,
  a.legacy-link-button,
  a.map-open-link,
  .btn-primary,
  .btn-gold,
  .legacy-link-button,
  .map-open-link,
  .contact-actions a:not(.btn-outline),
  .wp-block-button:not(.btn-outline) .wp-block-button__link,
  .wp-element-button:not(.btn-outline),
  button,
  input[type="submit"]
) {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content :where(
  a.btn-primary,
  a.btn-gold,
  a.legacy-link-button,
  a.map-open-link,
  .btn-primary,
  .btn-gold,
  .legacy-link-button,
  .map-open-link,
  .contact-actions a:not(.btn-outline),
  .wp-block-button:not(.btn-outline) .wp-block-button__link,
  .wp-element-button:not(.btn-outline),
  button,
  input[type="submit"]
) :where(i, svg, span, strong, small, em) {
  color: #fff !important;
  fill: currentColor !important;
  opacity: 1 !important;
  stroke: currentColor !important;
  text-shadow: none !important;
}

main#main-content :where(
  a.btn-primary,
  a.btn-gold,
  a.legacy-link-button,
  a.map-open-link,
  .btn-primary,
  .btn-gold,
  .legacy-link-button,
  .map-open-link
):where(:hover, :focus, :visited) {
  color: #fff !important;
  opacity: 1 !important;
}

main#main-content :where(.btn-outline, .contact-actions .btn-outline, .wp-block-button.btn-outline .wp-block-button__link) {
  background: #fff !important;
  border: 2px solid #0d2b5e !important;
  color: #0d2b5e !important;
  opacity: 1 !important;
}

main#main-content :where(.btn-outline, .contact-actions .btn-outline, .wp-block-button.btn-outline .wp-block-button__link) :where(i, svg, span, strong, small, em) {
  color: #0d2b5e !important;
  fill: currentColor !important;
  opacity: 1 !important;
  stroke: currentColor !important;
}

main#main-content :where(.auto-publication-archive, .mass-intentions-archive, .intention-archive, .publication-archive) :where(ul, ol, .auto-archive-list, .mass-archive-year) {
  list-style-position: outside !important;
  margin-left: 1.25rem !important;
}

main#main-content :where(.auto-publication-archive, .mass-intentions-archive, .intention-archive, .publication-archive) :where(.auto-archive-list a, .mass-archive-year a, li > a) {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0 0 8px !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  width: auto !important;
}

main#main-content :where(.auto-publication-archive, .mass-intentions-archive, .intention-archive, .publication-archive) :where(.auto-archive-list a, .mass-archive-year a, li > a, li > a:visited) :where(span, strong, small, em) {
  color: #08295c !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content :where(.auto-publication-archive, .mass-intentions-archive, .intention-archive, .publication-archive) :where(.auto-archive-list a, .mass-archive-year a, li > a):where(:hover, :focus, :visited) {
  background: #dbeafa !important;
  border-color: #7ca8d8 !important;
  color: #071d3d !important;
}

main#main-content :where(.auto-publication-archive, .mass-intentions-archive, .intention-archive, .publication-archive) :where(.auto-archive-list a, .mass-archive-year a, li > a):where(:hover, :focus, :visited) :where(span, strong, small, em) {
  color: #071d3d !important;
}

@media (max-width: 700px) {
  main#main-content .subpage-hero {
    padding: 44px 0 38px !important;
  }

  main#main-content .subpage-intro-band {
    padding: 30px 0 !important;
  }
}

main#main-content :where(
  .jp2-material-grid article > a,
  .fulltext-download-grid article > a,
  .source-link-list a,
  .song-detail a,
  .homily-audio,
  .youtube-card > a,
  .dostep-card > a,
  .editable-card > a,
  .support-account a,
  .wp-block-file__button
) {
  background: #0d2b5e !important;
  border: 1px solid #0d2b5e !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  justify-content: center !important;
  line-height: 1.25 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 11px 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

main#main-content :where(
  .jp2-material-grid article > a,
  .fulltext-download-grid article > a,
  .source-link-list a,
  .song-detail a,
  .homily-audio,
  .youtube-card > a,
  .dostep-card > a,
  .editable-card > a,
  .support-account a,
  .wp-block-file__button
) :where(i, svg, span, strong, small, em) {
  color: #fff !important;
  fill: currentColor !important;
  opacity: 1 !important;
  stroke: currentColor !important;
  text-shadow: none !important;
}

main#main-content :where(
  .jp2-material-grid article > a,
  .fulltext-download-grid article > a,
  .source-link-list a,
  .song-detail a,
  .homily-audio,
  .youtube-card > a,
  .dostep-card > a,
  .editable-card > a,
  .support-account a,
  .wp-block-file__button
):where(:hover, :focus, :visited) {
  background: #08295c !important;
  color: #fff !important;
}

/* v54 - reczna poprawka dwoch miejsc wskazanych na zrzutach */
main#main-content .fulltext-ogloszenia-duszpasterskie ul {
  display: grid !important;
  gap: 10px !important;
  list-style-position: outside !important;
  margin: 12px 0 0 1.25rem !important;
  padding: 0 !important;
}

main#main-content .fulltext-ogloszenia-duszpasterskie ul li {
  color: #08295c !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding-left: 2px !important;
}

main#main-content .fulltext-ogloszenia-duszpasterskie ul li::marker {
  color: #08295c !important;
}

main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a,
main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a:visited,
main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a:hover,
main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a:focus {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #9fc3ea !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  line-height: 1.3 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 10px 16px !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
  width: auto !important;
}

main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a:hover,
main#main-content .fulltext-ogloszenia-duszpasterskie ul li > a:focus {
  background: #dbeafa !important;
  border-color: #6f9fd6 !important;
  color: #071d3d !important;
}

main#main-content .interactive-map-info .map-open-link,
main#main-content .interactive-map-info .map-open-link:visited,
main#main-content .interactive-map-info .map-open-link:hover,
main#main-content .interactive-map-info .map-open-link:focus,
main#main-content .interactive-map-info .manual-map-button,
main#main-content .interactive-map-info .manual-map-button:visited,
main#main-content .interactive-map-info .manual-map-button:hover,
main#main-content .interactive-map-info .manual-map-button:focus {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #86addd !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  justify-content: center !important;
  line-height: 1.25 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 11px 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

main#main-content .interactive-map-info .map-open-link :where(i, svg, span, strong, small, em),
main#main-content .interactive-map-info .manual-map-button :where(i, svg, span, strong, small, em) {
  color: #08295c !important;
  fill: currentColor !important;
  opacity: 1 !important;
  stroke: currentColor !important;
  text-shadow: none !important;
}

/* v61 - naglowki podstron jako edytowalne bloki i rowne karty */
main#main-content > .dostep-section {
  padding-top: 0 !important;
}

main#main-content .page-content {
  max-width: none !important;
}

main#main-content .page-content > .subpage-hero,
main#main-content .page-content > .subpage-intro-band {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

main#main-content .subpage-cite {
  color: #0d2b5e !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  margin: -8px 0 4px !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content :where(
  .dostep-grid,
  .official-card-grid,
  .editable-card-grid,
  .group-edit-grid,
  .wspolnoty-grid,
  .duszp-grid,
  .source-person-grid,
  .gallery-album-grid,
  .official-gallery-grid,
  .album-photo-grid,
  .intentions-grid,
  .today-grid
) {
  align-items: stretch !important;
}

main#main-content :where(
  .dostep-card,
  .editable-card,
  .group-edit-card,
  .wspolnota-card,
  .duszp-card,
  .source-person-card,
  .gallery-album-card,
  .official-gallery-grid figure,
  .album-photo-grid figure,
  .intentions-grid > div,
  .today-card
) {
  height: 100% !important;
  transform: none !important;
}

main#main-content :where(
  .dostep-card:hover,
  .editable-card:hover,
  .group-edit-card:hover,
  .wspolnota-card:hover,
  .duszp-card:hover,
  .source-person-card:hover,
  .gallery-album-card:hover,
  .today-card:hover
) {
  box-shadow: var(--shadow-sm) !important;
  transform: none !important;
}

main#main-content :where(.official-gallery-grid img, .album-photo-grid img, .archive-gallery-grid img, .wp-block-gallery img) {
  aspect-ratio: 4 / 3 !important;
  background: #eef6ff !important;
  object-fit: contain !important;
}

main#main-content :where(.source-feature figure img, .visual-obraz figure img, .visual-sobota figure img) {
  background: #eef6ff !important;
  max-height: 620px !important;
  object-fit: contain !important;
  width: 100% !important;
}

main#main-content :where(.auto-publication-panel, .auto-publication-archive) {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-sm) !important;
  color: #08295c !important;
  margin: 24px auto !important;
  max-width: 1120px !important;
  padding: clamp(22px, 4vw, 34px) !important;
}

main#main-content .auto-publication-panel :where(h2, h3, strong),
main#main-content .auto-publication-archive :where(h2, h3, strong) {
  color: #08295c !important;
}

main#main-content .auto-publication-panel :where(p, li, span),
main#main-content .auto-publication-archive :where(p, li, span) {
  color: #244a7f !important;
  opacity: 1 !important;
}

main#main-content .sak-page {
  display: flex !important;
  flex-direction: column !important;
}

main#main-content .sak-page #chrzest { order: 1 !important; }
main#main-content .sak-page #spowiedz { order: 2 !important; }
main#main-content .sak-page #pierwsza-komunia { order: 3 !important; }
main#main-content .sak-page #bierzmowanie { order: 4 !important; }
main#main-content .sak-page #malzenstwo { order: 5 !important; }
main#main-content .sak-page #namaszczenie { order: 6 !important; }
main#main-content .sak-page #pogrzeb { order: 7 !important; }

/* v62 - archiwum starej strony z podzialem na lata */
main#main-content .legacy-publication-archive {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-sm) !important;
  color: #08295c !important;
  margin: 30px auto !important;
  max-width: 1120px !important;
  padding: clamp(22px, 4vw, 36px) !important;
}

main#main-content .legacy-archive-header {
  border-bottom: 1px solid #d7e5f5 !important;
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
}

main#main-content .legacy-archive-kicker {
  color: #b88700 !important;
  display: block !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

main#main-content .legacy-publication-archive h2,
main#main-content .legacy-publication-archive strong,
main#main-content .legacy-archive-year summary span {
  color: #08295c !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content .legacy-publication-archive p,
main#main-content .legacy-publication-archive small,
main#main-content .legacy-publication-archive a,
main#main-content .legacy-publication-archive span {
  color: #244a7f !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content .legacy-archive-count {
  background: #e9f3ff !important;
  border: 1px solid #a8c9ec !important;
  border-radius: 999px !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  margin-top: 10px !important;
  padding: 6px 12px !important;
}

main#main-content .legacy-archive-year {
  background: #f7fbff !important;
  border: 1px solid #c4d9ef !important;
  border-radius: 8px !important;
  margin: 12px 0 !important;
  overflow: hidden !important;
}

main#main-content .legacy-archive-year summary {
  align-items: center !important;
  background: #edf6ff !important;
  color: #08295c !important;
  cursor: pointer !important;
  display: flex !important;
  font-weight: 850 !important;
  justify-content: space-between !important;
  list-style: none !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
}

main#main-content .legacy-archive-year summary::-webkit-details-marker {
  display: none !important;
}

main#main-content .legacy-archive-list {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 14px !important;
}

main#main-content .legacy-archive-list li {
  margin: 0 !important;
  padding: 0 !important;
}

main#main-content .legacy-archive-list a {
  background: #fff !important;
  border: 1px solid #d3e2f2 !important;
  border-radius: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-height: 64px !important;
  padding: 11px 12px !important;
  text-decoration: none !important;
}

main#main-content .legacy-archive-list a:hover {
  border-color: #d0a000 !important;
  box-shadow: var(--shadow-sm) !important;
}

/* ═══════════════════════════════════════════════════════
   SANKTUARIUM v63 – NEW ELEMENTS
   Liturgical banner enhanced · Odpusty · Nowenna · Announcements doc
═══════════════════════════════════════════════════════ */

/* ── Liturgical Banner ── */
.liturg-bar {
  position: relative;
  background: #f8f6f0;
  border-top: 4px solid var(--sb-gold, #c9970a);
  border-bottom: 1px solid #e8e4d8;
  transition: background .4s, border-color .4s;
}
.liturg-bar .liturg-inner {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: .75rem 0;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .liturg-bar .liturg-inner,
  .liturg-bar [style*="grid-template-columns"] {
    grid-template-columns: 1fr 1fr !important;
    gap: .7rem !important;
  }
}
@media (max-width: 480px) {
  .liturg-bar [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Quick icons grid ── */
.quick-icons-grid {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem 0;
}
.qi-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  background: #fff;
  border: 1px solid #e8e4d8;
  border-radius: 12px;
  padding: 1rem 1.2rem;
  text-decoration: none;
  color: #1a3a6b;
  font-size: .8rem;
  font-weight: 600;
  min-width: 90px;
  text-align: center;
  transition: background .2s, box-shadow .2s, transform .2s;
}
.qi-item i { font-size: 1.3rem; color: #c9970a; }
.qi-item:hover { background: #fffbf0; box-shadow: 0 4px 16px rgba(201,151,10,.15); transform: translateY(-2px); }

/* ── Announcements doc download ── */
.announcement-doc-link { margin: 1.5rem 0; }
.btn-doc-download {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: #c9970a;
  color: #fff;
  padding: .65rem 1.4rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: .9rem;
  transition: background .2s;
}
.btn-doc-download:hover { background: #a8820a; color: #fff; }

/* ── Odpusty & Nowenna feature block ── */
.odpust-card, .nowenna-block { margin-bottom: 2rem; }

/* ── Section headers ── */
.section-header { margin-bottom: 1.5rem; }
.section-kicker {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #c9970a;
  margin: 0 0 .5rem;
  font-weight: 700;
}

/* ── Msze section bg ── */
.msze-section { padding: 3rem 0; }
.ogloszenia-section { padding: 3rem 0; }

/* ══════════════════════════════════════════════════════
   SANKTUARIUM v63.1 — BLOCK-NATIVE STYLES
   Marian Blue dominant · native wp:cover, wp:columns
══════════════════════════════════════════════════════ */

/* ── Sticky liturgical bar ── */
.liturg-sticky {
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: 0 2px 12px rgba(15,36,85,.15);
}

/* ── Hero cover: background image via CSS ── */
.hero-cover,
.hero-cover .wp-block-cover__inner-container {
  text-align: center;
}
.hero-cover {
  background-image: url('assets/images/panorama.jpg') !important;
  background-size: cover !important;
  background-position: center 50% !important;
}
.hero-title { font-size: clamp(2rem, 4.5vw, 3.2rem) !important; }
.hero-sub   { max-width: 620px; margin: 0 auto; opacity: .9; }

/* ── All page hero covers ── */
.page-hero-cover { text-align: center; }
.msze-hero {
  background-image: url('assets/images/official/oltarz.JPG') !important;
  background-size: cover !important; background-position: center !important;
}

/* ── Sections padding ── */
.section-msze,
.section-ogloszenia,
.section-odpusty,
.section-hero { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }

/* ── Section kicker ── */
.section-kicker {
  font-size: .68rem !important; letter-spacing: .18em; text-transform: uppercase;
  font-weight: 700; margin-bottom: .4rem !important;
}
.section-head { margin-bottom: 2rem; }
.section-head h2 { margin-top: 0; }

/* ── Quick icons ── */
.quick-icons-section { border-bottom: 1px solid var(--wp--preset--color--cream-dark); }
.quick-icons-row { flex-wrap: wrap !important; }
.qi-col { border-right: 1px solid var(--wp--preset--color--cream-dark); padding: 0 !important; }
.qi-col:last-child { border-right: none; }
.qi-item { padding: 1.4rem .8rem; cursor: pointer; transition: background .2s; text-align: center; }
.qi-item:hover { background: var(--wp--preset--color--gold-bg); }
.qi-icon { font-size: 1.4rem; color: var(--wp--preset--color--gold); margin-bottom: .5rem; }
.qi-label { font-size: .78rem !important; font-weight: 600; color: var(--wp--preset--color--navy-mid); margin: 0 !important; }
.qi-label a { color: inherit; text-decoration: none; }
@media (max-width: 600px) { .qi-col { flex-basis: 33.333% !important; flex-grow: 0; } }

/* ── Msze cards ── */
.msze-cols { gap: 1.5rem !important; align-items: stretch; }
.msze-card {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(15,36,85,.08);
  padding: 1.5rem !important;
  border-top: 4px solid var(--wp--preset--color--gold) !important;
  height: 100%;
}
.msze-card.msze-weekday { border-top-color: var(--wp--preset--color--navy-mid) !important; }
.msze-card.msze-special  { border-top-color: var(--wp--preset--color--blue-accent) !important; }
.msze-card-title { font-size: 1.05rem !important; margin-bottom: 1rem !important; }
.msze-times-list { padding-left: 0 !important; list-style: none !important; }
.msze-times-list li {
  padding: .45rem 0; border-bottom: 1px solid rgba(26,58,107,.07);
  font-size: .92rem; display: flex; align-items: center; gap: .5rem;
}
.msze-times-list li::before { content: '·'; color: var(--wp--preset--color--gold); font-size: 1.2rem; line-height: 1; flex-shrink: 0; }
.msze-times-list li.time-gold::before { color: var(--wp--preset--color--gold); font-weight: 900; }
.msze-times-list li:last-child { border-bottom: none; }

/* ── Announcements widget ── */
.ogloszenia-layout { align-items: flex-start; }
.ogloszenia-sidebar .sidebar-widget { border-radius: 12px !important; margin-bottom: 1.2rem; }
.ogloszenia-sidebar .sidebar-nowenna { padding: 1.4rem !important; }
.ogloszenia-loading { text-align: center; padding: 2rem; color: #888; }
@media (max-width: 768px) {
  .ogloszenia-layout { flex-direction: column !important; }
  .ogloszenia-sidebar, .ogloszenia-main { flex-basis: 100% !important; }
}

/* ── Nowenna banner ── */
.nowenna-banner-cover .wp-block-cover__inner-container { max-width: 800px; margin: 0 auto; }
.nowenna-banner-inner { justify-content: center; }

/* ── Odpusty preview cards ── */
.odpusty-preview-cols { gap: 1.5rem !important; }
.odpust-preview-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.8rem 1.5rem;
  box-shadow: 0 2px 12px rgba(15,36,85,.08);
  transition: box-shadow .25s, transform .25s;
  text-align: center;
  border-top: 4px solid transparent;
}
.odpust-preview-card:hover { box-shadow: 0 8px 28px rgba(15,36,85,.14); transform: translateY(-3px); }
.odpust-matki     { border-top-color: var(--wp--preset--color--gold); }
.odpust-wniebo    { border-top-color: #2a6496; }
.odpust-narodzenie{ border-top-color: #8b3a8b; }
.odpust-icon { font-size: 1.6rem; color: var(--wp--preset--color--gold); margin-bottom: .8rem; }
.odpust-preview-title { font-size: 1.1rem !important; margin: 0 0 .5rem !important; }
.odpust-preview-sub { font-size: .85rem !important; color: #666; margin-bottom: 1rem !important; }
.odpust-more-link { color: var(--wp--preset--color--gold); font-weight: 600; font-size: .85rem; text-decoration: none; }
.odpust-more-link:hover { text-decoration: underline; }

/* ── Odpust sections full page ── */
.odpust-section { margin-bottom: 2.5rem; }
.odpust-top-row { align-items: flex-start !important; }
.odpust-badge-col { flex-grow: 0 !important; }
.odpust-cytat { margin-top: 1.5rem !important; }

/* ── Warunki odpustu grid ── */
.warunki-cols { gap: 1rem !important; }
.warunek-col .wp-block-group { text-align: center; }

/* ── Nowenna schedule ── */
.nowenna-times-cols { gap: 1.5rem !important; align-items: stretch; }
.time-card { height: 100%; }

/* ── Msze strona pełna ── */
.msze-page-cols { gap: 2rem !important; }
.nabozenstwa-cols { gap: 1.5rem !important; }
.msze-lista { list-style: none !important; padding-left: 0 !important; }
.msze-lista li { padding: .5rem 0; border-bottom: 1px solid rgba(26,58,107,.08); font-size: .95rem; }
.msze-lista li::before { content: '·'; color: var(--wp--preset--color--gold); margin-right: .6rem; font-size: 1.2rem; }
.msze-lista li:last-child { border-bottom: none; }
.msze-lista li.suma::before { content: '★'; font-size: .9rem; }

/* ── Kontakt page ── */
.kontakt-layout { gap: 2rem !important; align-items: flex-start !important; }
.kontakt-row { gap: 1rem !important; margin-bottom: .5rem; }
.kancelaria-table td, .kancelaria-table th { font-size: .9rem; }
.mapa-wrapper iframe { display: block; }
.kontakt-page-blocks {
  margin-top: clamp(20px, 4vw, 42px) !important;
}
.kontakt-photo-block {
  margin: 0 0 clamp(24px, 4vw, 44px) !important;
}
.kontakt-photo {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(8,41,92,.09) !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.kontakt-photo img {
  aspect-ratio: 16 / 6 !important;
  display: block !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: cover !important;
  object-position: center 46% !important;
  width: 100% !important;
}
.kontakt-photo figcaption {
  background: #fff !important;
  color: #08295c !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  padding: 12px 16px !important;
}
.kontakt-info-grid {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 16px 0 18px !important;
}
.kontakt-info-item,
.kontakt-bank-card,
.kontakt-office-card,
.kontakt-map-panel,
.kontakt-transport-card {
  background: #fff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(8,41,92,.07) !important;
  color: #071d3d !important;
}
.kontakt-info-item {
  min-height: 132px !important;
  padding: 18px 18px 16px !important;
}
.kontakt-info-item h3,
.kontakt-bank-card h3,
.kontakt-transport-card h3 {
  align-items: center !important;
  color: #08295c !important;
  display: flex !important;
  font-size: 1.05rem !important;
  gap: 9px !important;
  margin: 0 0 10px !important;
}
.kontakt-info-item i,
.kontakt-bank-card i,
.kontakt-transport-card i {
  color: #b98707 !important;
}
.kontakt-info-item p,
.kontakt-bank-card p,
.kontakt-office-card p,
.kontakt-office-card li,
.kontakt-transport-card li {
  color: #193a66 !important;
}
.kontakt-bank-card {
  border-left: 5px solid #d5a51c !important;
  margin: 18px 0 !important;
  padding: clamp(18px, 3vw, 26px) !important;
}
.kontakt-bank-owner {
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}
.kontakt-bank-number {
  background: #f4f8ff !important;
  border: 1px solid #c5d8f0 !important;
  border-radius: 8px !important;
  color: #08295c !important;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important;
  font-size: clamp(1rem, 2.2vw, 1.3rem) !important;
  letter-spacing: .03em !important;
  overflow-wrap: anywhere !important;
  padding: 13px 15px !important;
}
.kontakt-bank-note {
  font-size: .92rem !important;
  margin-bottom: 0 !important;
}
.kontakt-office-card,
.kontakt-transport-card {
  margin: 18px 0 !important;
  padding: clamp(18px, 3vw, 24px) !important;
}
.kontakt-map-panel {
  margin: 14px 0 18px !important;
  overflow: hidden !important;
}
.kontakt-map-panel iframe {
  aspect-ratio: 4 / 3 !important;
  border: 0 !important;
  display: block !important;
  min-height: 340px !important;
  width: 100% !important;
}
.kontakt-buttons {
  margin-top: 18px !important;
}
@media (max-width: 768px) {
  .kontakt-layout { flex-direction: column !important; }
  .kontakt-layout .wp-block-column { flex-basis: 100% !important; }
  .kontakt-info-grid { grid-template-columns: 1fr !important; }
  .kontakt-photo img { aspect-ratio: 4 / 3 !important; max-height: none !important; }
}

/* ── Duszpasterze ── */
.duszp-grid { gap: 1.2rem !important; flex-wrap: wrap !important; }
.duszp-card-col { flex-basis: calc(25% - 1rem) !important; min-width: 180px; }
.duszp-card { text-align: center; height: 100%; transition: box-shadow .2s; }
.duszp-card:hover { box-shadow: 0 6px 24px rgba(15,36,85,.12) !important; }
.proboszcz-featured .wp-block-columns { align-items: center; }
@media (max-width: 768px) { .duszp-card-col { flex-basis: calc(50% - 1rem) !important; } }
@media (max-width: 480px) { .duszp-card-col { flex-basis: 100% !important; } }

/* ── Footer ── */
.site-footer { padding: 3rem 0 0; }
.footer-cols { gap: 2.5rem !important; align-items: flex-start !important; }
.footer-col-title { margin-bottom: 0 !important; }
.footer-divider { margin: .6rem 0 1rem !important; height: 1px !important; border: none !important; }
.footer-links { padding-left: 0 !important; list-style: none !important; }
.footer-links li a { color: rgba(245,230,176,.75) !important; font-size: .87rem; transition: color .2s; }
.footer-links li a:hover { color: var(--wp--preset--color--gold) !important; }
.footer-links li { padding: .2rem 0; }
.footer-bottom-row { padding: 1.2rem 0; }
@media (max-width: 900px) {
  .footer-cols { flex-direction: column !important; }
  .footer-col { flex-basis: 100% !important; }
}

/* ── wp:quote Maryjny ── */
.wp-block-quote {
  border-left: 4px solid var(--wp--preset--color--gold) !important;
  background: var(--wp--preset--color--gold-bg);
  border-radius: 0 8px 8px 0;
  padding: 1.2rem 1.8rem !important;
  margin: 1.5rem 0 !important;
}
.wp-block-quote p { font-style: italic; line-height: 1.8; }
.wp-block-quote cite { color: var(--wp--preset--color--gold); font-size: .82rem; letter-spacing: .05em; font-style: normal; font-weight: 600; }

/* ── wp:separator ── */
.wp-block-separator { border-color: var(--wp--preset--color--gold) !important; opacity: .35; }
.wp-block-separator.is-style-wide { width: 100%; }

/* ── Responsive general ── */
@media (max-width: 640px) {
  .msze-cols { flex-direction: column !important; }
  .nabozenstwa-cols { flex-direction: column !important; }
  .odpusty-preview-cols { flex-direction: column !important; }
  .nowenna-times-cols { flex-direction: column !important; }
}

/* ══ GALERIA ══ */
.galeria-album { margin-bottom: 2rem; }
.galeria-grid .wp-block-image img {
  width: 100%; height: 160px; object-fit: cover;
  border-radius: 8px; transition: transform .2s, box-shadow .2s;
}
.galeria-grid .wp-block-image img:hover { transform: scale(1.03); box-shadow: 0 4px 20px rgba(15,36,85,.18); }
.wp-block-gallery { gap: 8px !important; }

/* ══ KAPŁANI / POWOŁANIA ══ */
.ksieza-grid { gap: 1rem !important; flex-wrap: wrap !important; }
.ksiadz-mini-col { flex-basis: calc(25% - 1rem) !important; min-width: 160px; }
.ksiadz-mini { text-align: center; }
.ksiadz-mini img { display: block; margin: 0 auto 8px; }
.rodacy-grid { gap: 1rem !important; flex-wrap: wrap !important; }
.rodak-mini-col { flex-basis: calc(25% - 1rem) !important; min-width: 160px; }
@media (max-width: 768px) {
  .ksiadz-mini-col, .rodak-mini-col { flex-basis: calc(50% - 1rem) !important; }
}

/* ══ ARCHIWUM ══ */
.archiwum-container { font-family: system-ui, sans-serif; }
.archiwum-year-group { margin-bottom: 1.5rem; }
.archiwum-year-header {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem; color: var(--wp--preset--color--navy);
  border-bottom: 2px solid var(--wp--preset--color--gold);
  padding-bottom: .4rem; margin-bottom: .8rem;
}
.archiwum-year-header i { color: var(--wp--preset--color--gold); margin-right: .5rem; font-size: .9rem; }
.archiwum-post-row {
  display: flex; align-items: center; gap: .8rem;
  padding: .45rem 0; border-bottom: 1px solid rgba(26,58,107,.07); font-size: .88rem;
}
.archiwum-post-row:last-child { border-bottom: none; }
.arch-date { color: #888; min-width: 110px; font-size: .8rem; }
.arch-title { color: var(--wp--preset--color--navy-mid); text-decoration: none; flex: 1; }
.arch-title:hover { color: var(--wp--preset--color--gold); text-decoration: underline; }
.arch-doc-btn { color: var(--wp--preset--color--gold); font-size: .85rem; flex-shrink: 0; }

/* ══ IMPROVEMENTS v64.1 ══ */

/* Lightbox — handled via JS inline above */

/* Font scaling — min 16px body, rem-based */
:root { font-size: 16px; }
body { font-size: 1rem; line-height: 1.75; }
.site p, .site li { font-size: 1rem; }

/* Larger tap targets for mobile */
@media (max-width: 768px) {
  .nav-list li a { padding: 12px 10px; font-size: .75rem; }
  .wp-block-button__link { padding: .9rem 1.6rem !important; min-height: 44px; }
  input, select, textarea { min-height: 44px; font-size: 1rem !important; }
  .qi-item { padding: 1.2rem .5rem; }
  .liturg-bar { flex-direction: column; gap: .6rem; padding: .8rem 1rem; }
  .liturg-bar .liturg-masses { border-left: none; border-top: 1px solid rgba(0,0,0,.08); padding-left: 0; padding-top: .5rem; width: 100%; }
  .liturg-bar [style*="grid-template-columns"] { display: flex !important; flex-wrap: wrap !important; }
}

/* Sakramenty sections */
.sakrament-section { scroll-margin-top: 80px; }
.sakr-detail-cols { gap: 1.5rem !important; align-items: flex-start !important; }
@media (max-width: 640px) {
  .sakr-detail-cols { flex-direction: column !important; }
}

/* Skip to content link — accessibility */
.skip-link {
  position: absolute; top: -100px; left: 0; background: #c9970a; color: #fff;
  padding: .5rem 1rem; z-index: 10000; font-family: system-ui,sans-serif; font-size: .9rem;
  transition: top .1s;
}
.skip-link:focus { top: 0; }

/* Focus styles — accessibility */
:focus-visible {
  outline: 3px solid #c9970a !important;
  outline-offset: 2px !important;
}

/* Back to top */
.back-to-top {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 500;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--wp--preset--color--gold); color: #fff; border: none;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; cursor: pointer; opacity: 0; pointer-events: none;
  transition: opacity .25s, background .15s;
  box-shadow: 0 2px 12px rgba(15,36,85,.2);
}
.back-to-top:hover { background: var(--wp--preset--color--navy); }

/* Gallery zoom cursor */
.wp-block-gallery figure img { cursor: zoom-in; }

/* PKS info box */
.pks-info h4 { font-size: 1rem; }

/* ═══ v64.5 — Ornat icon · Intencje tabela ═══ */
.liturg-szata svg { flex-shrink: 0; }
.liturg-szata span { font-family: var(--wp--preset--font-family--inter); }

/* Intencje table */

/* v65.1 - liturgical banner: real vestment color + Radom day parser contrast */
.liturg-bar[data-liturg-rendered="1"] {
  background: var(--liturg-bg) !important;
  border-top: 4px solid var(--liturg-accent) !important;
  border-bottom: 3px solid var(--liturg-border) !important;
  color: var(--liturg-text) !important;
}

.liturg-bar[data-liturg-rendered="1"],
.liturg-bar[data-liturg-rendered="1"] .liturg-ui-text,
.liturg-bar[data-liturg-rendered="1"] .liturg-ui-text *,
.liturg-bar[data-liturg-rendered="1"] .liturg-extra,
.liturg-bar[data-liturg-rendered="1"] .liturg-extra * {
  color: var(--liturg-text) !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata svg path:first-of-type {
  fill: var(--liturg-vestment) !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata svg line,
.liturg-bar[data-liturg-rendered="1"] .liturg-szata svg path:last-of-type {
  stroke: var(--liturg-vestment-line) !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-action {
  box-shadow: none !important;
  min-height: 30px;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-action-primary,
.liturg-bar[data-liturg-rendered="1"] .liturg-action-primary *,
.liturg-bar[data-liturg-rendered="1"] .czyt-link,
.liturg-bar[data-liturg-rendered="1"] .czyt-link * {
  background: var(--liturg-button-bg) !important;
  border-color: var(--liturg-button-bg) !important;
  color: var(--liturg-button-text) !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-action-secondary,
.liturg-bar[data-liturg-rendered="1"] .liturg-action-secondary * {
  background: transparent !important;
  border-color: var(--liturg-border) !important;
  color: var(--liturg-text) !important;
}

.liturg-bar[data-liturg-rendered="1"].bialy .liturg-masses {
  background: rgba(138, 90, 0, .1) !important;
}

.liturg-bar[data-liturg-rendered="1"].bialy .liturg-action-primary,
.liturg-bar[data-liturg-rendered="1"].bialy .liturg-action-primary *,
.liturg-bar[data-liturg-rendered="1"].bialy .czyt-link,
.liturg-bar[data-liturg-rendered="1"].bialy .czyt-link * {
  color: #fff !important;
}
.ogl-list table { width: 100%; border-collapse: collapse; font-family: var(--wp--preset--font-family--inter); }
.ogl-list table td { padding: .45rem .8rem .45rem 0; border-bottom: 1px solid rgba(26,58,107,.07); font-size: .88rem; line-height: 1.5; vertical-align: top; }
.ogl-list table td:first-child { color: #888; white-space: nowrap; min-width: 140px; }
.ogl-list table th { font-size: .72rem; font-weight: 700; color: var(--wp--preset--color--navy); text-transform: uppercase; letter-spacing: .1em; padding: .5rem .8rem .5rem 0; border-bottom: 2px solid var(--wp--preset--color--gold); }

/* Ogłoszenia list */
.ogl-list p { margin-bottom: .6rem; font-family: var(--wp--preset--font-family--inter); font-size: .92rem; line-height: 1.75; }

/* ksieza-mini-grid */
.ksieza-mini-grid { gap: 1rem !important; flex-wrap: wrap !important; margin-bottom: 1rem !important; }
.ksieza-mini-grid .wp-block-column { flex-basis: calc(25% - 1rem) !important; min-width: 140px; }
@media (max-width: 640px) { .ksieza-mini-grid .wp-block-column { flex-basis: calc(50% - .5rem) !important; } }

/* v65.3 - readable liturgical banner, front page and cemetery page */
.liturg-bar[data-liturg-rendered="1"] .liturg-inner {
  grid-template-columns: auto auto minmax(240px, 1fr) minmax(170px, auto) minmax(190px, 260px) !important;
  gap: clamp(.75rem, 1.8vw, 1.2rem) !important;
  align-items: center !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-main {
  min-width: 240px !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-name {
  font-size: clamp(1rem, 1.8vw, 1.28rem) !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
  display: block !important;
  background: rgba(255,255,255,.42) !important;
  border: 1px solid var(--liturg-border) !important;
  border-left: 4px solid var(--liturg-accent) !important;
  border-radius: 8px !important;
  padding: .65rem .75rem !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-extra {
  opacity: .95 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata {
  display: flex !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-date-block,
.liturg-bar[data-liturg-rendered="1"] .liturg-masses {
  display: block !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-extra-item {
  background: rgba(255,255,255,.34) !important;
  border: 1px solid rgba(120,80,0,.16) !important;
  border-radius: 999px !important;
  padding: .12rem .45rem !important;
}

@media (max-width: 1120px) {
  .liturg-bar[data-liturg-rendered="1"] .liturg-inner {
    grid-template-columns: auto auto minmax(0, 1fr) !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-masses,
  .liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
    grid-column: 1 / -1 !important;
    border-left: 0 !important;
    padding-left: .75rem !important;
  }
}

@media (max-width: 680px) {
  .liturg-bar[data-liturg-rendered="1"] .liturg-inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-szata,
  .liturg-bar[data-liturg-rendered="1"] .liturg-date-block,
  .liturg-bar[data-liturg-rendered="1"] .liturg-main,
  .liturg-bar[data-liturg-rendered="1"] .liturg-masses,
  .liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
    justify-content: center !important;
    margin-inline: auto !important;
    width: min(100%, 420px) !important;
  }
}

.hero-cover {
  min-height: clamp(520px, 66vh, 720px) !important;
  background-position: center 34% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.hero-cover .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(4,20,48,.82), rgba(4,20,48,.58) 48%, rgba(4,20,48,.7)) !important;
  opacity: 1 !important;
}

.hero-cover .wp-block-cover__inner-container {
  max-width: min(980px, calc(100vw - 32px)) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding: clamp(3rem, 7vw, 6rem) 1rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  text-align: center !important;
}

.hero-cover .hero-eyebrow {
  color: #ffe7a3 !important;
  font-size: clamp(.72rem, 1.2vw, .88rem) !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.7) !important;
}

.hero-cover .hero-title {
  color: #ffffff !important;
  font-size: clamp(2.15rem, 6vw, 5.1rem) !important;
  line-height: 1.03 !important;
  max-width: 980px !important;
  margin: .45rem auto .9rem !important;
  text-shadow: 0 4px 28px rgba(0,0,0,.78), 0 1px 2px rgba(0,0,0,.9) !important;
}

.hero-cover .hero-sub {
  color: #fff4c9 !important;
  max-width: 760px !important;
  font-size: clamp(1rem, 1.8vw, 1.22rem) !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.78) !important;
}

.hero-cover .wp-block-buttons {
  justify-content: center !important;
  gap: .85rem !important;
  margin-top: 1.6rem !important;
}

.hero-cover .wp-block-button__link {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  padding: .72rem 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.hero-cover .btn-hero-outline .wp-block-button__link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.78) !important;
  background: rgba(7,22,40,.38) !important;
}

body.home main#main-content .hero,
main#main-content .liturg-bar + .hero {
  position: relative !important;
  min-height: clamp(520px, 66vh, 720px) !important;
  padding: clamp(3.5rem, 7vw, 6rem) 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background-image: linear-gradient(90deg, rgba(4,20,48,.82), rgba(4,20,48,.58) 48%, rgba(4,20,48,.7)), url('assets/images/panorama.jpg') !important;
  background-size: cover !important;
  background-position: center 50% !important;
}

body.home main#main-content .hero .container,
main#main-content .liturg-bar + .hero .container {
  max-width: min(980px, calc(100vw - 32px)) !important;
  margin-inline: auto !important;
  position: relative !important;
  z-index: 1 !important;
}

body.home main#main-content .hero .hero-inner,
main#main-content .liturg-bar + .hero .hero-inner {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  text-align: center !important;
  justify-items: center !important;
}

body.home main#main-content .hero .animate-in,
main#main-content .liturg-bar + .hero .animate-in {
  max-width: 980px !important;
  margin-inline: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.home main#main-content .hero .hero-image-wrap,
main#main-content .liturg-bar + .hero .hero-image-wrap {
  display: none !important;
}

body.home main#main-content .hero .hero-eyebrow,
main#main-content .liturg-bar + .hero .hero-eyebrow {
  color: #ffe7a3 !important;
  font-size: clamp(.72rem, 1.2vw, .88rem) !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.7) !important;
}

body.home main#main-content .hero h1,
body.home main#main-content .hero h2,
main#main-content .liturg-bar + .hero h1,
main#main-content .liturg-bar + .hero h2 {
  color: #ffffff !important;
  font-size: clamp(2.15rem, 6vw, 5.1rem) !important;
  line-height: 1.03 !important;
  max-width: 980px !important;
  margin: .45rem auto .9rem !important;
  text-align: center !important;
  text-shadow: 0 4px 28px rgba(0,0,0,.78), 0 1px 2px rgba(0,0,0,.9) !important;
}

body.home main#main-content .hero .hero-sub,
main#main-content .liturg-bar + .hero .hero-sub {
  color: #fff4c9 !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  font-size: clamp(1rem, 1.8vw, 1.22rem) !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  text-align: center !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.78) !important;
}

body.home main#main-content .hero .hero-btns,
main#main-content .liturg-bar + .hero .hero-btns {
  justify-content: center !important;
  gap: .85rem !important;
  margin-top: 1.6rem !important;
}

body.home main#main-content .hero .wp-block-button__link,
main#main-content .liturg-bar + .hero .wp-block-button__link {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  padding: .72rem 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

body.home main#main-content .hero .wp-block-button.btn-outline .wp-block-button__link,
main#main-content .liturg-bar + .hero .wp-block-button.btn-outline .wp-block-button__link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.78) !important;
  background: rgba(7,22,40,.38) !important;
}

.quick-icons-section {
  box-shadow: 0 1px 0 rgba(13,43,94,.08) !important;
}

.quick-icons-row {
  max-width: 980px !important;
  margin-inline: auto !important;
  justify-content: center !important;
  gap: .6rem !important;
  padding: .7rem 1rem !important;
}

.quick-icons-row .qi-col {
  flex: 0 1 136px !important;
  border-right: 0 !important;
}

.quick-icons-row .qi-item {
  min-height: 88px !important;
  border: 1px solid #d9e5f3 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0d2b5e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.quick-icons-row .qi-label,
.quick-icons-row .qi-label a {
  color: #0d2b5e !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

main#main-content .quick-icons {
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 1px solid #d9e5f3 !important;
  padding: .7rem 1rem !important;
}

main#main-content .quick-icons-inner {
  max-width: 980px !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: .6rem !important;
}

main#main-content .quick-icons-inner .qi-item {
  min-height: 88px !important;
  border: 1px solid #d9e5f3 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0d2b5e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: .35rem !important;
  text-align: center !important;
  padding: .8rem !important;
}

main#main-content .quick-icons-inner .qi-item *,
main#main-content .quick-icons-inner .qi-text,
main#main-content .quick-icons-inner .qi-text strong {
  color: #0d2b5e !important;
  opacity: 1 !important;
}

.section-msze,
.section-ogloszenia {
  padding-block: clamp(3.5rem, 6vw, 5.5rem) !important;
}

.section-msze .section-head,
.section-ogloszenia .section-head {
  max-width: 760px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.section-msze .section-head *,
.section-ogloszenia .section-head * {
  text-align: center !important;
}

.msze-cols,
.ogloszenia-layout {
  max-width: 1040px !important;
  margin-inline: auto !important;
}

.msze-card {
  border-radius: 8px !important;
  color: #0d1e38 !important;
}

.msze-card *,
.sidebar-kancelaria *,
.home-ogloszenia-widget * {
  color: inherit;
  opacity: 1 !important;
}

.sidebar-nowenna,
.sidebar-nowenna * {
  color: #fff6d5 !important;
}

.sidebar-nowenna .wp-block-button__link {
  color: #ffffff !important;
}

main#main-content .fulltext-cmentarz a[title="Kancelaria"],
main#main-content .fulltext-cmentarz a[title="Zaklad Pogrzebowy"],
main#main-content .fulltext-cmentarz a[title="Zakład Pogrzebowy"],
main#main-content .fulltext-cmentarz a[title="Grabarz"],
main#main-content .fulltext-cmentarz a.legacy-link-button,
main#main-content .fulltext-cmentarz .wp-block-button__link.legacy-link-button,
main#main-content a[title="Kancelaria"][href*="kontakt.htm"],
main#main-content a[title="Zaklad Pogrzebowy"][href*="zaklad.htm"],
main#main-content a[title="Zakład Pogrzebowy"][href*="zaklad.htm"],
main#main-content a[title="Grabarz"][href*="grabarz.htm"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 420px) !important;
  min-height: 72px !important;
  margin: .9rem 0 !important;
  padding: 1rem 1.25rem !important;
  background: #0d2b5e !important;
  border: 1px solid #1f57a0 !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 26px rgba(13,43,94,.16) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

main#main-content .fulltext-cmentarz a strong,
main#main-content .fulltext-cmentarz a.legacy-link-button strong,
main#main-content .fulltext-cmentarz .wp-block-button__link.legacy-link-button strong,
main#main-content a[title="Kancelaria"][href*="kontakt.htm"] strong,
main#main-content a[title="Zaklad Pogrzebowy"][href*="zaklad.htm"] strong,
main#main-content a[title="Zakład Pogrzebowy"][href*="zaklad.htm"] strong,
main#main-content a[title="Grabarz"][href*="grabarz.htm"] strong {
  color: #ffffff !important;
  opacity: 1 !important;
}

main#main-content .source-feature.fulltext-visual {
  align-items: center !important;
  text-align: center !important;
}

main#main-content .source-feature.fulltext-visual figure {
  margin-inline: auto !important;
}

main#main-content .source-feature.fulltext-visual img {
  object-position: center center !important;
}

/* v65.4 - czytelne karty warunkow odpustu na granatowym tle */
main#main-content .warunki-section,
main#main-content .wp-block-group.warunki-section {
  background: #0d2b5e !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #ffffff !important;
}

main#main-content .warunki-section h1,
main#main-content .warunki-section h2,
main#main-content .warunki-section h3,
main#main-content .warunki-section h4,
main#main-content .warunki-section .wp-block-heading {
  color: #ffe7a3 !important;
  opacity: 1 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.28) !important;
}

main#main-content .warunki-section .warunki-cols {
  align-items: stretch !important;
  gap: 1rem !important;
}

main#main-content .warunki-section .warunek-col {
  display: flex !important;
}

main#main-content .warunki-section .warunek-card,
main#main-content .warunki-section .warunek-col > .wp-block-group {
  display: flex !important;
  width: 100% !important;
  min-height: 150px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px rgba(4,20,48,.18) !important;
}

main#main-content .warunki-section .warunek-card i,
main#main-content .warunki-section .warunek-col i {
  color: #f0b400 !important;
  opacity: 1 !important;
}

main#main-content .warunki-section .warunek-card p,
main#main-content .warunki-section .warunek-card strong,
main#main-content .warunki-section .warunek-card .has-white-color,
main#main-content .warunki-section .warunek-col p,
main#main-content .warunki-section .warunek-col strong,
main#main-content .warunki-section .warunek-col .has-white-color {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.25) !important;
}

main#main-content .warunki-section .warunek-card p:not(:first-of-type),
main#main-content .warunki-section .warunek-card .has-gold-light-color,
main#main-content .warunki-section .warunek-col p:not(:first-of-type),
main#main-content .warunki-section .warunek-col .has-gold-light-color {
  color: #fff1bd !important;
  font-weight: 650 !important;
  opacity: 1 !important;
}

@media (max-width: 780px) {
  main#main-content .warunki-section .warunki-cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}


/* Drobne usprawnienia kontrastu w panelu liturgicznym v6.5.5 — kolory
   napisów dziedziczone bezpośrednio z inline-style w renderBanner(),
   ale dorzucamy zabezpieczenie dla starych przeglądarek. */

#liturg-bar .liturg-ui-text {
  color: var(--liturg-ink-primary, var(--liturg-text, #1a1a1a)) !important;
}

#liturg-bar [style*="--liturg-ink-secondary"] {
  font-weight: 600 !important;
}

/* v6.5.6 - kontrast po uwagach z zalacznika 5 */
body #liturg-bar[data-liturg-rendered="1"].czerwony,
body #liturg-bar[data-liturg-rendered="1"].zielony,
body #liturg-bar[data-liturg-rendered="1"].fioletowy,
body #liturg-bar[data-liturg-rendered="1"].rozowy,
body #liturg-bar[data-liturg-rendered="1"].czarny {
  background: var(--liturg-bg) !important;
  color: var(--liturg-ink-primary) !important;
}

body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-ui-text,
body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-ui-text *,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-ui-text,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-ui-text *,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-ui-text,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-ui-text *,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-ui-text,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-ui-text *,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-ui-text,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-ui-text * {
  color: var(--liturg-ink-primary) !important;
  opacity: 1 !important;
}

body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-period,
body #liturg-bar[data-liturg-rendered="1"].czerwony .day-name,
body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-psalterz,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-period,
body #liturg-bar[data-liturg-rendered="1"].zielony .day-name,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-psalterz,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-period,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .day-name,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-psalterz,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-period,
body #liturg-bar[data-liturg-rendered="1"].rozowy .day-name,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-psalterz,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-period,
body #liturg-bar[data-liturg-rendered="1"].czarny .day-name,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-psalterz {
  color: var(--liturg-ink-secondary) !important;
}

body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-jutro,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-jutro,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-jutro,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-jutro,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-jutro,
body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-date-block,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-date-block,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-date-block,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-date-block,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-date-block,
body #liturg-bar[data-liturg-rendered="1"].czerwony .liturg-masses,
body #liturg-bar[data-liturg-rendered="1"].zielony .liturg-masses,
body #liturg-bar[data-liturg-rendered="1"].fioletowy .liturg-masses,
body #liturg-bar[data-liturg-rendered="1"].rozowy .liturg-masses,
body #liturg-bar[data-liturg-rendered="1"].czarny .liturg-masses {
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.28) !important;
}

body #liturg-bar[data-liturg-rendered="1"] .liturg-action-primary,
body #liturg-bar[data-liturg-rendered="1"] .liturg-action-primary *,
body #liturg-bar[data-liturg-rendered="1"] .czyt-link,
body #liturg-bar[data-liturg-rendered="1"] .czyt-link * {
  background: var(--liturg-button-bg) !important;
  border-color: var(--liturg-button-bg) !important;
  color: var(--liturg-button-text) !important;
}

/* v6.5.34 - widoczna ikona podgladu na zdjeciach galerii */
main#main-content .archive-gallery-grid figure,
main#main-content .official-gallery-grid figure,
main#main-content .album-photo-grid figure,
main#main-content .wp-block-gallery figure,
main#main-content figure.editable-gallery-image,
main#main-content .gallery-album-card,
main#main-content .gallery-album-card .wp-block-post-featured-image {
  isolation: isolate !important;
  overflow: hidden !important;
  position: relative !important;
}

main#main-content .archive-gallery-grid figure::before,
main#main-content .official-gallery-grid figure::before,
main#main-content .album-photo-grid figure::before,
main#main-content .wp-block-gallery figure::before,
main#main-content figure.editable-gallery-image::before,
main#main-content .gallery-album-card::before {
  background:
    #fff
    url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%230d2b5e' stroke-width='2.4'/%3E%3Cpath d='M16 16l6 6' stroke='%230d2b5e' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M11 7v8M7 11h8' stroke='%23a87c00' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E")
    center / 24px 24px no-repeat !important;
  border: 2px solid rgba(201,151,10,.95) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(7,22,40,.24) !important;
  content: "" !important;
  height: 46px !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  width: 46px !important;
  z-index: 5 !important;
}

main#main-content .archive-gallery-grid figure::after,
main#main-content .official-gallery-grid figure::after,
main#main-content .album-photo-grid figure::after,
main#main-content .wp-block-gallery figure::after,
main#main-content figure.editable-gallery-image::after {
  background: linear-gradient(180deg, rgba(7,22,40,0), rgba(7,22,40,.2)) !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .85 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

main#main-content .archive-gallery-grid figure img,
main#main-content .official-gallery-grid figure img,
main#main-content .album-photo-grid figure img,
main#main-content .wp-block-gallery figure img,
main#main-content figure.editable-gallery-image img,
main#main-content .gallery-album-card .wp-block-post-featured-image img {
  transition: filter .18s ease, transform .18s ease !important;
}

main#main-content .archive-gallery-grid figure:hover img,
main#main-content .official-gallery-grid figure:hover img,
main#main-content .album-photo-grid figure:hover img,
main#main-content .wp-block-gallery figure:hover img,
main#main-content figure.editable-gallery-image:hover img,
main#main-content .gallery-album-card .wp-block-post-featured-image:hover img {
  filter: saturate(1.03) brightness(.92) !important;
  transform: scale(1.015) !important;
}

main#main-content .archive-gallery-grid figure figcaption,
main#main-content .official-gallery-grid figure figcaption,
main#main-content .album-photo-grid figure figcaption,
main#main-content .wp-block-gallery figure figcaption {
  position: relative !important;
  z-index: 6 !important;
}

.sanktuarium-lightbox button,
.sanktuarium-lightbox button i {
  color: #0d2b5e !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.nowenna-banner-cover,
.nowenna-banner-cover *,
.sidebar-nowenna,
.sidebar-nowenna *,
.int-sidebar-nowenna,
.int-sidebar-nowenna * {
  color: #fff8df !important;
  opacity: 1 !important;
}

.nowenna-banner-cover h1,
.nowenna-banner-cover h2,
.nowenna-banner-cover .wp-block-heading,
.sidebar-nowenna .wp-block-heading,
.int-sidebar-nowenna .wp-block-heading {
  color: #ffffff !important;
}

.nowenna-banner-cover strong,
.sidebar-nowenna strong,
.int-sidebar-nowenna strong,
.nowenna-banner-cover .has-gold-light-color,
.sidebar-nowenna .has-gold-light-color,
.int-sidebar-nowenna .has-gold-light-color {
  color: #ffe08a !important;
}

.nowenna-banner-cover .wp-block-button__link,
.sidebar-nowenna .wp-block-button__link,
.int-sidebar-nowenna .wp-block-button__link {
  color: #ffffff !important;
  background: #0d3a7a !important;
  border-color: #0d3a7a !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-grid {
  display: grid !important;
  gap: .75rem !important;
  margin: 1.25rem 0 1.75rem !important;
  max-width: 620px !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button,
main#main-content .fulltext-cmentarz a[title="Kancelaria"],
main#main-content .fulltext-cmentarz a[title="Zakład Pogrzebowy"],
main#main-content .fulltext-cmentarz a[title="Zaklad Pogrzebowy"],
main#main-content .fulltext-cmentarz a[title="Grabarz"],
main#main-content .fulltext-cmentarz a[title="Regulamin cmentarza"],
main#main-content .fulltext-cmentarz a[title="Groby"],
main#main-content .fulltext-cmentarz a[title*="wypominki"],
main#main-content .fulltext-cmentarz a.legacy-link-button,
main#main-content .fulltext-cmentarz .wp-block-button__link.legacy-link-button {
  align-items: center !important;
  background: #0d2b5e !important;
  border: 1px solid #2f6bbf !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 22px rgba(13,43,94,.18) !important;
  color: #ffffff !important;
  display: grid !important;
  gap: .18rem .8rem !important;
  grid-template-columns: auto 1fr !important;
  line-height: 1.25 !important;
  min-height: 64px !important;
  padding: .9rem 1rem !important;
  text-align: left !important;
  text-decoration: none !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button strong,
main#main-content .fulltext-cmentarz .cemetery-link-button em,
main#main-content .fulltext-cmentarz .cemetery-link-number,
main#main-content .fulltext-cmentarz a[title] strong,
main#main-content .fulltext-cmentarz a.legacy-link-button strong,
main#main-content .fulltext-cmentarz .wp-block-button__link.legacy-link-button strong {
  color: #ffffff !important;
  opacity: 1 !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button em {
  color: #dce9ff !important;
  font-style: normal !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  grid-column: 2 !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-number {
  align-items: center !important;
  background: #c9970a !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  height: 28px !important;
  justify-content: center !important;
  width: 28px !important;
}

main#main-content .fulltext-cmentarz .cemetery-photo-link {
  display: inline-block !important;
  margin-top: 1rem !important;
}

/* v6.5.7 - ostateczne poprawki widocznosci napisow i hero strony glownej */
main#main-content .hero-cover.wp-block-cover,
body .hero-cover.wp-block-cover.alignfull {
  background-color: #061a35 !important;
  background-image:
    linear-gradient(90deg, rgba(3,13,31,.78), rgba(3,13,31,.36) 46%, rgba(3,13,31,.72)),
    url('assets/images/panorama.jpg') !important;
  background-position: center, center 50% !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: auto, cover !important;
  border-radius: 0 !important;
  min-height: clamp(560px, 66vh, 720px) !important;
}

main#main-content .hero-cover.wp-block-cover .wp-block-cover__background,
body .hero-cover.wp-block-cover .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(3,13,31,.66), rgba(3,13,31,.26) 48%, rgba(3,13,31,.68)) !important;
  opacity: 1 !important;
}

main#main-content .hero-cover.wp-block-cover .wp-block-cover__inner-container,
body .hero-cover.wp-block-cover .wp-block-cover__inner-container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  margin: 0 auto !important;
  max-width: min(1120px, calc(100vw - 28px)) !important;
  padding: clamp(4.5rem, 9vw, 7.5rem) 1rem !important;
  text-align: center !important;
}

main#main-content .hero-cover .hero-title,
main#main-content .hero-cover h1.hero-title,
main#main-content .hero-cover .wp-block-heading.hero-title,
body .hero-cover .hero-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(2.4rem, 6.4vw, 5.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  margin: .6rem auto 1rem !important;
  max-width: 1080px !important;
  opacity: 1 !important;
  text-shadow: 0 5px 30px rgba(0,0,0,.95), 0 2px 4px rgba(0,0,0,.95) !important;
}

main#main-content .hero-cover .hero-eyebrow,
body .hero-cover .hero-eyebrow {
  color: #ffe6a0 !important;
  -webkit-text-fill-color: #ffe6a0 !important;
  opacity: 1 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.95) !important;
}

main#main-content .hero-cover .hero-sub,
main#main-content .hero-cover .hero-sub *,
body .hero-cover .hero-sub,
body .hero-cover .hero-sub * {
  color: #fff5d4 !important;
  -webkit-text-fill-color: #fff5d4 !important;
  opacity: 1 !important;
  text-shadow: 0 3px 20px rgba(0,0,0,.95) !important;
}

main#main-content .nowenna-banner-cover .wp-block-cover__inner-container,
main#main-content .nowenna-banner-cover .wp-block-cover__inner-container *,
main#main-content .sidebar-nowenna,
main#main-content .sidebar-nowenna *,
main#main-content .int-sidebar-nowenna,
main#main-content .int-sidebar-nowenna * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content .nowenna-banner-cover .wp-block-heading,
main#main-content .nowenna-banner-cover h1,
main#main-content .nowenna-banner-cover h2,
main#main-content .nowenna-banner-cover h3,
main#main-content .sidebar-nowenna .wp-block-heading,
main#main-content .sidebar-nowenna h4,
main#main-content .int-sidebar-nowenna .wp-block-heading,
main#main-content .int-sidebar-nowenna h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800 !important;
}

main#main-content .nowenna-banner-cover strong,
main#main-content .sidebar-nowenna strong,
main#main-content .int-sidebar-nowenna strong {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
}

main#main-content .fulltext-cmentarz .wp-block-buttons .wp-block-button .wp-block-button__link,
main#main-content .fulltext-cmentarz .wp-block-buttons .wp-block-button .wp-block-button__link *,
main#main-content .fulltext-cmentarz a.legacy-link-button,
main#main-content .fulltext-cmentarz a.legacy-link-button *,
main#main-content .fulltext-cmentarz .cemetery-link-button,
main#main-content .fulltext-cmentarz .cemetery-link-button *,
main#main-content .fulltext-cmentarz a[title],
main#main-content .fulltext-cmentarz a[title] *,
main#main-content .fulltext-cmentarz a[title] h2,
main#main-content .fulltext-cmentarz a[title] p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

main#main-content .fulltext-cmentarz .wp-block-buttons .wp-block-button .wp-block-button__link,
main#main-content .fulltext-cmentarz a.legacy-link-button,
main#main-content .fulltext-cmentarz .cemetery-link-button,
main#main-content .fulltext-cmentarz a[title] {
  background: #0b3472 !important;
  border: 2px solid #2f74cf !important;
  box-shadow: 0 10px 24px rgba(11,52,114,.22) !important;
}

.novena-mail-panel {
  background: linear-gradient(135deg, #08295c, #0d3a7a) !important;
  border: 1px solid rgba(255,224,138,.45) !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 34px rgba(8,41,92,.16) !important;
  color: #ffffff !important;
  margin: 0 0 1.25rem !important;
  padding: clamp(1.25rem, 3vw, 1.8rem) !important;
}

.novena-mail-panel.inline {
  margin-top: 1.1rem !important;
}

.novena-mail-panel,
.novena-mail-panel * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.novena-mail-panel span {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
  display: inline-flex !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  gap: .45rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.novena-mail-panel h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.45rem, 3vw, 2.05rem) !important;
  line-height: 1.16 !important;
  margin: .45rem 0 .65rem !important;
}

.novena-mail-panel p {
  color: #eef5ff !important;
  -webkit-text-fill-color: #eef5ff !important;
  font-size: .96rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1rem !important;
}

.novena-mail-panel strong {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
}

.novena-mail-link {
  align-items: center !important;
  background: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 8px !important;
  color: #08295c !important;
  -webkit-text-fill-color: #08295c !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  gap: .5rem !important;
  min-height: 46px !important;
  padding: .72rem 1rem !important;
  text-decoration: none !important;
}

.novena-mail-link * {
  color: #08295c !important;
  -webkit-text-fill-color: #08295c !important;
}

/* v6.5.10 - final readable text, links and stable subpages */
main#main-content,
.wp-site-blocks,
.entry-content,
.wp-block-post-content,
.page-content {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

main#main-content :where(h1, h2, h3, h4, h5, h6, summary, summary *, .subpage-title, .subpage-subtitle, .wp-block-button__link, .wp-element-button, .qi-label, .qi-label a, .msze-card-title, .nab-card h3, .today-card strong, .dostep-card h3),
body :where(.hero-title, .hero-title *, .nowenna-banner-cover h1, .nowenna-banner-cover h2, .nowenna-banner-cover h3, .nowenna-banner-cover .wp-block-heading, .sidebar-nowenna h1, .sidebar-nowenna h2, .sidebar-nowenna h3, .sidebar-nowenna h4, .int-sidebar-nowenna h1, .int-sidebar-nowenna h2, .int-sidebar-nowenna h3, .int-sidebar-nowenna h4) {
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

main#main-content :where(p, li, dd, figcaption, span, strong, em) {
  word-break: normal !important;
}

body .hero-cover.wp-block-cover,
main#main-content .hero-cover.wp-block-cover {
  isolation: isolate !important;
}

body .hero-cover.wp-block-cover .wp-block-cover__inner-container,
main#main-content .hero-cover.wp-block-cover .wp-block-cover__inner-container {
  background: rgba(6, 24, 52, .54) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .34) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: initial !important;
}

body .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title),
body .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title) *,
main#main-content .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title),
main#main-content .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title) * {
  background: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 5px 30px rgba(0, 0, 0, .98), 0 2px 5px rgba(0, 0, 0, .98) !important;
}

body .hero-cover .hero-eyebrow,
body .hero-cover .hero-eyebrow *,
main#main-content .hero-cover .hero-eyebrow,
main#main-content .hero-cover .hero-eyebrow * {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
  opacity: 1 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .9) !important;
}

body .hero-cover .hero-sub,
body .hero-cover .hero-sub *,
main#main-content .hero-cover .hero-sub,
main#main-content .hero-cover .hero-sub * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .92) !important;
}

body .nowenna-banner-cover,
main#main-content .nowenna-banner-cover,
body .sidebar-nowenna,
main#main-content .sidebar-nowenna,
body .int-sidebar-nowenna,
main#main-content .int-sidebar-nowenna {
  background-color: #0d2b5e !important;
}

body .nowenna-banner-cover :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i),
main#main-content .nowenna-banner-cover :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i),
body .sidebar-nowenna :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i),
main#main-content .sidebar-nowenna :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i),
body .int-sidebar-nowenna :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i),
main#main-content .int-sidebar-nowenna :where(p, span, strong, em, h1, h2, h3, h4, h5, h6, a, i) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body .nowenna-banner-cover :where(.section-kicker, .has-gold-light-color, strong),
main#main-content .nowenna-banner-cover :where(.section-kicker, .has-gold-light-color, strong),
body .sidebar-nowenna :where(.has-gold-light-color, strong),
main#main-content .sidebar-nowenna :where(.has-gold-light-color, strong),
body .int-sidebar-nowenna :where(.has-gold-light-color, strong),
main#main-content .int-sidebar-nowenna :where(.has-gold-light-color, strong) {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
}

body .nowenna-banner-cover .wp-block-button__link,
main#main-content .nowenna-banner-cover .wp-block-button__link,
body .sidebar-nowenna .wp-block-button__link,
main#main-content .sidebar-nowenna .wp-block-button__link,
body .int-sidebar-nowenna .wp-block-button__link,
main#main-content .int-sidebar-nowenna .wp-block-button__link {
  background: #0b4aa2 !important;
  border-color: #0b4aa2 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .quick-icons-row {
  display: grid !important;
  gap: .65rem !important;
  grid-template-columns: repeat(6, minmax(128px, 1fr)) !important;
  max-width: 1040px !important;
}

main#main-content .quick-icons-row > .wp-block-column,
main#main-content .quick-icons-row .qi-col {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

main#main-content .quick-icons-row .qi-item {
  cursor: pointer !important;
  min-height: 108px !important;
  padding: 1rem .75rem !important;
  position: relative !important;
}

main#main-content .quick-icons-row .qi-label {
  line-height: 1.25 !important;
  margin: 0 !important;
}

main#main-content .quick-icons-row .qi-label a {
  color: #0d2b5e !important;
  display: inline-block !important;
  font-size: .86rem !important;
  line-height: 1.25 !important;
  position: static !important;
  text-decoration: none !important;
  z-index: auto !important;
}

main#main-content .quick-icons-row .qi-label a::after {
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
  transform: none !important;
  z-index: 3 !important;
}

main#main-content .quick-icons-row .qi-icon {
  pointer-events: none !important;
  position: relative !important;
  z-index: 1 !important;
}

main#main-content .nabozenstwa-cols {
  align-items: stretch !important;
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
}

main#main-content .nabozenstwa-cols > .wp-block-column {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

main#main-content .nab-card {
  display: flex !important;
  flex-direction: column !important;
  gap: .55rem !important;
  height: 100% !important;
  min-height: 240px !important;
}

main#main-content .nab-card h3 {
  color: #0d2b5e !important;
  font-size: clamp(1.06rem, 2vw, 1.26rem) !important;
  line-height: 1.22 !important;
  margin: 0 !important;
}

main#main-content .nab-card p,
main#main-content .nab-card li {
  line-height: 1.62 !important;
  margin-top: 0 !important;
}

main#main-content .nab-nowenna,
main#main-content .nab-nowenna :where(h3, p, span, em, a, i) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .nab-nowenna strong {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
}

main#main-content .nab-nowenna .wp-block-button__link {
  background: #c9970a !important;
  border-color: #c9970a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body .page-hero-cover.wp-block-cover .wp-block-cover__inner-container,
main#main-content .page-hero-cover.wp-block-cover .wp-block-cover__inner-container {
  background: rgba(7, 29, 61, .88) !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  margin: clamp(16px, 4vw, 34px) auto !important;
  max-width: min(760px, calc(100% - 32px)) !important;
  padding: clamp(18px, 4vw, 34px) !important;
}

body .page-hero-cover.wp-block-cover .wp-block-cover__inner-container :where(h1, h2, h3, p, span, strong, em, a),
main#main-content .page-hero-cover.wp-block-cover .wp-block-cover__inner-container :where(h1, h2, h3, p, span, strong, em, a) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

body .page-hero-cover.wp-block-cover .wp-block-cover__inner-container :where(.has-gold-light-color, strong),
main#main-content .page-hero-cover.wp-block-cover .wp-block-cover__inner-container :where(.has-gold-light-color, strong) {
  color: #ffe08a !important;
  -webkit-text-fill-color: #ffe08a !important;
}

main#main-content .subpage-title {
  font-size: clamp(1.85rem, 5.4vw, 4.2rem) !important;
  line-height: 1.12 !important;
  max-width: calc(100vw - 32px) !important;
}

main#main-content .subpage-eyebrow,
main#main-content .subpage-subtitle {
  max-width: min(760px, calc(100vw - 32px)) !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button,
main#main-content .fulltext-cmentarz a.legacy-link-button,
main#main-content .fulltext-cmentarz a[title] {
  align-items: center !important;
  background: #0d2b5e !important;
  border: 2px solid #2f74cf !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  display: grid !important;
  gap: .4rem .75rem !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  min-height: 72px !important;
  padding: .85rem 1rem !important;
  text-decoration: none !important;
  width: 100% !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button :where(strong, em, span, h2, p, font),
main#main-content .fulltext-cmentarz a.legacy-link-button :where(strong, em, span, h2, p, font),
main#main-content .fulltext-cmentarz a[title] :where(strong, em, span, h2, p, font) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-button em,
main#main-content .fulltext-cmentarz a.legacy-link-button em,
main#main-content .fulltext-cmentarz a[title] em {
  color: #dce9ff !important;
  -webkit-text-fill-color: #dce9ff !important;
  grid-column: 2 !important;
}

main#main-content .fulltext-cmentarz .cemetery-link-number {
  background: #c9970a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 980px) {
  main#main-content .quick-icons-row {
    grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
  }

  main#main-content .nabozenstwa-cols {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  body .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title),
  main#main-content .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title) {
    font-size: clamp(2rem, 11vw, 3.1rem) !important;
    line-height: 1.08 !important;
  }

  main#main-content .quick-icons-row {
    grid-template-columns: repeat(2, minmax(128px, 1fr)) !important;
  }

  main#main-content .quick-icons-row .qi-label a {
    font-size: .82rem !important;
  }

  main#main-content .subpage-title {
    font-size: clamp(1.65rem, 9vw, 2.4rem) !important;
  }
}

/* v6.5.13 - filmy, jasniejsze hero i stabilne karty strony glownej */
body .hero-cover.wp-block-cover,
main#main-content .hero-cover.wp-block-cover {
  background-color: #143c72 !important;
  background-image:
    linear-gradient(90deg, rgba(5, 23, 52, .56), rgba(5, 23, 52, .24) 48%, rgba(5, 23, 52, .48)),
    url('assets/images/panorama.jpg') !important;
  background-position: center, center 50% !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: auto, cover !important;
  min-height: clamp(520px, 64vh, 700px) !important;
}

body .hero-cover.wp-block-cover .wp-block-cover__background,
main#main-content .hero-cover.wp-block-cover .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(5, 23, 52, .44), rgba(5, 23, 52, .18) 48%, rgba(5, 23, 52, .4)) !important;
  opacity: 1 !important;
}

body .hero-cover.wp-block-cover .wp-block-cover__inner-container,
main#main-content .hero-cover.wp-block-cover .wp-block-cover__inner-container {
  background: rgba(6, 24, 52, .24) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .2) !important;
  max-width: min(1060px, calc(100vw - 28px)) !important;
  padding: clamp(3.25rem, 7vw, 5.8rem) clamp(1rem, 3vw, 2.25rem) !important;
}

body .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title),
main#main-content .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title) {
  font-size: clamp(2rem, 5.2vw, 4.65rem) !important;
  line-height: 1.06 !important;
  max-width: 980px !important;
}

body .hero-cover .hero-sub,
main#main-content .hero-cover .hero-sub {
  font-size: clamp(.98rem, 1.45vw, 1.14rem) !important;
  max-width: 700px !important;
}

body .hero-cover .wp-block-buttons,
main#main-content .hero-cover .wp-block-buttons {
  flex-wrap: wrap !important;
}

body .nowenna-banner-cover,
main#main-content .nowenna-banner-cover {
  background:
    linear-gradient(135deg, rgba(9, 44, 91, .94), rgba(16, 75, 128, .9) 58%, rgba(166, 121, 0, .82)) !important;
  min-height: clamp(220px, 30vw, 300px) !important;
}

body .nowenna-banner-cover .wp-block-cover__background,
main#main-content .nowenna-banner-cover .wp-block-cover__background {
  background: linear-gradient(135deg, rgba(5, 23, 52, .38), rgba(5, 23, 52, .18)) !important;
  opacity: 1 !important;
}

main#main-content .section-msze .msze-cols {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(.85rem, 1.8vw, 1.2rem) !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, .82fr) minmax(300px, 1.35fr) !important;
  max-width: 1120px !important;
}

main#main-content .section-msze .msze-cols > .wp-block-column,
main#main-content .section-msze .msze-card {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

main#main-content .section-msze .msze-card {
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  overflow: hidden !important;
  padding: clamp(1rem, 1.8vw, 1.35rem) !important;
}

main#main-content .section-msze .msze-card-title {
  align-items: flex-start !important;
  display: flex !important;
  gap: .55rem !important;
  font-size: clamp(.98rem, 1.25vw, 1.12rem) !important;
  line-height: 1.22 !important;
  margin-bottom: .3rem !important;
  max-width: 100% !important;
}

main#main-content .section-msze .msze-card-title i {
  flex: 0 0 auto !important;
  line-height: 1.2 !important;
  margin-top: .05rem !important;
}

main#main-content .section-msze .msze-times-list {
  display: grid !important;
  gap: .35rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

main#main-content .section-msze .msze-times-list li {
  align-items: flex-start !important;
  display: grid !important;
  gap: .45rem !important;
  grid-template-columns: .72rem minmax(0, 1fr) !important;
  line-height: 1.38 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  padding: .42rem 0 !important;
  white-space: normal !important;
}

main#main-content .section-msze .msze-times-list li::before {
  background: #c9970a !important;
  border-radius: 999px !important;
  content: "" !important;
  height: .42rem !important;
  margin-top: .46rem !important;
  width: .42rem !important;
}

main#main-content .section-msze .msze-times-list li.time-gold::before {
  background: #0b4aa2 !important;
}

main#main-content .section-msze .msze-times-list li strong {
  color: #08295c !important;
}

main#main-content .section-msze .msze-special .msze-times-list li {
  font-size: clamp(.82rem, .95vw, .92rem) !important;
}

main#main-content .youtube-video-section {
  background: #ffffff !important;
  border: 1px solid rgba(13, 43, 94, .1) !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(8, 41, 92, .09) !important;
  margin: clamp(1.5rem, 4vw, 2.5rem) auto !important;
  max-width: 1120px !important;
  padding: clamp(1.15rem, 3vw, 1.8rem) !important;
}

main#main-content .youtube-video-grid {
  display: grid !important;
  gap: clamp(.85rem, 2vw, 1.25rem) !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

main#main-content .youtube-card {
  border-radius: 8px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

main#main-content .youtube-card iframe,
main#main-content .youtube-embed iframe {
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 8px !important;
  display: block !important;
  height: auto !important;
  width: 100% !important;
}

@media (max-width: 980px) {
  main#main-content .section-msze .msze-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  main#main-content .section-msze .msze-special {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 640px) {
  body .hero-cover.wp-block-cover,
  main#main-content .hero-cover.wp-block-cover {
    min-height: auto !important;
  }

  body .hero-cover.wp-block-cover .wp-block-cover__inner-container,
  main#main-content .hero-cover.wp-block-cover .wp-block-cover__inner-container {
    background: rgba(6, 24, 52, .34) !important;
    padding: 3rem 1rem !important;
  }

  main#main-content .section-msze .msze-cols {
    grid-template-columns: 1fr !important;
  }

  main#main-content .section-msze .msze-special {
    grid-column: auto !important;
  }
}

/* v6.5.14 - praktyczna strona glowna dla parafian i pielgrzymow */
body .hero-cover.wp-block-cover,
main#main-content .hero-cover.wp-block-cover {
  min-height: clamp(460px, 56vh, 620px) !important;
}

body .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title),
main#main-content .hero-cover :where(.hero-title, h1.hero-title, .wp-block-heading.hero-title) {
  font-size: clamp(2rem, 4.8vw, 4.2rem) !important;
  max-width: 860px !important;
}

body .hero-cover .hero-sub,
main#main-content .hero-cover .hero-sub {
  max-width: 640px !important;
}

main#main-content .today-sanktuarium-section,
main#main-content .audience-path-section {
  padding-block: clamp(2.7rem, 5vw, 4.6rem) !important;
}

main#main-content .today-card-grid,
main#main-content .audience-path-grid {
  display: grid !important;
  gap: clamp(.85rem, 2vw, 1.2rem) !important;
  margin-inline: auto !important;
  max-width: 1120px !important;
}

main#main-content .today-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

main#main-content .audience-path-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

main#main-content .today-info-card,
main#main-content .path-card {
  background: #ffffff !important;
  border: 1px solid rgba(13, 43, 94, .1) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(8, 41, 92, .08) !important;
  color: #0d1e38 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .55rem !important;
  min-height: 100% !important;
  min-width: 0 !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
}

main#main-content .today-info-icon {
  align-items: center !important;
  background: #eef4fc !important;
  border-radius: 8px !important;
  color: #0d2b5e !important;
  display: inline-flex !important;
  font-size: 1rem !important;
  height: 38px !important;
  justify-content: center !important;
  width: 38px !important;
}

main#main-content .today-info-card h3,
main#main-content .path-card h3 {
  color: #08295c !important;
  font-size: clamp(1rem, 1.4vw, 1.14rem) !important;
  line-height: 1.24 !important;
  margin: 0 !important;
}

main#main-content .today-info-card p,
main#main-content .path-card p {
  color: #2c4878 !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

main#main-content .path-card a {
  color: #0b4aa2 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

main#main-content .path-card a:hover {
  text-decoration: underline !important;
}

main#main-content .section-ogloszenia {
  padding-top: clamp(2.8rem, 5vw, 4.4rem) !important;
}

main#main-content .nowenna-banner-cover {
  margin-top: 0 !important;
}

@media (max-width: 1080px) {
  main#main-content .today-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  main#main-content .audience-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  main#main-content .today-card-grid,
  main#main-content .audience-path-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v6.5.15 - jasniejsza, spokojniejsza estetyka strony glownej */
body .hero-cover.wp-block-cover,
main#main-content .hero-cover.wp-block-cover {
  background-image:
    linear-gradient(90deg, rgba(5, 23, 52, .48), rgba(5, 23, 52, .18) 48%, rgba(5, 23, 52, .38)),
    url('assets/images/panorama.jpg') !important;
  background-position: center, center 50% !important;
  min-height: clamp(440px, 54vh, 600px) !important;
}

body .hero-cover.wp-block-cover .wp-block-cover__background,
main#main-content .hero-cover.wp-block-cover .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(5, 23, 52, .34), rgba(5, 23, 52, .12) 50%, rgba(5, 23, 52, .3)) !important;
}

body .hero-cover.wp-block-cover .wp-block-cover__inner-container,
main#main-content .hero-cover.wp-block-cover .wp-block-cover__inner-container {
  background: rgba(6, 24, 52, .18) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .14) !important;
}

body .hero-cover .hero-sub,
body .hero-cover .hero-sub *,
main#main-content .hero-cover .hero-sub,
main#main-content .hero-cover .hero-sub * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .section-head .section-kicker,
main#main-content .poznaj-head .section-kicker {
  color: #0d2b5e !important;
  -webkit-text-fill-color: #0d2b5e !important;
  letter-spacing: .08em !important;
}

main#main-content .section-head .section-kicker::after {
  background: #c9970a !important;
  content: "" !important;
  display: block !important;
  height: 2px !important;
  margin: .55rem auto 0 !important;
  width: 42px !important;
}

main#main-content .msze-card,
main#main-content .today-info-card,
main#main-content .path-card,
main#main-content .odpust-preview-card,
main#main-content .sidebar-widget,
main#main-content .home-ogloszenia-widget,
main#main-content .youtube-card {
  border: 1px solid rgba(13, 43, 94, .12) !important;
  box-shadow: 0 4px 14px rgba(8, 41, 92, .045) !important;
}

main#main-content .today-card-grid {
  align-items: stretch !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

main#main-content .audience-path-grid {
  align-items: stretch !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

main#main-content .today-info-card {
  min-height: 178px !important;
}

main#main-content .path-card {
  min-height: 214px !important;
}

main#main-content .today-info-icon,
main#main-content .odpust-icon {
  background: #f3f7fc !important;
  color: #0d2b5e !important;
}

main#main-content .poznaj-section {
  padding-block: clamp(3rem, 6vw, 5rem) !important;
}

main#main-content .poznaj-layout {
  align-items: center !important;
  display: grid !important;
  gap: clamp(1.4rem, 4vw, 3.5rem) !important;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr) !important;
  max-width: 1120px !important;
}

main#main-content .poznaj-photo {
  border-radius: 8px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

main#main-content .poznaj-photo img {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center 34% !important;
  width: 100% !important;
}

main#main-content .poznaj-photo figcaption {
  background: #ffffff !important;
  color: #2c4878 !important;
  font-size: .84rem !important;
  padding: .65rem .8rem !important;
}

main#main-content .poznaj-head {
  margin: 0 0 1.3rem !important;
  text-align: left !important;
}

main#main-content .poznaj-head * {
  text-align: left !important;
}

main#main-content .poznaj-head .section-kicker::after {
  margin-left: 0 !important;
}

main#main-content .poznaj-link-grid {
  display: grid !important;
  gap: .75rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

main#main-content .poznaj-link-grid p {
  margin: 0 !important;
}

main#main-content .poznaj-link-grid a {
  align-items: center !important;
  background: #f7f9fc !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-radius: 8px !important;
  color: #0d2b5e !important;
  display: flex !important;
  font-weight: 800 !important;
  min-height: 48px !important;
  padding: .8rem .95rem !important;
  text-decoration: none !important;
}

main#main-content .poznaj-link-grid a:hover {
  background: #eef4fc !important;
}

body .nowenna-banner-cover,
main#main-content .nowenna-banner-cover {
  background: #f7f9fc !important;
  border-block: 1px solid rgba(13, 43, 94, .1) !important;
  min-height: auto !important;
}

body .nowenna-banner-cover .wp-block-cover__background,
main#main-content .nowenna-banner-cover .wp-block-cover__background {
  background: linear-gradient(135deg, rgba(238, 244, 252, .92), rgba(255, 255, 255, .95)) !important;
  opacity: 1 !important;
}

body .nowenna-banner-cover .wp-block-cover__inner-container,
main#main-content .nowenna-banner-cover .wp-block-cover__inner-container {
  color: #0d1e38 !important;
  max-width: 1120px !important;
  padding: clamp(2rem, 4vw, 3rem) 1rem !important;
}

body .nowenna-banner-cover :where(h1, h2, h3, p, span, strong, em, a, i),
main#main-content .nowenna-banner-cover :where(h1, h2, h3, p, span, strong, em, a, i),
body .sidebar-nowenna :where(h1, h2, h3, h4, p, span, strong, em, a, i),
main#main-content .sidebar-nowenna :where(h1, h2, h3, h4, p, span, strong, em, a, i) {
  color: #0d1e38 !important;
  -webkit-text-fill-color: #0d1e38 !important;
  text-shadow: none !important;
}

body .nowenna-banner-cover strong,
main#main-content .nowenna-banner-cover strong,
body .sidebar-nowenna strong,
main#main-content .sidebar-nowenna strong {
  color: #0d2b5e !important;
  -webkit-text-fill-color: #0d2b5e !important;
}

main#main-content .sidebar-nowenna {
  background: #ffffff !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
}

main#main-content .sidebar-nowenna .wp-block-button__link,
main#main-content .nowenna-banner-cover .wp-block-button__link {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .nowenna-banner-cover .is-style-outline .wp-block-button__link {
  background: transparent !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
  -webkit-text-fill-color: #0d2b5e !important;
}

main#main-content .section-odpusty {
  background: #ffffff !important;
  padding-block: clamp(2.7rem, 5vw, 4.3rem) !important;
}

main#main-content .odpusty-preview-cols {
  gap: 1rem !important;
  max-width: 1040px !important;
}

main#main-content .odpust-preview-card {
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 190px !important;
  padding: clamp(1rem, 2vw, 1.25rem) !important;
}

main#main-content .odpust-preview-title {
  font-size: clamp(1rem, 1.5vw, 1.16rem) !important;
}

main#main-content .odpust-preview-sub {
  color: #2c4878 !important;
  font-size: .9rem !important;
}

main#main-content .odpust-more-link {
  color: #0b4aa2 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

@media (max-width: 980px) {
  main#main-content .today-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  main#main-content .poznaj-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  main#main-content .today-card-grid,
  main#main-content .poznaj-link-grid {
    grid-template-columns: 1fr !important;
  }

  main#main-content .poznaj-photo img {
    aspect-ratio: 16 / 11 !important;
  }
}

/* v6.5.16 - czytelne karty Mszy i odpustow */
main#main-content .section-msze .msze-times-list li,
body .section-msze .msze-times-list li {
  display: block !important;
  grid-template-columns: none !important;
  line-height: 1.45 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  padding: .48rem 0 .48rem 1.05rem !important;
  position: relative !important;
  white-space: normal !important;
  word-break: normal !important;
}

main#main-content .section-msze .msze-times-list li::before,
body .section-msze .msze-times-list li::before {
  background: #c9970a !important;
  border-radius: 999px !important;
  content: "" !important;
  height: .42rem !important;
  left: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  top: .98rem !important;
  width: .42rem !important;
}

main#main-content .section-msze .msze-times-list li.time-gold::before,
body .section-msze .msze-times-list li.time-gold::before {
  background: #0d2b5e !important;
}

main#main-content .section-msze .msze-times-list li strong,
body .section-msze .msze-times-list li strong {
  display: inline !important;
  white-space: nowrap !important;
}

main#main-content .section-msze .msze-special .msze-times-list li,
body .section-msze .msze-special .msze-times-list li {
  font-size: .9rem !important;
}

main#main-content .odpust-preview-title,
main#main-content .odpust-preview-sub,
main#main-content .odpust-more-link,
main#main-content .odpust-section h2,
main#main-content .odpust-badge,
main#main-content .odpust-badge * {
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

main#main-content .odpust-preview-sub {
  background: #fff8df !important;
  border: 1px solid rgba(201, 151, 10, .36) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  color: #0d2b5e !important;
  display: block !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: .35rem 0 .9rem !important;
  padding: .62rem .75rem !important;
}

main#main-content .odpust-top-row {
  align-items: start !important;
  display: grid !important;
  gap: 1.1rem !important;
  grid-template-columns: minmax(142px, auto) minmax(0, 1fr) !important;
}

main#main-content .odpust-top-row > .wp-block-column,
main#main-content .odpust-badge-col {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

main#main-content .odpust-badge {
  align-items: center !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 18px rgba(8, 41, 92, .13) !important;
  display: grid !important;
  justify-content: center !important;
  max-width: 172px !important;
  min-height: 88px !important;
  min-width: 142px !important;
  padding: .75rem .9rem !important;
  text-align: center !important;
}

main#main-content .odpust-gold .odpust-badge {
  background: #a87900 !important;
}

main#main-content .odpust-blue .odpust-badge {
  background: #245f97 !important;
}

main#main-content .odpust-purple .odpust-badge {
  background: #7b317d !important;
}

main#main-content .odpust-badge p,
main#main-content .odpust-badge span,
main#main-content .odpust-badge strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  display: block !important;
  line-height: 1.18 !important;
  margin: 0 !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
}

main#main-content .odpust-badge p:first-child {
  font-size: .66rem !important;
  letter-spacing: .06em !important;
}

main#main-content .odpust-badge p:last-child {
  font-size: clamp(1.15rem, 2.8vw, 1.85rem) !important;
  font-weight: 850 !important;
}

main#main-content .odpust-section h2 {
  line-height: 1.16 !important;
  max-width: 100% !important;
}

@media (max-width: 700px) {
  main#main-content .odpust-section {
    border-left-width: 4px !important;
    border-radius: 8px !important;
    padding: 1.1rem !important;
  }

  main#main-content .odpust-top-row {
    grid-template-columns: 1fr !important;
  }

  main#main-content .odpust-badge {
    max-width: none !important;
    min-height: auto !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  main#main-content .odpust-badge p:last-child {
    font-size: clamp(1.2rem, 7vw, 1.8rem) !important;
  }
}

/* v6.5.20 - karty dokumentow PDF/Word, intencje zgodne z zalacznikiem, ogloszenia fallback i Mszalik */
main#main-content .novena-intentions-layout {
  align-items: start !important;
  gap: clamp(1.2rem, 3vw, 2rem) !important;
  margin-top: clamp(1.4rem, 3vw, 2rem) !important;
}

main#main-content .novena-intention-form {
  box-shadow: 0 18px 44px rgba(13, 43, 94, .1) !important;
}

main#main-content .novena-intentions-note {
  background: #f7f9fc !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  padding: clamp(1.1rem, 2.5vw, 1.45rem) !important;
}

main#main-content .novena-intentions-note h3 {
  color: #0d2b5e !important;
  font-size: clamp(1.15rem, 2.4vw, 1.35rem) !important;
  margin-top: 0 !important;
}

main#main-content .novena-intentions-list {
  display: grid !important;
  gap: .7rem !important;
  margin: 1rem 0 0 !important;
  padding-left: 1.1rem !important;
}

main#main-content .novena-intentions-list li {
  color: #314765 !important;
  line-height: 1.55 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

main#main-content .form-msg {
  display: none;
  font-size: .9rem;
  margin-top: .85rem;
}

main#main-content .home-ogloszenia-fallback-card {
  background: #fff !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(13, 43, 94, .08) !important;
  padding: clamp(1.1rem, 2.6vw, 1.5rem) !important;
}

main#main-content .home-ogloszenia-fallback-card h3 {
  color: #0d2b5e !important;
  font-size: clamp(1.15rem, 2.5vw, 1.45rem) !important;
  margin: .35rem 0 .55rem !important;
}

main#main-content .home-ogloszenia-fallback-card p {
  color: #42536b !important;
  line-height: 1.65 !important;
}

main#main-content .home-ogloszenia-fallback-card a {
  color: #0d2b5e !important;
  font-weight: 800 !important;
}

main#main-content .publication-doc-card,
main#main-content .home-doc-card {
  align-items: center !important;
  background: linear-gradient(135deg, #fffdf7, #f7fbff) !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(13, 43, 94, .08) !important;
  color: #0d2b5e !important;
  display: grid !important;
  gap: .9rem !important;
  grid-template-columns: 82px minmax(0, 1fr) auto !important;
  margin: 1rem 0 !important;
  padding: .85rem 1rem !important;
  text-decoration: none !important;
}

main#main-content .publication-doc-card--compact {
  box-shadow: none !important;
  gap: .65rem !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  margin: 0 !important;
  min-width: min(100%, 260px) !important;
  padding: .55rem .7rem !important;
}

main#main-content .publication-doc-preview,
main#main-content .home-doc-preview {
  align-items: center !important;
  aspect-ratio: 3 / 4 !important;
  background: #fff !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-radius: 6px !important;
  display: flex !important;
  justify-content: center !important;
  overflow: hidden !important;
  width: 72px !important;
}

main#main-content .publication-doc-card--compact .publication-doc-preview {
  width: 42px !important;
}

main#main-content .publication-doc-thumb-img,
main#main-content .home-doc-preview img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

main#main-content .publication-doc-placeholder,
main#main-content .home-doc-preview-icon {
  color: #c9970a !important;
  display: grid !important;
  gap: .25rem !important;
  justify-items: center !important;
  text-align: center !important;
}

main#main-content .publication-doc-placeholder i,
main#main-content .home-doc-preview-icon i {
  font-size: 1.55rem !important;
}

main#main-content .publication-doc-placeholder strong,
main#main-content .home-doc-preview-icon strong {
  color: #0d2b5e !important;
  font-family: var(--sans) !important;
  font-size: .7rem !important;
  letter-spacing: .08em !important;
}

main#main-content .publication-doc-info,
main#main-content .home-doc-info {
  display: grid !important;
  gap: .2rem !important;
  min-width: 0 !important;
}

main#main-content .publication-doc-kicker,
main#main-content .home-doc-info span {
  color: #8a6500 !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

main#main-content .publication-doc-info strong,
main#main-content .home-doc-info strong {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: clamp(.95rem, 2vw, 1.15rem) !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

main#main-content .publication-doc-card--compact .publication-doc-info strong {
  font-family: var(--sans) !important;
  font-size: .86rem !important;
}

main#main-content .publication-doc-info em,
main#main-content .home-doc-info em {
  color: #415572 !important;
  font-size: .84rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

main#main-content .publication-doc-action,
main#main-content .home-doc-download {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  height: 2.35rem !important;
  justify-content: center !important;
  width: 2.35rem !important;
}

main#main-content .publication-doc-card:hover,
main#main-content .home-doc-card:hover {
  border-color: rgba(201, 151, 10, .55) !important;
  box-shadow: 0 16px 34px rgba(13, 43, 94, .12) !important;
  transform: translateY(-1px);
}

main#main-content .wp-block-file {
  align-items: center !important;
  background: linear-gradient(135deg, #fffdf7, #f7fbff) !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
  border-left: 4px solid #c9970a !important;
  border-radius: 8px !important;
  display: grid !important;
  gap: .9rem !important;
  grid-template-columns: 78px minmax(0, 1fr) auto !important;
  margin: 1.1rem 0 !important;
  padding: .9rem 1rem !important;
}

main#main-content .wp-block-file::before {
  align-items: center !important;
  aspect-ratio: 3 / 4 !important;
  background: #fff !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-radius: 6px !important;
  color: #c9970a !important;
  content: "PDF / Word" !important;
  display: flex !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  justify-content: center !important;
  text-align: center !important;
  text-transform: uppercase !important;
  width: 68px !important;
}

main#main-content .wp-block-file > a:not(.wp-block-file__button) {
  color: #0d2b5e !important;
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  text-decoration: none !important;
}

main#main-content .wp-block-file .wp-block-file__button {
  background: #0d2b5e !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: .55rem .95rem !important;
  white-space: nowrap !important;
}

@media (max-width: 780px) {
  main#main-content .novena-intentions-layout {
    grid-template-columns: 1fr !important;
  }

  main#main-content .publication-doc-card,
  main#main-content .home-doc-card,
  main#main-content .wp-block-file {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  main#main-content .publication-doc-preview,
  main#main-content .home-doc-preview,
  main#main-content .wp-block-file::before {
    width: 52px !important;
  }

  main#main-content .publication-doc-action,
  main#main-content .home-doc-download,
  main#main-content .wp-block-file .wp-block-file__button {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: .35rem !important;
  }
}

/* v6.5.36 - spokojniejszy rytm blokow bez ruszania powolan i kaplanow */
body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content {
  --sankt-block-gap: clamp(18px, 2.7vw, 32px);
  --sankt-card-pad: clamp(18px, 3vw, 30px);
  --sankt-readable: 78ch;
  box-sizing: border-box !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content > * {
  box-sizing: border-box !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content > * + * {
  margin-top: var(--sankt-block-gap) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(p, li, dd, figcaption) {
  max-width: var(--sankt-readable) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(h1, h2, h3, h4, h5, h6, summary, summary span, summary strong) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.18 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content a:not(.wp-block-button__link):not(.wp-element-button):not(.publication-doc-card):not(.home-doc-card) {
  overflow-wrap: anywhere !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-article, .fulltext-article, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .legacy-publication-archive, .mass-intentions-archive, .source-link-list, .weekly-intentions, .homily-panel, .sacrament-service-note, .pilgrim-program-panel) {
  max-width: min(100%, 1040px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--sankt-card-pad) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-article, .fulltext-article, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .legacy-publication-archive, .mass-intentions-archive, .source-link-list) :where(p, li, dd) {
  margin-left: 0 !important;
  margin-right: auto !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-article ul, .source-article ol, .fulltext-article ul, .fulltext-article ol, .source-link-list ul, .source-link-list ol) {
  columns: 1 !important;
  column-count: 1 !important;
  display: grid !important;
  gap: .62rem !important;
  max-width: var(--sankt-readable) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .wp-block-columns {
  align-items: stretch !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: clamp(18px, 3vw, 32px) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .wp-block-column {
  flex-grow: 1 !important;
  min-width: min(100%, 280px) !important;
  min-inline-size: min(100%, 280px) !important;
  overflow: visible !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide) {
  align-items: center !important;
  display: grid !important;
  gap: clamp(18px, 3vw, 30px) !important;
  grid-template-columns: minmax(min(100%, 280px), 360px) minmax(0, 1fr) !important;
  max-width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--sankt-card-pad) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide) > :not(figure) {
  min-width: 0 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide) figure {
  margin: 0 !important;
  min-width: 0 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide):not(.visual-obraz):not(.visual-sobota) img {
  aspect-ratio: 16 / 10 !important;
  border-radius: 8px !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: cover !important;
  width: 100% !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature h2, .source-feature h3, .source-feature .wp-block-heading, .source-article h2, .source-article h3, .fulltext-article h2, .fulltext-article h3) {
  max-width: 24ch !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature p, .source-feature li, .source-article p, .source-article li, .fulltext-article p, .fulltext-article li) {
  line-height: 1.68 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.dostep-grid, .news-grid, .msze-grid, .wspolnoty-grid, .pastoral-group-grid, .sacrament-doc-grid, .support-list, .today-card-grid, .poznaj-link-grid, .youtube-video-grid, .intentions-grid, .group-edit-grid) {
  display: grid !important;
  gap: clamp(16px, 2.4vw, 24px) !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.dostep-card, .news-card, .msze-card, .wspolnota-card, .odpust-card, .pastoral-group-card, .sacrament-info-card, .support-list article, .group-edit-card, .youtube-card, .today-card) {
  min-width: 0 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.pa-date, .publication-current-meta, .mass-intentions-date, .odpust-date, time) {
  color: #0d2b5e !important;
  display: inline-flex !important;
  max-width: 100% !important;
  white-space: normal !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .publication-archive-row {
  align-items: start !important;
  gap: .9rem !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .publication-archive-link {
  min-width: 0 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.publication-archive-link .pa-title, .publication-current-title, .publication-doc-info strong) {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 900px) {
  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .wp-block-column {
    min-width: 0 !important;
  }

  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide) {
    grid-template-columns: 1fr !important;
  }

  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature h2, .source-feature h3, .source-feature .wp-block-heading, .source-article h2, .source-article h3, .fulltext-article h2, .fulltext-article h3) {
    max-width: 100% !important;
  }
}

@media (max-width: 680px) {
  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-article, .fulltext-article, .current-week-publication, .auto-publication-panel, .auto-publication-archive, .legacy-publication-archive, .mass-intentions-archive, .source-link-list, .source-feature, .source-feature.fulltext-visual, .source-feature.visual-wide) {
    padding: clamp(15px, 5vw, 20px) !important;
  }

  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content .publication-archive-row {
    grid-template-columns: 1fr !important;
  }
}

/* v6.5.37 - ladniejszy baner liturgiczny i mocniejsza responsywnosc */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.wp-site-blocks,
main#main-content,
main#main-content .page-content {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

main#main-content img,
main#main-content video,
main#main-content iframe,
main#main-content embed,
main#main-content object {
  max-width: 100% !important;
}

main#main-content iframe {
  display: block !important;
}

main#main-content :where(.wp-block-image, .wp-block-video, .wp-block-embed, .wp-block-cover, .wp-block-media-text, .wp-block-gallery) {
  max-width: 100% !important;
}

main#main-content :where(.wp-block-table, table) {
  max-width: 100% !important;
  overflow-x: auto !important;
}

main#main-content :where(.wp-block-heading, h1, h2, h3, h4, h5, h6, p, li, figcaption, .wp-block-button__link) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.liturg-bar {
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(13, 43, 94, .12) !important;
  box-shadow: 0 10px 26px rgba(13, 43, 94, .08) !important;
}

.liturg-bar .container {
  box-sizing: border-box !important;
  width: min(100% - 32px, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-inner {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(.65rem, 1.35vw, 1rem) !important;
  grid-template-columns: minmax(84px, auto) minmax(82px, auto) minmax(260px, 1fr) minmax(224px, .72fr) minmax(220px, .76fr) !important;
  padding: .72rem 0 !important;
  width: 100% !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata,
.liturg-bar[data-liturg-rendered="1"] .liturg-date-block,
.liturg-bar[data-liturg-rendered="1"] .liturg-main,
.liturg-bar[data-liturg-rendered="1"] .liturg-masses,
.liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata,
.liturg-bar[data-liturg-rendered="1"] .liturg-date-block,
.liturg-bar[data-liturg-rendered="1"] .liturg-masses,
.liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
  align-content: center !important;
  background: rgba(255, 255, 255, .18) !important;
  border: 1px solid rgba(255, 255, 255, .32) !important;
  border-radius: 8px !important;
  min-height: 76px !important;
  padding: .68rem .78rem !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-szata {
  justify-content: center !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-date-block {
  text-align: center !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-main {
  align-self: center !important;
  padding: .14rem .12rem !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-main > div[style*="margin-top"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .46rem !important;
  margin-top: .52rem !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-period,
.liturg-bar[data-liturg-rendered="1"] .liturg-name,
.liturg-bar[data-liturg-rendered="1"] .liturg-extra,
.liturg-bar[data-liturg-rendered="1"] .liturg-psalterz,
.liturg-bar[data-liturg-rendered="1"] .liturg-ui-text,
.liturg-bar[data-liturg-rendered="1"] .liturg-main span,
.liturg-bar[data-liturg-rendered="1"] .liturg-main strong,
.liturg-bar[data-liturg-rendered="1"] .liturg-masses span,
.liturg-bar[data-liturg-rendered="1"] .liturg-jutro span {
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-period {
  font-size: clamp(.64rem, .72vw, .72rem) !important;
  line-height: 1.25 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-name {
  font-size: clamp(1rem, 1.05vw, 1.14rem) !important;
  line-height: 1.28 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-masses,
.liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
  border-left: 0 !important;
  display: grid !important;
  gap: .15rem !important;
  line-height: 1.42 !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-masses strong,
.liturg-bar[data-liturg-rendered="1"] .liturg-jutro strong {
  margin-bottom: .2rem !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-action {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  flex: 0 1 auto !important;
  gap: .38rem !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  min-height: 34px !important;
  padding: .42rem .75rem !important;
  text-align: center !important;
  white-space: normal !important;
}

.liturg-bar[data-liturg-rendered="1"] .liturg-action i {
  flex: 0 0 auto !important;
}

@media (max-width: 1180px) {
  .liturg-bar .container {
    width: min(100% - 28px, 1120px) !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-inner {
    grid-template-columns: minmax(78px, auto) minmax(78px, auto) minmax(0, 1fr) !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-masses {
    grid-column: 1 / 3 !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
    grid-column: 3 / 4 !important;
  }
}

@media (max-width: 900px) {
  .wp-site-blocks {
    width: 100% !important;
  }

  main#main-content :where(.wp-block-columns:not(.is-not-stacked-on-mobile), .wp-block-media-text) {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  main#main-content :where(.wp-block-column, .wp-block-media-text__content, .wp-block-media-text__media) {
    min-width: 0 !important;
  }

  main#main-content :where(.wp-block-cover, .hero, .hero-home, .home-hero, .page-hero, .sankt-hero) {
    min-height: clamp(360px, 62vw, 520px) !important;
  }

  main#main-content :where(.wp-block-cover h1, .hero h1, .hero-home h1, .home-hero h1, .page-hero h1, .sankt-hero h1) {
    font-size: clamp(2rem, 7vw, 3.25rem) !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 760px) {
  .liturg-bar {
    overflow: hidden !important;
  }

  .liturg-bar .container {
    width: min(100% - 22px, 720px) !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-inner {
    gap: .64rem !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    padding: .66rem 0 !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-szata {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    min-height: 70px !important;
    padding: .5rem .42rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-date-block {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 3 !important;
    min-height: 68px !important;
    padding: .5rem .42rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-main {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
    padding: .14rem 0 .14rem .1rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-masses,
  .liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
    grid-column: 1 / -1 !important;
    min-height: auto !important;
    padding: .72rem .82rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-main > div[style*="margin-top"] {
    gap: .4rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-action {
    flex: 1 1 138px !important;
    min-height: 40px !important;
    padding: .48rem .64rem !important;
  }

  main#main-content .page-content {
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
  }

  main#main-content :where(.dostep-grid, .news-grid, .msze-grid, .wspolnoty-grid, .pastoral-group-grid, .sacrament-doc-grid, .support-list, .today-card-grid, .poznaj-link-grid, .youtube-video-grid, .intentions-grid, .group-edit-grid, .gallery-grid, .wp-block-gallery) {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .liturg-bar .container {
    width: min(100% - 18px, 500px) !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-szata,
  .liturg-bar[data-liturg-rendered="1"] .liturg-date-block,
  .liturg-bar[data-liturg-rendered="1"] .liturg-main,
  .liturg-bar[data-liturg-rendered="1"] .liturg-masses,
  .liturg-bar[data-liturg-rendered="1"] .liturg-jutro {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-szata {
    flex-direction: row !important;
    min-height: auto !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-date-block {
    min-height: auto !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-main {
    padding: .2rem 0 !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-main > div[style*="margin-top"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-action {
    width: 100% !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-period {
    font-size: .64rem !important;
  }

  .liturg-bar[data-liturg-rendered="1"] .liturg-name {
    font-size: 1.02rem !important;
  }

  main#main-content .page-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  main#main-content :where(.wp-block-cover h1, .hero h1, .hero-home h1, .home-hero h1, .page-hero h1, .sankt-hero h1) {
    font-size: clamp(1.82rem, 10vw, 2.55rem) !important;
  }
}

/* v6.5.40 - targeted portrait fit for powolania and kaplani pages */
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) {
  align-items: stretch !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary {
  align-items: center !important;
  column-gap: 14px !important;
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  list-style: none !important;
  min-height: 164px !important;
  overflow: hidden !important;
  padding: 14px !important;
  row-gap: 5px !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary::marker {
  content: "" !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary::-webkit-details-marker {
  display: none !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img {
  align-self: center !important;
  aspect-ratio: auto !important;
  background: #eef4fc !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
  border-radius: 8px !important;
  grid-row: 1 / 3 !important;
  height: 148px !important;
  justify-self: start !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 118px !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img.source-person-placeholder,
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src*="person-placeholder"],
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src$="herb.gif"],
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src*="herb_duszp"] {
  object-fit: contain !important;
  padding: 12px !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-name {
  align-self: end !important;
  font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
  hyphens: manual !important;
  line-height: 1.2 !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-open {
  align-self: start !important;
  display: inline-flex !important;
  justify-self: start !important;
  max-width: 100% !important;
  white-space: normal !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-detail {
  overflow-wrap: anywhere !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-detail img {
  border-radius: 8px !important;
  display: block !important;
  float: none !important;
  height: auto !important;
  margin: 0 0 16px !important;
  max-height: 280px !important;
  max-width: min(220px, 100%) !important;
  object-fit: contain !important;
  width: auto !important;
}

@media (max-width: 700px) {
  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) {
    grid-template-columns: 1fr !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    min-height: 122px !important;
    padding: 12px !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img {
    height: 110px !important;
    width: 88px !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-name {
    font-size: clamp(.95rem, 4vw, 1.06rem) !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card[open] .source-person-detail {
    columns: 1 !important;
    max-height: none !important;
  }
}

@media (max-width: 420px) {
  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary {
    column-gap: 11px !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    min-height: 108px !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img {
    height: 94px !important;
    width: 74px !important;
  }

  :where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .source-person-open {
    font-size: .78rem !important;
  }
}

/* v6.5.41 - visible full portraits and gallery thumbnails */
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img {
  background: #f4f8fd !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
}

:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img.source-person-placeholder,
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src*="person-placeholder"],
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src$="herb.gif"],
:where(.fulltext-powolania-z-parafii, .fulltext-kaplani-w-historii-parafii) .fulltext-person-card summary > img[src*="herb_duszp"] {
  padding: 12px !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .wp-block-gallery) {
  align-items: stretch !important;
}

main#main-content :where(.archive-gallery-grid figure, .official-gallery-grid figure, .album-photo-grid figure, .editable-gallery-grid figure, figure.editable-gallery-image, .wp-block-gallery figure) {
  background: #f4f8fd !important;
  min-height: 170px !important;
}

main#main-content :where(.archive-gallery-grid figure img, .official-gallery-grid figure img, .album-photo-grid figure img, .editable-gallery-grid figure img, figure.editable-gallery-image img, .wp-block-gallery figure img) {
  aspect-ratio: 4 / 3 !important;
  background: #eef6ff !important;
  display: block !important;
  height: clamp(160px, 22vw, 240px) !important;
  opacity: 1 !important;
  object-fit: contain !important;
  position: relative !important;
  visibility: visible !important;
  width: 100% !important;
  z-index: 1 !important;
}

main#main-content .archive-gallery-grid figure::after,
main#main-content .official-gallery-grid figure::after,
main#main-content .album-photo-grid figure::after,
main#main-content .editable-gallery-grid figure::after,
main#main-content figure.editable-gallery-image::after,
main#main-content .wp-block-gallery figure::after {
  background: linear-gradient(180deg, rgba(7, 22, 40, 0), rgba(7, 22, 40, .06)) !important;
  opacity: .18 !important;
}

main#main-content :where(.gallery-album-card .wp-block-post-featured-image, .gallery-album-card .wp-block-post-featured-image a) {
  background: #f4f8fd !important;
  display: block !important;
  min-height: 170px !important;
}

main#main-content .gallery-album-card .wp-block-post-featured-image img {
  display: block !important;
  height: 210px !important;
  opacity: 1 !important;
  object-fit: contain !important;
  visibility: visible !important;
  width: 100% !important;
}

main#main-content .publication-admin-import {
  align-items: center !important;
  background: #eef6ff !important;
  border: 1px solid #b8d0ea !important;
  border-radius: 8px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  margin: 0 0 18px !important;
  padding: 12px 14px !important;
}

main#main-content .publication-import-button {
  align-items: center !important;
  background: #0d2b5e !important;
  border-radius: 6px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 800 !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
}

main#main-content .publication-admin-import small {
  color: #28486f !important;
  font-size: .9rem !important;
}

/* v6.5.43 - stronger final fit for person images on vocation and historic clergy pages */
body .fulltext-powolania-z-parafii.fulltext-person-grid,
body .fulltext-kaplani-w-historii-parafii.fulltext-person-grid {
  align-items: stretch !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
}

body .fulltext-powolania-z-parafii .fulltext-person-card summary,
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary {
  align-items: center !important;
  column-gap: 16px !important;
  display: grid !important;
  grid-template-columns: 138px minmax(0, 1fr) !important;
  min-height: 184px !important;
  padding: 14px !important;
}

body .fulltext-powolania-z-parafii .fulltext-person-card summary > img,
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img {
  align-self: center !important;
  aspect-ratio: auto !important;
  background: linear-gradient(180deg, #fbfdff 0%, #eef4fc 100%) !important;
  border: 1px solid rgba(13, 43, 94, .16) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  display: block !important;
  grid-row: 1 / 3 !important;
  height: 156px !important;
  max-height: 156px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  width: 138px !important;
}

body .fulltext-powolania-z-parafii .fulltext-person-card summary > img.source-person-placeholder,
body .fulltext-powolania-z-parafii .fulltext-person-card summary > img[src*="person-placeholder"],
body .fulltext-powolania-z-parafii .fulltext-person-card summary > img[src$="herb.gif"],
body .fulltext-powolania-z-parafii .fulltext-person-card summary > img[src*="herb_duszp"],
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img.source-person-placeholder,
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img[src*="person-placeholder"],
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img[src$="herb.gif"],
body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img[src*="herb_duszp"] {
  padding: 14px !important;
}

body .fulltext-powolania-z-parafii .source-person-name,
body .fulltext-kaplani-w-historii-parafii .source-person-name {
  min-width: 0 !important;
  overflow-wrap: normal !important;
  padding: 0 !important;
  word-break: normal !important;
}

body .fulltext-powolania-z-parafii .source-person-open,
body .fulltext-kaplani-w-historii-parafii .source-person-open {
  padding: 0 !important;
}

body .fulltext-powolania-z-parafii .source-person-detail img,
body .fulltext-kaplani-w-historii-parafii .source-person-detail img {
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  width: min(100%, 720px) !important;
}

@media (max-width: 700px) {
  body .fulltext-powolania-z-parafii .fulltext-person-card summary,
  body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary {
    column-gap: 13px !important;
    grid-template-columns: 102px minmax(0, 1fr) !important;
    min-height: 138px !important;
    padding: 12px !important;
  }

  body .fulltext-powolania-z-parafii .fulltext-person-card summary > img,
  body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img {
    height: 118px !important;
    width: 102px !important;
  }
}

@media (max-width: 420px) {
  body .fulltext-powolania-z-parafii .fulltext-person-card summary,
  body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary {
    column-gap: 11px !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    min-height: 112px !important;
    padding: 10px !important;
  }

  body .fulltext-powolania-z-parafii .fulltext-person-card summary > img,
  body .fulltext-kaplani-w-historii-parafii .fulltext-person-card summary > img {
    height: 96px !important;
    padding: 6px !important;
    width: 82px !important;
  }
}

/* v6.5.44 - gallery thumbnails visible and fitted on archive, album and block galleries */
body #main-content .archive-gallery-grid,
body #main-content .official-gallery-grid,
body #main-content .album-photo-grid,
body #main-content .editable-gallery-grid,
body #main-content .wp-block-gallery,
body .page-content .archive-gallery-grid,
body .page-content .official-gallery-grid,
body .page-content .album-photo-grid,
body .page-content .editable-gallery-grid,
body .page-content .wp-block-gallery {
  align-items: stretch !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
}

body #main-content .archive-gallery-grid figure,
body #main-content .official-gallery-grid figure,
body #main-content .album-photo-grid figure,
body #main-content .editable-gallery-grid figure,
body #main-content figure.editable-gallery-image,
body #main-content .wp-block-gallery figure,
body .page-content .archive-gallery-grid figure,
body .page-content .official-gallery-grid figure,
body .page-content .album-photo-grid figure,
body .page-content .editable-gallery-grid figure,
body .page-content figure.editable-gallery-image,
body .page-content .wp-block-gallery figure {
  background: #f8fbff !important;
  border: 1px solid rgba(13, 43, 94, .16) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(13, 43, 94, .08) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  isolation: isolate !important;
  margin: 0 !important;
  min-height: 178px !important;
  overflow: hidden !important;
  padding: 8px !important;
  position: relative !important;
}

body #main-content .archive-gallery-grid figure > a,
body #main-content .official-gallery-grid figure > a,
body #main-content .album-photo-grid figure > a,
body #main-content .editable-gallery-grid figure > a,
body #main-content .wp-block-gallery figure > a,
body .page-content .archive-gallery-grid figure > a,
body .page-content .official-gallery-grid figure > a,
body .page-content .album-photo-grid figure > a,
body .page-content .editable-gallery-grid figure > a,
body .page-content .wp-block-gallery figure > a {
  display: block !important;
  line-height: 0 !important;
  width: 100% !important;
}

body #main-content .archive-gallery-grid figure img,
body #main-content .official-gallery-grid figure img,
body #main-content .album-photo-grid figure img,
body #main-content .editable-gallery-grid figure img,
body #main-content figure.editable-gallery-image img,
body #main-content .wp-block-gallery figure img,
body .page-content .archive-gallery-grid figure img,
body .page-content .official-gallery-grid figure img,
body .page-content .album-photo-grid figure img,
body .page-content .editable-gallery-grid figure img,
body .page-content figure.editable-gallery-image img,
body .page-content .wp-block-gallery figure img {
  aspect-ratio: 4 / 3 !important;
  background: #eef6ff !important;
  border-radius: 6px !important;
  display: block !important;
  filter: none !important;
  height: clamp(170px, 22vw, 240px) !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  padding: 0 !important;
  position: relative !important;
  transform: none !important;
  visibility: visible !important;
  width: 100% !important;
  z-index: 1 !important;
}

body #main-content .archive-gallery-grid figure::before,
body #main-content .official-gallery-grid figure::before,
body #main-content .album-photo-grid figure::before,
body #main-content .editable-gallery-grid figure::before,
body #main-content figure.editable-gallery-image::before,
body #main-content .wp-block-gallery figure::before,
body .page-content .archive-gallery-grid figure::before,
body .page-content .official-gallery-grid figure::before,
body .page-content .album-photo-grid figure::before,
body .page-content .editable-gallery-grid figure::before,
body .page-content figure.editable-gallery-image::before,
body .page-content .wp-block-gallery figure::before {
  background: #fff url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%230d2b5e' stroke-width='2.4'/%3E%3Cpath d='M16 16l6 6' stroke='%230d2b5e' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M11 7v8M7 11h8' stroke='%23a87c00' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important;
  border: 2px solid rgba(201, 151, 10, .95) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(7, 22, 40, .24) !important;
  content: "" !important;
  height: 44px !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 14px !important;
  top: 14px !important;
  width: 44px !important;
  z-index: 5 !important;
}

body #main-content .archive-gallery-grid figure::after,
body #main-content .official-gallery-grid figure::after,
body #main-content .album-photo-grid figure::after,
body #main-content .editable-gallery-grid figure::after,
body #main-content figure.editable-gallery-image::after,
body #main-content .wp-block-gallery figure::after,
body .page-content .archive-gallery-grid figure::after,
body .page-content .official-gallery-grid figure::after,
body .page-content .album-photo-grid figure::after,
body .page-content .editable-gallery-grid figure::after,
body .page-content figure.editable-gallery-image::after,
body .page-content .wp-block-gallery figure::after {
  background: linear-gradient(180deg, rgba(7, 22, 40, 0), rgba(7, 22, 40, .05)) !important;
  content: "" !important;
  inset: 8px 8px auto 8px !important;
  height: clamp(170px, 22vw, 240px) !important;
  opacity: .22 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

body #main-content .gallery-album-card,
body .page-content .gallery-album-card {
  background: #fff !important;
  border: 1px solid rgba(13, 43, 94, .16) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
}

body #main-content .gallery-album-card .wp-block-post-featured-image,
body #main-content .gallery-album-card .wp-block-post-featured-image a,
body .page-content .gallery-album-card .wp-block-post-featured-image,
body .page-content .gallery-album-card .wp-block-post-featured-image a {
  background: #f4f8fd !important;
  display: block !important;
  line-height: 0 !important;
  margin: 0 !important;
  min-height: 190px !important;
  overflow: hidden !important;
  width: 100% !important;
}

body #main-content .gallery-album-card .wp-block-post-featured-image img,
body .page-content .gallery-album-card .wp-block-post-featured-image img {
  aspect-ratio: 4 / 3 !important;
  background: #eef6ff !important;
  display: block !important;
  height: 220px !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
}

body #main-content .archive-gallery-grid figcaption,
body #main-content .official-gallery-grid figcaption,
body #main-content .album-photo-grid figcaption,
body #main-content .editable-gallery-grid figcaption,
body #main-content .wp-block-gallery figcaption,
body .page-content .archive-gallery-grid figcaption,
body .page-content .official-gallery-grid figcaption,
body .page-content .album-photo-grid figcaption,
body .page-content .editable-gallery-grid figcaption,
body .page-content .wp-block-gallery figcaption {
  background: #fff !important;
  color: #08295c !important;
  font-size: .92rem !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
  padding: 10px 8px 2px !important;
  position: relative !important;
  text-shadow: none !important;
  z-index: 6 !important;
}

@media (max-width: 700px) {
  body #main-content .archive-gallery-grid,
  body #main-content .official-gallery-grid,
  body #main-content .album-photo-grid,
  body #main-content .editable-gallery-grid,
  body #main-content .wp-block-gallery,
  body .page-content .archive-gallery-grid,
  body .page-content .official-gallery-grid,
  body .page-content .album-photo-grid,
  body .page-content .editable-gallery-grid,
  body .page-content .wp-block-gallery {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)) !important;
  }

  body #main-content .archive-gallery-grid figure img,
  body #main-content .official-gallery-grid figure img,
  body #main-content .album-photo-grid figure img,
  body #main-content .editable-gallery-grid figure img,
  body #main-content .wp-block-gallery figure img,
  body .page-content .archive-gallery-grid figure img,
  body .page-content .official-gallery-grid figure img,
  body .page-content .album-photo-grid figure img,
  body .page-content .editable-gallery-grid figure img,
  body .page-content .wp-block-gallery figure img,
  body #main-content .gallery-album-card .wp-block-post-featured-image img,
  body .page-content .gallery-album-card .wp-block-post-featured-image img {
    height: 170px !important;
  }
}

/* v6.5.45 - compact imported person blocks and always-visible gallery zoom icons */
body #main-content .fulltext-powolania-z-parafii.fulltext-person-grid,
body #main-content .fulltext-kaplani-w-historii-parafii.fulltext-person-grid,
body .page-content .fulltext-powolania-z-parafii.fulltext-person-grid,
body .page-content .fulltext-kaplani-w-historii-parafii.fulltext-person-grid {
  align-items: stretch !important;
  gap: 14px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card,
body .page-content .fulltext-powolania-z-parafii .editable-person-card,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(13, 43, 94, .15) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 18px rgba(13, 43, 94, .07) !important;
  display: grid !important;
  gap: 7px 12px !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  min-height: 112px !important;
  overflow: hidden !important;
  padding: 10px !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-photo,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-photo,
body .page-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-photo,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-photo {
  align-self: center !important;
  background: #f4f8fd !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  height: 94px !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 4px !important;
  width: 76px !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-photo img,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-photo img,
body .page-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-photo img,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-photo img {
  aspect-ratio: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  display: block !important;
  height: 84px !important;
  max-height: 84px !important;
  max-width: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
  width: 66px !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-name,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-name,
body .page-content .fulltext-powolania-z-parafii .editable-person-card > .source-person-name,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card > .source-person-name {
  align-self: end !important;
  color: #0d2b5e !important;
  font-size: clamp(.92rem, 1vw, 1.02rem) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  padding: 0 !important;
  word-break: normal !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle,
body .page-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle {
  align-self: start !important;
  grid-column: 2 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle summary,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle summary,
body .page-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle summary,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle summary {
  color: #7a5900 !important;
  font-size: .76rem !important;
  line-height: 1.25 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle[open],
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle[open],
body .page-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail-toggle[open],
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail-toggle[open] {
  grid-column: 1 / -1 !important;
}

body #main-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail,
body #main-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail,
body .page-content .fulltext-powolania-z-parafii .editable-person-card .source-person-detail,
body .page-content .fulltext-kaplani-w-historii-parafii .editable-person-card .source-person-detail {
  margin-top: 10px !important;
  max-height: min(60vh, 520px) !important;
  padding: 14px !important;
}

body #main-content .fulltext-powolania-z-parafii details.fulltext-person-card summary,
body #main-content .fulltext-kaplani-w-historii-parafii details.fulltext-person-card summary,
body .page-content .fulltext-powolania-z-parafii details.fulltext-person-card summary,
body .page-content .fulltext-kaplani-w-historii-parafii details.fulltext-person-card summary {
  column-gap: 11px !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  min-height: 112px !important;
  padding: 10px !important;
}

body #main-content .fulltext-powolania-z-parafii details.fulltext-person-card summary > img,
body #main-content .fulltext-kaplani-w-historii-parafii details.fulltext-person-card summary > img,
body .page-content .fulltext-powolania-z-parafii details.fulltext-person-card summary > img,
body .page-content .fulltext-kaplani-w-historii-parafii details.fulltext-person-card summary > img {
  height: 92px !important;
  max-height: 92px !important;
  object-fit: contain !important;
  padding: 4px !important;
  width: 76px !important;
}

body #main-content .archive-gallery-grid figure,
body #main-content .official-gallery-grid figure,
body #main-content .album-photo-grid figure,
body #main-content .editable-gallery-grid figure,
body #main-content figure.editable-gallery-image,
body #main-content .wp-block-gallery figure,
body #main-content .gallery-album-card,
body #main-content .gallery-album-card .wp-block-post-featured-image,
body .page-content .archive-gallery-grid figure,
body .page-content .official-gallery-grid figure,
body .page-content .album-photo-grid figure,
body .page-content .editable-gallery-grid figure,
body .page-content figure.editable-gallery-image,
body .page-content .wp-block-gallery figure,
body .page-content .gallery-album-card,
body .page-content .gallery-album-card .wp-block-post-featured-image {
  isolation: isolate !important;
  overflow: hidden !important;
  position: relative !important;
}

body #main-content .archive-gallery-grid figure::before,
body #main-content .official-gallery-grid figure::before,
body #main-content .album-photo-grid figure::before,
body #main-content .editable-gallery-grid figure::before,
body #main-content figure.editable-gallery-image::before,
body #main-content .wp-block-gallery figure::before,
body #main-content .gallery-album-card::before,
body #main-content .gallery-album-card .wp-block-post-featured-image::before,
body .page-content .archive-gallery-grid figure::before,
body .page-content .official-gallery-grid figure::before,
body .page-content .album-photo-grid figure::before,
body .page-content .editable-gallery-grid figure::before,
body .page-content figure.editable-gallery-image::before,
body .page-content .wp-block-gallery figure::before,
body .page-content .gallery-album-card::before,
body .page-content .gallery-album-card .wp-block-post-featured-image::before {
  background: #0d2b5e url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23ffffff' stroke-width='2.4'/%3E%3Cpath d='M16 16l6 6' stroke='%23ffffff' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M11 7v8M7 11h8' stroke='%23f2c14e' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important;
  border: 2px solid #f2c14e !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .92), 0 10px 22px rgba(7, 22, 40, .32) !important;
  content: "" !important;
  display: block !important;
  height: 42px !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  transform: none !important;
  visibility: visible !important;
  width: 42px !important;
  z-index: 50 !important;
}

main#main-content .external-source-links {
  border-left: 4px solid #c9970a !important;
}

/* v6.5.48 - FTP gallery highlights and safer person photo fitting */
main#main-content .ftp-gallery-highlights {
  background: #fffaf1;
  border: 1px solid rgba(197, 149, 25, .34);
  border-radius: 8px;
  margin: clamp(24px, 4vw, 44px) auto;
  max-width: 1180px;
  padding: clamp(18px, 3vw, 30px);
}

main#main-content .ftp-gallery-highlights > h2 {
  color: #08295c;
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
  line-height: 1.16;
  margin: 0 0 8px;
}

main#main-content .ftp-gallery-highlights > p {
  color: #385174;
  margin: 0 0 18px;
  max-width: 780px;
}

main#main-content .ftp-gallery-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

main#main-content .ftp-gallery-grid .wp-block-image,
main#main-content .ftp-gallery-grid figure {
  background: #f7f0e5;
  border: 1px solid rgba(8, 41, 92, .12);
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}

main#main-content .ftp-gallery-grid img {
  aspect-ratio: 4 / 3;
  background: #f7f0e5;
  display: block;
  height: auto;
  max-height: 320px;
  object-fit: contain !important;
  width: 100%;
}

main#main-content .ftp-gallery-grid figcaption {
  background: #fff;
  color: #17365f;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.35;
  margin: 0;
  padding: 10px 12px;
  text-align: left;
}

body #main-content .source-person-grid,
body .page-content .source-person-grid {
  align-items: stretch;
  display: grid !important;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body #main-content .source-person-card,
body .page-content .source-person-card,
body #main-content .editable-person-card,
body .page-content .editable-person-card {
  min-width: 0;
}

body #main-content .source-person-card summary img,
body .page-content .source-person-card summary img,
body #main-content .editable-person-card > .source-person-photo img,
body .page-content .editable-person-card > .source-person-photo img {
  aspect-ratio: 4 / 5 !important;
  background: #f7f0e5 !important;
  height: auto !important;
  max-height: 260px !important;
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
}

@media (max-width: 760px) {
  main#main-content .ftp-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  main#main-content .ftp-gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* v6.5.51 - FTP visuals, visible expanded gallery thumbnails and WCAG button contrast */
:root {
  --gold-rich: #8a6400;
  --gold-border: #8a6400;
}

body .btn-gold,
body .btn-gold:hover,
body .wp-block-button.btn-gold .wp-block-button__link,
body .wp-block-button.btn-gold .wp-block-button__link:hover,
body .form-submit,
body .sbtn {
  background: #8a6400 !important;
  border-color: #8a6400 !important;
  color: #fff !important;
}

body .btn-primary,
body .btn-primary:hover,
body .wp-block-button.btn-primary .wp-block-button__link,
body .wp-block-button.btn-primary .wp-block-button__link:hover,
body .btn-pri,
body .cho-btn,
body .legacy-link-button .wp-block-button__link {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #fff !important;
}

body .btn-outline,
body .btn-out,
body .wp-block-button.btn-outline .wp-block-button__link {
  background: #fff !important;
  border-color: #0d2b5e !important;
  color: #0d2b5e !important;
}

body .btn-outline:hover,
body .btn-out:hover,
body .wp-block-button.btn-outline .wp-block-button__link:hover {
  background: #d6e6f8 !important;
  color: #071a3a !important;
}

main#main-content .source-feature.fulltext-visual figure {
  background: #f7fbff !important;
  border: 1px solid rgba(13, 43, 94, .14) !important;
}

main#main-content .source-feature.fulltext-visual img {
  background: #f7fbff !important;
  object-fit: cover !important;
  object-position: center center !important;
}

main#main-content .source-feature.fulltext-visual.visual-obraz img,
main#main-content .source-feature.fulltext-visual.visual-sobota img,
main#main-content .source-feature.fulltext-visual.visual-kaplani img,
main#main-content .source-feature.fulltext-visual.visual-powolania img,
main#main-content .source-feature.fulltext-visual.visual-homilia img {
  object-fit: contain !important;
}

main#main-content .source-feature.fulltext-visual.visual-piesni img,
main#main-content .source-feature.fulltext-visual.visual-msze img,
main#main-content .source-feature.fulltext-visual.visual-intencje img,
main#main-content .source-feature.fulltext-visual.visual-sakramenty img {
  object-fit: cover !important;
}

body #main-content .archive-gallery-category[open] .archive-gallery-grid,
body .page-content .archive-gallery-category[open] .archive-gallery-grid {
  display: grid !important;
  visibility: visible !important;
}

body #main-content .archive-gallery-grid,
body .page-content .archive-gallery-grid {
  background: linear-gradient(180deg, #fff, #f7fbff) !important;
  gap: 16px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 18px !important;
}

body #main-content .archive-gallery-grid figure,
body #main-content .official-gallery-grid figure,
body #main-content figure.editable-gallery-image,
body .page-content .archive-gallery-grid figure,
body .page-content .official-gallery-grid figure,
body .page-content figure.editable-gallery-image {
  background: #ffffff !important;
  min-height: 236px !important;
  padding: 9px !important;
}

body #main-content .archive-gallery-grid figure img,
body #main-content .official-gallery-grid figure img,
body #main-content .album-photo-grid figure img,
body #main-content .editable-gallery-grid figure img,
body #main-content figure.editable-gallery-image img,
body .page-content .archive-gallery-grid figure img,
body .page-content .official-gallery-grid figure img,
body .page-content .album-photo-grid figure img,
body .page-content .editable-gallery-grid figure img,
body .page-content figure.editable-gallery-image img {
  background: #eef4fc !important;
  height: clamp(178px, 20vw, 238px) !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body #main-content .archive-gallery-grid figcaption,
body #main-content .official-gallery-grid figcaption,
body .page-content .archive-gallery-grid figcaption,
body .page-content .official-gallery-grid figcaption {
  min-height: 2.4em !important;
  white-space: normal !important;
}

body #main-content .archive-gallery-grid figure.sanktuarium-image-missing img,
body #main-content .official-gallery-grid figure.sanktuarium-image-missing img,
body .page-content .archive-gallery-grid figure.sanktuarium-image-missing img,
body .page-content .official-gallery-grid figure.sanktuarium-image-missing img {
  min-height: 180px !important;
}

body #main-content .archive-gallery-grid figure.sanktuarium-image-missing::after,
body #main-content .official-gallery-grid figure.sanktuarium-image-missing::after,
body .page-content .archive-gallery-grid figure.sanktuarium-image-missing::after,
body .page-content .official-gallery-grid figure.sanktuarium-image-missing::after {
  align-items: center !important;
  background: #eef4fc !important;
  color: #0d2b5e !important;
  content: "Brak miniatury" !important;
  display: flex !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  inset: 9px 9px auto 9px !important;
  justify-content: center !important;
  min-height: 178px !important;
  opacity: 1 !important;
  position: absolute !important;
  z-index: 3 !important;
}

@media (min-width: 900px) {
  body #main-content .ftp-gallery-grid figure:first-child,
  body .page-content .ftp-gallery-grid figure:first-child {
    grid-column: span 2 !important;
  }
}

/* v6.5.52 - live FTP images, calm blocks and visible gallery thumbnails */
body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature.fulltext-visual, .source-feature.visual-wide, .source-feature) {
  display: grid !important;
  grid-template-columns: minmax(230px, .95fr) minmax(280px, 1.05fr) !important;
  gap: clamp(16px, 2.4vw, 30px) !important;
  align-items: center !important;
  overflow: hidden !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature.fulltext-visual, .source-feature.visual-wide, .source-feature) figure {
  width: 100% !important;
  min-height: clamp(220px, 28vw, 360px) !important;
  max-height: 380px !important;
  aspect-ratio: 16 / 10 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(8px, 1.5vw, 14px) !important;
  border-radius: 8px !important;
  background: #f7f1e6 !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature.fulltext-visual, .source-feature.visual-wide, .source-feature) figure img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 350px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 6px !important;
  background: transparent !important;
}

body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature.fulltext-visual, .source-feature.visual-wide, .source-feature) > :not(figure) {
  min-width: 0 !important;
}

main#main-content .live-ftp-gallery-list {
  display: grid !important;
  gap: clamp(14px, 2vw, 20px) !important;
  margin-top: 24px !important;
}

main#main-content .live-ftp-gallery-category {
  border: 1px solid rgba(13, 43, 94, .16) !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

main#main-content .live-ftp-gallery-category summary {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  background: #f8fbff !important;
}

main#main-content .live-ftp-gallery-category summary > span {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #0d2b5e !important;
  color: #fff !important;
}

main#main-content .live-ftp-gallery-category summary > span i {
  color: #fff !important;
  opacity: 1 !important;
}

main#main-content .live-ftp-gallery-category summary h3,
main#main-content .live-ftp-gallery-category summary p {
  margin: 0 !important;
}

main#main-content .live-ftp-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
  gap: 14px !important;
  padding: 16px !important;
  background: #fff !important;
}

main#main-content .live-ftp-gallery-grid figure {
  position: relative !important;
  min-height: 238px !important;
  aspect-ratio: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid rgba(13, 43, 94, .12) !important;
  border-radius: 8px !important;
  background: #fbf8f0 !important;
  overflow: hidden !important;
}

main#main-content .live-ftp-gallery-grid figure > a {
  flex: 1 1 auto !important;
  min-height: 180px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 6px !important;
  background: #f4efe6 !important;
  overflow: hidden !important;
}

main#main-content .live-ftp-gallery-grid figure img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 214px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

main#main-content .live-ftp-gallery-grid figcaption {
  min-height: 2.4em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px 2px !important;
  color: #0d2b5e !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  body:not(.page-slug-powolania-z-parafii):not(.page-slug-kaplani-w-historii-parafii) main#main-content .page-content :where(.source-feature.fulltext-visual, .source-feature.visual-wide, .source-feature) {
    grid-template-columns: 1fr !important;
  }

  main#main-content .live-ftp-gallery-category summary {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }

  main#main-content .live-ftp-gallery-category summary em {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}

/* v6.5.53 - visible import buttons, external links, pagination and gallery images */
main#main-content .publication-import-button,
main#main-content .publication-import-button:visited,
main#main-content .publication-import-button:hover,
main#main-content .publication-import-button:focus {
  align-items: center !important;
  background: #0d2b5e !important;
  border: 1px solid #0d2b5e !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  gap: .55rem !important;
  line-height: 1.25 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: .72rem 1rem !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .publication-import-button :where(i, svg, span, strong, em),
main#main-content .publication-import-button:visited :where(i, svg, span, strong, em),
main#main-content .publication-import-button:hover :where(i, svg, span, strong, em),
main#main-content .publication-import-button:focus :where(i, svg, span, strong, em) {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .source-link-list a,
main#main-content .source-link-list a:visited,
main#main-content .legacy-publication-archive a,
main#main-content .legacy-publication-archive a:visited,
main#main-content a.legacy-link-button,
main#main-content a.legacy-link-button:visited {
  background: #f8fbff !important;
  border: 1px solid rgba(13, 43, 94, .2) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  color: #08295c !important;
  opacity: 1 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: #08295c !important;
}

main#main-content .source-link-list a :where(i, svg, span, strong, small, em),
main#main-content .legacy-publication-archive a :where(i, svg, span, strong, small, em),
main#main-content a.legacy-link-button :where(i, svg, span, strong, small, em) {
  color: inherit !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: currentColor !important;
}

main#main-content .source-link-list a:hover,
main#main-content .source-link-list a:focus,
main#main-content .legacy-publication-archive a:hover,
main#main-content .legacy-publication-archive a:focus,
main#main-content a.legacy-link-button:hover,
main#main-content a.legacy-link-button:focus {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content .wp-block-query-pagination,
main#main-content .pagination,
main#main-content .nav-links {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .45rem !important;
  justify-content: center !important;
  margin-top: 1.4rem !important;
}

main#main-content .wp-block-query-pagination a,
main#main-content .wp-block-query-pagination a:visited,
main#main-content .wp-block-query-pagination span,
main#main-content .page-numbers,
main#main-content .page-numbers:visited,
main#main-content .nav-links a,
main#main-content .nav-links span {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid rgba(13, 43, 94, .24) !important;
  border-radius: 7px !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  min-height: 42px !important;
  min-width: 42px !important;
  opacity: 1 !important;
  padding: .62rem .8rem !important;
  text-decoration: none !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: #08295c !important;
}

main#main-content .wp-block-query-pagination a:hover,
main#main-content .wp-block-query-pagination a:focus,
main#main-content .page-numbers:hover,
main#main-content .page-numbers:focus,
main#main-content .page-numbers.current,
main#main-content .nav-links a:hover,
main#main-content .nav-links a:focus,
main#main-content .nav-links .current {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure.sanktuarium-image-missing img {
  opacity: 1 !important;
  visibility: visible !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure.sanktuarium-image-missing::after {
  content: none !important;
  display: none !important;
}

main#main-content .live-ftp-gallery-grid figure,
main#main-content .live-ftp-gallery-grid figure > a,
main#main-content .archive-gallery-grid figure,
main#main-content .archive-gallery-grid figure > a {
  opacity: 1 !important;
  visibility: visible !important;
}

main#main-content .live-ftp-gallery-grid figure img,
main#main-content .archive-gallery-grid figure img,
main#main-content .official-gallery-grid figure img,
main#main-content .editable-gallery-grid figure img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* v6.5.53b - stronger readable labels and expanded gallery controls */
body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.publication-import-button, .publication-import-button:visited, .source-link-list a, .source-link-list a:visited, .legacy-publication-archive a, .legacy-publication-archive a:visited, a.legacy-link-button, a.legacy-link-button:visited) {
  color: #08295c !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: #08295c !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) .publication-import-button,
body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) .publication-import-button:visited {
  background: #0d2b5e !important;
  border-color: #0d2b5e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) .publication-import-button :where(i, svg, span, strong, em),
body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.source-link-list a, .legacy-publication-archive a, a.legacy-link-button, .wp-block-query-pagination a, .wp-block-query-pagination span, .page-numbers, .nav-links a, .nav-links span) :where(i, svg, span, strong, small, em) {
  color: inherit !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: currentColor !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.wp-block-query-pagination a, .wp-block-query-pagination a:visited, .wp-block-query-pagination span, .wp-block-query-pagination-previous, .wp-block-query-pagination-next, .wp-block-query-pagination-numbers .page-numbers, .page-numbers, .page-numbers:visited, .nav-links a, .nav-links span) {
  background: #ffffff !important;
  border: 1px solid rgba(13, 43, 94, .28) !important;
  border-radius: 7px !important;
  color: #08295c !important;
  display: inline-flex !important;
  font-size: .95rem !important;
  font-weight: 850 !important;
  min-height: 42px !important;
  opacity: 1 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  visibility: visible !important;
  white-space: normal !important;
  -webkit-text-fill-color: #08295c !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure::before {
  background: #0d2b5e url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23ffffff' stroke-width='2.4'/%3E%3Cpath d='M16 16l6 6' stroke='%23ffffff' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M11 7v8M7 11h8' stroke='%23f2c14e' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important;
  content: "" !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 60 !important;
}

/* v6.5.54 - contact-style buttons and stronger gallery image fallback */
body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.publication-import-button, .publication-import-button:visited, .source-link-list a, .source-link-list a:visited, .legacy-publication-archive a, .legacy-publication-archive a:visited, a.legacy-link-button, a.legacy-link-button:visited, .wp-block-query-pagination a, .wp-block-query-pagination a:visited, .wp-block-query-pagination span, .page-numbers, .page-numbers:visited, .nav-links a, .nav-links span) {
  align-items: center !important;
  border-radius: var(--radius, 8px) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  gap: .5rem !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 13px 22px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  visibility: visible !important;
  white-space: normal !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.publication-import-button, .publication-import-button:visited) {
  background: var(--gold-rich, #8a6400) !important;
  border: 2px solid var(--gold-rich, #8a6400) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.source-link-list a, .source-link-list a:visited, .legacy-publication-archive a, .legacy-publication-archive a:visited, a.legacy-link-button, a.legacy-link-button:visited, .wp-block-query-pagination a, .wp-block-query-pagination a:visited, .wp-block-query-pagination span, .page-numbers, .page-numbers:visited, .nav-links a, .nav-links span) {
  background: #ffffff !important;
  border: 2px solid var(--navy, #0d2b5e) !important;
  color: var(--navy, #0d2b5e) !important;
  -webkit-text-fill-color: var(--navy, #0d2b5e) !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.publication-import-button, .source-link-list a, .legacy-publication-archive a, a.legacy-link-button, .wp-block-query-pagination a, .wp-block-query-pagination span, .page-numbers, .nav-links a, .nav-links span) :where(i, svg, span, strong, small, em) {
  color: inherit !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: currentColor !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.publication-import-button:hover, .publication-import-button:focus) {
  background: #765400 !important;
  border-color: #765400 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.source-link-list a:hover, .source-link-list a:focus, .legacy-publication-archive a:hover, .legacy-publication-archive a:focus, a.legacy-link-button:hover, a.legacy-link-button:focus, .wp-block-query-pagination a:hover, .wp-block-query-pagination a:focus, .page-numbers:hover, .page-numbers:focus, .nav-links a:hover, .nav-links a:focus) {
  background: var(--navy, #0d2b5e) !important;
  border-color: var(--navy, #0d2b5e) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body :where(#main-content, .wp-site-blocks, .entry-content, .page-content) :where(.page-numbers.current, .nav-links .current, .wp-block-query-pagination .current) {
  background: var(--gold-rich, #8a6400) !important;
  border-color: var(--gold-rich, #8a6400) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure.sanktuarium-gallery-fallback-bg {
  background-color: #f4f8fd !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure.sanktuarium-gallery-fallback-bg a {
  background: transparent !important;
}

main#main-content :where(.archive-gallery-grid, .official-gallery-grid, .album-photo-grid, .editable-gallery-grid, .live-ftp-gallery-grid, .wp-block-gallery) figure.sanktuarium-image-missing.sanktuarium-gallery-fallback-bg img {
  opacity: 0 !important;
}

body #main-content .archive-gallery-grid figure::before,
body #main-content .official-gallery-grid figure::before,
body #main-content .album-photo-grid figure::before,
body #main-content .editable-gallery-grid figure::before,
body #main-content .live-ftp-gallery-grid figure::before,
body #main-content figure.editable-gallery-image::before,
body #main-content .wp-block-gallery figure::before,
body .page-content .archive-gallery-grid figure::before,
body .page-content .official-gallery-grid figure::before,
body .page-content .album-photo-grid figure::before,
body .page-content .editable-gallery-grid figure::before,
body .page-content .live-ftp-gallery-grid figure::before,
body .page-content figure.editable-gallery-image::before,
body .page-content .wp-block-gallery figure::before {
  background: var(--navy, #0d2b5e) url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23ffffff' stroke-width='2.4'/%3E%3Cpath d='M16 16l6 6' stroke='%23ffffff' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M11 7v8M7 11h8' stroke='%23f2c14e' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important;
  border: 2px solid #f2c14e !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .92), 0 10px 22px rgba(7, 22, 40, .32) !important;
  content: "" !important;
  display: block !important;
  height: 42px !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  transform: none !important;
  visibility: visible !important;
  width: 42px !important;
  z-index: 70 !important;
}

/* v6.5.55 - unified navy buttons across pages and subpages */
main#main-content :where(.wp-block-button__link, .wp-element-button, .publication-import-button, a.legacy-link-button, .legacy-publication-archive a, .source-link-list a, .wp-block-query-pagination a, .wp-block-query-pagination span, .page-numbers, .nav-links a, .nav-links span, button, input[type="submit"], input[type="button"]) {
  align-items: center !important;
  background: var(--navy, #0d2b5e) !important;
  border: 2px solid var(--navy, #0d2b5e) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  display: inline-flex !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  gap: .55rem !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  min-height: 44px !important;
  opacity: 1 !important;
  padding: 13px 20px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  visibility: visible !important;
  white-space: normal !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content :where(.wp-block-button__link, .wp-element-button, .publication-import-button, a.legacy-link-button, .legacy-publication-archive a, .source-link-list a, .wp-block-query-pagination a, .wp-block-query-pagination span, .page-numbers, .nav-links a, .nav-links span, button, input[type="submit"], input[type="button"]) :where(i, svg, span, strong, small, em) {
  color: inherit !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: currentColor !important;
}

main#main-content :where(.wp-block-button__link:visited, .wp-element-button:visited, .publication-import-button:visited, a.legacy-link-button:visited, .legacy-publication-archive a:visited, .source-link-list a:visited, .wp-block-query-pagination a:visited, .page-numbers:visited, .nav-links a:visited) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content :where(.wp-block-button__link:hover, .wp-block-button__link:focus, .wp-element-button:hover, .wp-element-button:focus, .publication-import-button:hover, .publication-import-button:focus, a.legacy-link-button:hover, a.legacy-link-button:focus, .legacy-publication-archive a:hover, .legacy-publication-archive a:focus, .source-link-list a:hover, .source-link-list a:focus, .wp-block-query-pagination a:hover, .wp-block-query-pagination a:focus, .page-numbers:hover, .page-numbers:focus, .nav-links a:hover, .nav-links a:focus, button:hover, button:focus, input[type="submit"]:hover, input[type="submit"]:focus, input[type="button"]:hover, input[type="button"]:focus) {
  background: #082451 !important;
  border-color: #082451 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  -webkit-text-fill-color: #ffffff !important;
}

main#main-content :where(.page-numbers.current, .nav-links .current, .wp-block-query-pagination .current) {
  background: var(--navy, #0d2b5e) !important;
  border-color: var(--navy, #0d2b5e) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* v6.5.56 - homepage announcements render server-side, widget remains only as legacy fallback */
main#main-content .section-ogloszenia .publication-current-panel ~ .home-ogloszenia-widget {
  display: none !important;
}

main#main-content .section-ogloszenia .publication-current-panel {
  margin-top: 0 !important;
}

/* ── Standardy ochrony dzieci i młodzieży ── */
.standardy-content{max-width:900px;margin:2.5rem auto 3.5rem;padding:2.5rem 2.75rem;background:#fff;border:1px solid rgba(15,42,92,.12);border-radius:10px;box-shadow:0 6px 24px rgba(15,42,92,.06);box-sizing:border-box}
.standardy-content > *,.standardy-content .standardy-kontakt > *{max-width:none!important;margin-left:0!important;margin-right:0!important;text-align:left}
.standardy-content h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:2.2rem!important;margin-bottom:.8rem!important}
.standardy-content h3{font-size:1.25rem;margin-top:1.6rem!important;margin-bottom:.6rem!important}
.standardy-content p,.standardy-content li{font-size:1rem;line-height:1.7}
.standardy-content ul,.standardy-content ol{padding-left:1.4rem!important}
.standardy-content li{margin-bottom:.35rem}
.standardy-content hr.wp-block-separator{border:0;border-top:2px solid #c9a227;width:80px;margin:2rem 0!important;opacity:1}
.standardy-content .standardy-kontakt{background:#f4f1ea;border-left:4px solid #c9a227;border-radius:8px;padding:1.5rem 1.75rem;margin-bottom:1rem}
.standardy-content .standardy-kontakt h3{margin-top:0!important}
@media (max-width:640px){.standardy-content{margin:1.25rem .75rem 2rem;padding:1.5rem 1.15rem}.standardy-content .standardy-kontakt{padding:1.15rem}}

/* Przyciski: przejście do archiwum ogłoszeń / intencji i powrót */
.publication-archive-cta,
.publication-archive-back {
  margin: 28px auto 40px;
  max-width: 1000px;
  padding: 0 20px;
}
.publication-archive-cta .wp-block-button__link,
.publication-archive-back .wp-block-button__link {
  background: var(--navy);
  border: 2px solid var(--gold, #c9a227);
  border-radius: 999px;
  color: #fff;
  font-weight: 600;
  padding: 12px 28px;
  text-decoration: none;
}
.publication-archive-cta .wp-block-button__link:hover,
.publication-archive-back .wp-block-button__link:hover {
  background: var(--gold, #c9a227);
  color: var(--navy);
}

/* ── Film w tle sekcji powitalnej (hero) ── */
.wp-block-cover.hero-cover.has-hero-video{position:relative;overflow:hidden;min-height:clamp(520px,78vh,760px)!important;}
.wp-block-cover.hero-cover .hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;container-type:size;opacity:0;transition:opacity 1.2s ease;}
.wp-block-cover.hero-cover.hero-video-playing .hero-video{opacity:1;}
.wp-block-cover.hero-cover .hero-video iframe,.wp-block-cover.hero-cover .hero-video__frame{position:absolute;top:50%;left:50%;width:100%;height:100%;width:max(100cqw,177.78cqh);height:max(56.25cqw,100cqh);transform:translate(-50%,-50%) scale(1.12);border:0;pointer-events:none;}
.wp-block-cover.hero-cover.has-hero-video .wp-block-cover__background{z-index:1;opacity:1!important;background:linear-gradient(180deg,rgba(9,20,48,.62) 0%,rgba(9,20,48,.42) 38%,rgba(9,20,48,.55) 70%,rgba(9,20,48,.82) 100%)!important;}
.wp-block-cover.hero-cover.has-hero-video .wp-block-cover__background::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(9,20,48,.45) 0%,rgba(9,20,48,0) 70%);}
.wp-block-cover.hero-cover.has-hero-video .wp-block-cover__inner-container{position:relative;z-index:2;}
.wp-block-cover.hero-cover.has-hero-video .hero-title{text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.6);}
.wp-block-cover.hero-cover.has-hero-video .hero-eyebrow,.wp-block-cover.hero-cover.has-hero-video .hero-sub{text-shadow:0 1px 10px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.55);}
.wp-block-cover.hero-cover.has-hero-video .hero-sub{max-width:46rem;margin-left:auto;margin-right:auto;}
.wp-block-cover.hero-cover.hero-video-off .hero-video{display:none;}
@media (prefers-reduced-motion: reduce){.wp-block-cover.hero-cover .hero-video{display:none;}}
@media (max-width:600px){.wp-block-cover.hero-cover.has-hero-video{min-height:560px!important;}}

/* ═══════════════════════════════════════════════════════════════════════
   v6.6.0 – INTENCJE MSZALNE, OGŁOSZENIA PARAFIALNE I ICH ARCHIWA
   Jedyny zestaw stylów dla: karty publikacji (.sb-pub), panelu aktualnego
   tygodnia (.publication-current-*), archiwum lat (.unified-archive-*,
   .publication-archive-*). Zastępuje wcześniejsze reguły v6.5.x.
   Prefiks z podwójnym #main-content przebija ogólne reguły czytelności.
   Kolory stałe (jasny motyw) – identyczne w trybie ciemnym systemu.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --sb-navy: #0d2b5e;
  --sb-text: #1b2f52;
  --sb-gold: #c9970a;
  --sb-gold-deep: #a87c00;
  --sb-ice: #eef5fd;
  --sb-line: #b8d0ea;
  --sb-blue: #2f6bbf;
}

/* ── Strona pojedynczego wpisu ── */
body main#main-content#main-content.sb-pub-page { background: var(--cream, #f3efe8); padding: 28px 0 56px; }
body main#main-content#main-content .sb-pub-wrap { max-width: 980px !important; margin: 0 auto !important; padding: 0 20px !important; }
body main#main-content#main-content .sb-pub-breadcrumbs { font-size: 13px !important; color: #3d5a8a !important; margin: 0 0 14px !important; }
body main#main-content#main-content .sb-pub-breadcrumbs a { color: var(--sb-navy) !important; text-decoration: none !important; font-weight: 600 !important; }
body main#main-content#main-content .sb-pub-breadcrumbs a:hover { color: var(--sb-gold-deep) !important; text-decoration: underline !important; }
body main#main-content#main-content .sb-pub-back { margin: 18px 0 0 !important; }
body main#main-content#main-content .sb-pub-back a { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 9px 18px !important; border-radius: 999px !important; background: var(--sb-navy) !important; color: #fff !important; font-weight: 600 !important; font-size: 14px !important; text-decoration: none !important; border: 2px solid var(--sb-gold) !important; }
body main#main-content#main-content .sb-pub-back a:hover { background: var(--sb-gold) !important; color: var(--sb-navy) !important; }

/* ── Karta publikacji ── */
body main#main-content#main-content .sb-pub {
  color-scheme: light;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(18px, 3.2vw, 30px) clamp(16px, 3.4vw, 34px) !important;
  background: #fff !important;
  border: 1px solid var(--sb-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 28px rgba(13, 43, 94, .06) !important;
  color: var(--sb-text) !important;
  font-family: var(--sans) !important;
  text-align: left !important;
}
body main#main-content#main-content .sb-pub__date {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 0 0 12px !important; padding: 0 !important; background: none !important; border: 0 !important;
  color: var(--sb-navy) !important; font-family: var(--sans) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important;
}
body main#main-content#main-content .sb-pub__date i { color: var(--sb-gold) !important; font-size: 14px !important; }
body main#main-content#main-content .sb-pub__date time { color: var(--sb-navy) !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub__label,
body main#main-content#main-content .sb-pub .sb-pub__day {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px !important;
  padding: 7px 12px !important;
  background: var(--sb-ice) !important;
  border: 0 !important;
  border-left: 3px solid var(--sb-gold) !important;
  border-radius: 0 6px 6px 0 !important;
  color: var(--sb-navy) !important;
  font-family: var(--serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
body main#main-content#main-content .sb-pub .sb-pub__day { margin: 22px 0 10px !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub__title {
  margin: 4px 0 20px !important; padding: 0 !important; background: none !important; border: 0 !important;
  color: var(--sb-navy) !important; font-family: var(--serif) !important;
  font-size: clamp(26px, 4.2vw, 40px) !important; font-weight: 700 !important; line-height: 1.15 !important;
  letter-spacing: 0 !important; text-transform: none !important; text-align: left !important;
}
body main#main-content#main-content .sb-pub__content { max-width: none !important; margin: 0 !important; padding: 0 !important; color: var(--sb-text) !important; }
body main#main-content#main-content .sb-pub__content :where(p, li, td, dd) {
  max-width: none !important; color: var(--sb-text) !important; font-family: var(--sans) !important;
  font-size: 14.5px !important; line-height: 1.6 !important; text-align: left !important; background: none !important;
}
body main#main-content#main-content .sb-pub__content p { margin: 0 0 10px !important; padding: 0 !important; }
body main#main-content#main-content .sb-pub__content :where(strong, b) { color: var(--sb-navy) !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub__content a { color: var(--sb-blue) !important; text-decoration: underline !important; }
body main#main-content#main-content .sb-pub__content :where(h2, h3, h4):not(.sb-pub__day) { color: var(--sb-navy) !important; font-family: var(--serif) !important; margin: 18px 0 10px !important; }

/* Intencje: wiersze z godzinami */
body main#main-content#main-content .sb-pub--intencje-mszalne .sb-pub__content p.sb-pub__line { margin: 0 0 7px !important; font-size: 13.5px !important; line-height: 1.5 !important; }
body main#main-content#main-content .sb-pub .sb-pub__time { color: var(--sb-navy) !important; font-weight: 700 !important; margin-right: .3em !important; white-space: nowrap !important; }
body main#main-content#main-content .sb-pub p.sb-pub__line--bold,
body main#main-content#main-content .sb-pub p.sb-pub__line--bold :where(strong, b, u) { color: var(--sb-navy) !important; font-weight: 700 !important; text-decoration: none !important; }
body main#main-content#main-content .sb-pub--intencje-mszalne .sb-pub__content u { text-decoration: none !important; }

/* Ogłoszenia: lista numerowana + zagnieżdżone wypunktowanie */
body main#main-content#main-content .sb-pub__content ol {
  list-style: decimal outside !important; margin: 0 0 12px !important; padding: 0 0 0 28px !important; max-width: none !important;
}
body main#main-content#main-content .sb-pub__content ol > li { margin: 0 0 10px !important; padding: 0 0 0 4px !important; display: list-item !important; }
body main#main-content#main-content .sb-pub__content ol > li::marker { color: var(--sb-navy) !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub__content ul { list-style: disc outside !important; margin: 6px 0 10px !important; padding: 0 0 0 22px !important; max-width: none !important; }
body main#main-content#main-content .sb-pub__content ul > li { margin: 0 0 6px !important; display: list-item !important; }
body main#main-content#main-content .sb-pub__content ul > li::marker { color: var(--sb-navy) !important; }
body main#main-content#main-content .sb-pub__content :where(ol, ul) > li::before { content: none !important; display: none !important; }
body main#main-content#main-content .sb-pub__content table { width: 100% !important; border-collapse: collapse !important; display: block; overflow-x: auto; }
body main#main-content#main-content .sb-pub__content td { border: 1px solid var(--sb-line) !important; padding: 5px 8px !important; vertical-align: top !important; }
body main#main-content#main-content .sb-pub__doc { margin-top: 18px !important; }

/* Układ dokumentu (tekst z Word/PDF) wewnątrz karty – te same belki i wiersze */
body main#main-content#main-content .sb-pub .sb-pub__doclayout { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body main#main-content#main-content .sb-pub :where(.intentions-document-sections, .intentions-document-day, .intentions-document-lines) { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body main#main-content#main-content .sb-pub .intentions-document-lines p { margin: 0 0 7px !important; font-size: 13.5px !important; line-height: 1.5 !important; }
body main#main-content#main-content .sb-pub .announcements-document-list > li > span { display: inline !important; }
body main#main-content#main-content .sb-pub .announcements-document-lead { margin: 0 0 10px !important; }

/* ── Panel aktualnego tygodnia (blok sanktuarium/current-publication) ── */
body main#main-content#main-content .publication-current-panel {
  color-scheme: light; background: #fff !important; border: 1px solid var(--sb-line) !important; border-radius: 12px !important;
  box-shadow: 0 16px 36px rgba(13, 43, 94, .08) !important; margin: 26px 0 !important; padding: clamp(18px, 4vw, 32px) !important;
}
body main#main-content#main-content .publication-current-header { background: transparent !important; border: 0 !important; border-bottom: 2px solid #d6e6f8 !important; margin: 0 0 20px !important; padding: 0 0 14px !important; }
body main#main-content#main-content .publication-current-header h2 { color: var(--sb-navy) !important; font-family: var(--serif) !important; font-size: clamp(1.4rem, 2.8vw, 1.8rem) !important; margin: 4px 0 6px !important; }
body main#main-content#main-content .publication-current-subtitle { color: #694b00 !important; background: #fdf0c8 !important; border-left: 4px solid var(--sb-gold-deep) !important; border-radius: 0 8px 8px 0 !important; display: inline-block !important; font-weight: 700 !important; margin: 6px 0 0 !important; padding: 8px 14px !important; }
body main#main-content#main-content .publication-current-panel .sb-pub { box-shadow: none !important; }
body main#main-content#main-content .publication-current-empty { background: #fdf7df !important; border: 1px dashed #e2c96f !important; border-radius: 10px !important; color: #694b00 !important; padding: 18px 22px !important; }

/* ── Archiwum: paski lat ── */
body main#main-content#main-content .unified-publication-archive { color-scheme: light; box-sizing: border-box !important; width: 100% !important; max-width: 1000px !important; margin: 0 auto 40px !important; padding: 0 20px !important; }
body main#main-content#main-content .unified-archive-tools { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: .5rem 1rem !important; margin: 0 0 16px !important; max-width: none !important; }
body main#main-content#main-content .unified-archive-search-label { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
body main#main-content#main-content .unified-archive-search { flex: 1 1 280px !important; padding: .65rem 1rem !important; border: 1px solid var(--sb-line) !important; border-radius: 8px !important; font-size: 15px !important; color: var(--sb-text) !important; background: #fff !important; }
body main#main-content#main-content .unified-archive-search:focus { outline: 2px solid var(--sb-blue) !important; outline-offset: 1px !important; }
body main#main-content#main-content .unified-archive-total { margin: 0 !important; color: #3d5a8a !important; font-size: 13px !important; text-align: right !important; max-width: none !important; }
body main#main-content#main-content .unified-publication-archive [hidden] { display: none !important; }

body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) {
  display: block !important; box-sizing: border-box !important; width: 100% !important; max-width: none !important;
  margin: 0 0 8px !important; padding: 0 !important; overflow: hidden !important;
  background: var(--sb-ice) !important; border: 1px solid var(--sb-line) !important; border-radius: 6px !important; box-shadow: none !important;
}
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important;
  margin: 0 !important; padding: 10px 14px !important; min-height: 0 !important;
  background: var(--sb-ice) !important; border: 0 !important; border-radius: 0 !important;
  color: var(--sb-navy) !important; cursor: pointer !important; list-style: none !important; user-select: none !important;
  font-family: var(--sans) !important; font-size: 14px !important; font-weight: 700 !important;
}
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary::-webkit-details-marker { display: none !important; }
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary::after { content: none !important; }
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary :where(span, .uy-year) {
  color: var(--sb-navy) !important; font-family: var(--sans) !important; font-size: 14px !important; font-weight: 700 !important; background: none !important; padding: 0 !important;
}
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary small {
  margin-left: auto !important; padding: 0 !important; background: none !important; border: 0 !important;
  color: var(--sb-blue) !important; font-size: 11px !important; font-weight: 700 !important; white-space: nowrap !important;
}
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary:hover { background: #e3eefb !important; }
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year) > summary:focus-visible { outline: 2px solid var(--sb-blue) !important; outline-offset: -2px !important; }
body main#main-content#main-content :where(.unified-archive-year, .publication-archive-year)[open] > summary { border-bottom: 1px solid var(--sb-line) !important; }

/* Lista wpisów po rozwinięciu roku */
body main#main-content#main-content :where(.unified-archive-list, .publication-archive-list) {
  display: block !important; list-style: none !important; margin: 0 !important; padding: 6px !important; max-width: none !important; width: auto !important; background: #fff !important;
}
body main#main-content#main-content :where(.unified-archive-row, .publication-archive-row) {
  display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important;
  background: #fff !important; border: 0 !important; border-bottom: 1px solid #e3edf8 !important; border-radius: 0 !important; box-shadow: none !important;
}
body main#main-content#main-content :where(.unified-archive-row, .publication-archive-row):last-child { border-bottom: 0 !important; }
body main#main-content#main-content :where(.unified-archive-row, .publication-archive-row)::before { content: none !important; }
body main#main-content#main-content :where(.unified-archive-link, .publication-archive-link) {
  display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important; box-sizing: border-box !important;
  margin: 0 !important; padding: 9px 10px !important; background: transparent !important; border: 0 !important; border-radius: 6px !important; box-shadow: none !important;
  color: var(--sb-navy) !important; text-decoration: none !important; cursor: pointer !important; list-style: none !important;
}
body main#main-content#main-content :where(.unified-archive-link, .publication-archive-link):hover { background: var(--sb-ice) !important; }
body main#main-content#main-content summary.unified-archive-link::-webkit-details-marker { display: none !important; }
body main#main-content#main-content .ua-icon { flex: 0 0 18px !important; text-align: center !important; color: var(--sb-gold) !important; font-size: 14px !important; }
body main#main-content#main-content .ua-icon i { color: var(--sb-gold) !important; }
body main#main-content#main-content .ua-body { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; gap: 1px !important; min-width: 0 !important; }
body main#main-content#main-content :where(.ua-date, .publication-archive-link .pa-date) { color: #3d5a8a !important; font-size: 12px !important; font-weight: 700 !important; max-width: none !important; }
body main#main-content#main-content .publication-archive-link .pa-date i { color: var(--sb-gold) !important; margin-right: 4px !important; }
body main#main-content#main-content :where(.ua-title, .publication-archive-link .pa-title) {
  color: var(--sb-navy) !important; font-family: var(--serif) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; white-space: normal !important; max-width: none !important;
}
body main#main-content#main-content :where(.unified-archive-link, .publication-archive-link):hover :where(.ua-title, .pa-title) { color: var(--sb-blue) !important; text-decoration: underline !important; }
body main#main-content#main-content .ua-badge { flex: 0 0 auto !important; margin-left: auto !important; padding: 2px 8px !important; border-radius: 999px !important; font-size: 10.5px !important; font-weight: 700 !important; text-transform: uppercase !important; }
body main#main-content#main-content .ua-badge-wp { color: #7a5a00 !important; background: #fdf0c8 !important; }
body main#main-content#main-content .ua-badge-extra { color: #7a2e2e !important; background: #f6e1dc !important; }
body main#main-content#main-content .ua-badge-legacy { color: #44546f !important; background: #e3edf8 !important; }
body main#main-content#main-content :where(.ua-doc, .publication-archive-doc) { padding: 2px 10px 10px 40px !important; }
body main#main-content#main-content .unified-archive-entry { display: block !important; width: 100% !important; }
body main#main-content#main-content .unified-archive-entry[open] > summary { background: var(--sb-ice) !important; }
body main#main-content#main-content .unified-archive-entry-body {
  display: block !important; margin: 4px 0 10px !important; padding: 0 !important; max-width: none !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body main#main-content#main-content .unified-archive-entry-body .sb-pub { box-shadow: none !important; }
body main#main-content#main-content .ua-loading { padding: 8px 12px !important; color: #3d5a8a !important; font-style: italic !important; }

/* Panel starego bloku sanktuarium/publication-archive */
body main#main-content#main-content .publication-archive-panel { background: #fff !important; border: 1px solid var(--sb-line) !important; border-radius: 12px !important; margin: 26px 0 !important; padding: clamp(18px, 4vw, 30px) !important; }
body main#main-content#main-content .publication-archive-panel h2 { color: var(--sb-navy) !important; font-family: var(--serif) !important; font-size: clamp(1.3rem, 2.6vw, 1.6rem) !important; margin: 4px 0 8px !important; }
body main#main-content#main-content .publication-archive-empty { background: #fdf7df !important; border: 1px dashed #e2c96f !important; border-radius: 10px !important; color: #694b00 !important; padding: 16px 20px !important; }

@media (max-width: 600px) {
  body main#main-content#main-content.sb-pub-page { padding: 16px 0 40px; }
  body main#main-content#main-content .sb-pub-wrap,
  body main#main-content#main-content .unified-publication-archive { padding: 0 12px !important; }
  body main#main-content#main-content .sb-pub { padding: 16px 14px !important; border-radius: 10px !important; }
  body main#main-content#main-content .sb-pub__label,
  body main#main-content#main-content .sb-pub .sb-pub__day { font-size: 13px !important; padding: 6px 10px !important; }
  body main#main-content#main-content .sb-pub__content :where(p, li) { font-size: 14px !important; }
  body main#main-content#main-content .sb-pub__content ol { padding-left: 24px !important; }
  body main#main-content#main-content .ua-badge { display: none !important; }
  body main#main-content#main-content :where(.ua-doc, .publication-archive-doc) { padding-left: 10px !important; }
}

/* v6.6.1 – Intencje: godzina w osobnej linii, intencje pod nią z wcięciem */
body main#main-content#main-content .sb-pub .mass-day-lines { display: block !important; margin: 0 0 6px !important; }
body main#main-content#main-content .sb-pub .mass-time-block { display: block !important; margin: 0 0 12px !important; padding: 0 0 0 4px !important; }
body main#main-content#main-content .sb-pub .mass-hour { display: block !important; margin: 0 0 2px !important; color: #1a2e4a !important; font-family: var(--sans) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.3 !important; }
body main#main-content#main-content .sb-pub .sb-pub__content p.mass-intention,
body main#main-content#main-content .sb-pub .sb-pub__content p.mass-service { margin: 0 0 2px 16px !important; font-size: 13.5px !important; line-height: 1.5 !important; color: #333 !important; }
body main#main-content#main-content .sb-pub p.mass-service { font-style: italic !important; color: #444 !important; }
body main#main-content#main-content .sb-pub p.mass-service :where(strong, b, u) { font-weight: 400 !important; text-decoration: none !important; color: #444 !important; }
body main#main-content#main-content .sb-pub .mass-num { color: #1a2e4a !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub .mass-cross { color: var(--sb-gold-deep, #a87c00) !important; font-weight: 700 !important; }
body main#main-content#main-content .sb-pub .sb-pub__content p.mass-note { margin: 0 0 8px !important; }
body main#main-content#main-content .sb-pub .sb-pub__content p.mass-note--bold { color: #1a2e4a !important; font-weight: 700 !important; }

/* ═══════════ v6.7.0: formularz nowenny, baner misji, panele, dojazd, sakramenty, herb ═══════════ */

/* Formularz nowenny */
.nowenna-form { background:#fff; border:1px solid rgba(26,46,74,.18); border-top:4px solid #c9a227; border-radius:12px; padding:28px; margin:24px 0; box-shadow:0 4px 18px rgba(26,46,74,.08); color:#1a2e4a; }
.nowenna-form__title { margin:0 0 6px; color:#1a2e4a; font-family:var(--wp--preset--font-family--serif, Georgia, serif); font-size:1.4rem; }
.nowenna-form__title i { color:#c9a227; margin-right:6px; }
.nowenna-form__lead { margin:0 0 20px; font-size:.92rem; color:#4a5b72; }
.nowenna-form__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.nowenna-form__field { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.nowenna-form__field label { font-weight:700; font-size:.9rem; color:#1a2e4a; }
.nowenna-form__req { color:#b3261e; }
.nowenna-form input[type="text"], .nowenna-form input[type="email"], .nowenna-form textarea { width:100%; box-sizing:border-box; padding:11px 14px; border:1.5px solid #b8c6d8; border-radius:8px; background:#fbfcfe; color:#1a2e4a; font:inherit; font-size:1rem; transition:border-color .2s, box-shadow .2s; }
.nowenna-form textarea { min-height:140px; resize:vertical; }
.nowenna-form input:focus, .nowenna-form textarea:focus { outline:none; border-color:#c9a227; box-shadow:0 0 0 3px rgba(201,162,39,.25); }
main#main-content .nowenna-form .nowenna-form__submit, .nowenna-form__submit { display:inline-flex; align-items:center; gap:8px; background:#1a2e4a !important; color:#fff !important; border:2px solid #1a2e4a !important; border-radius:8px !important; padding:12px 26px; font-weight:800; font-size:1rem; cursor:pointer; transition:background .2s, color .2s; }
main#main-content .nowenna-form .nowenna-form__submit:hover, .nowenna-form__submit:hover { background:#c9a227 !important; border-color:#c9a227 !important; color:#1a2e4a !important; }
.nowenna-form__submit[disabled] { opacity:.65; cursor:wait; }
.nowenna-form__msg { margin-top:16px; padding:12px 16px; border-radius:8px; font-weight:600; }
.nowenna-form__msg.is-success { background:#e5f5e8; border:1px solid #2e7d32; color:#1b5e20; }
.nowenna-form__msg.is-error { background:#fdecea; border:1px solid #c62828; color:#b71c1c; }
.nowenna-form__hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.nowenna-page { padding:48px 0; }
.nowenna-page__lead { font-size:1.05rem; line-height:1.7; }
.nowenna-page__note { font-size:.9rem; color:#4a5b72; border-left:3px solid #c9a227; padding-left:12px; }
@media (max-width:640px) { .nowenna-form { padding:20px 16px; } .nowenna-form__row { grid-template-columns:1fr; gap:0; } .nowenna-form__submit { width:100%; justify-content:center; } }

/* Baner misji */
.misje-baner { padding:28px 16px 8px; }
.misje-baner__inner { max-width:1200px; margin:0 auto; }
.misje-baner__image-link { display:block; }
.misje-baner__img { display:block; width:100%; height:auto; border-radius:8px; box-shadow:0 6px 24px rgba(26,46,74,.22); }
.misje-baner__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:16px; }
body .misje-baner a.misje-baner__btn { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:8px; font-weight:800; text-decoration:none; border:2px solid #1a2e4a; transition:background .2s, color .2s; }
body .misje-baner a.misje-baner__btn--primary, body main#main-content .misje-baner a.misje-baner__btn--primary * { background:#1a2e4a; color:#fff !important; }
body .misje-baner a.misje-baner__btn--gold { background:#c9a227; border-color:#c9a227; color:#1a2e4a; }
body .misje-baner a.misje-baner__btn:hover { background:#fff; color:#1a2e4a; border-color:#c9a227; }
@media (max-width:600px) { .misje-baner { padding:18px 10px 4px; } .misje-baner__actions { flex-direction:column; } body .misje-baner a.misje-baner__btn { justify-content:center; } }

/* Panele intencji i ogłoszeń na stronie głównej */
.homepage-panels { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.homepage-panel { background:#dce9f5; border-left:5px solid #c9a227; border-radius:8px; padding:20px 20px 12px; min-width:0; }
.homepage-panel__title { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:#1a2e4a; font-family:var(--wp--preset--font-family--serif, Georgia, serif); font-size:1.3rem; }
.homepage-panel__title i { color:#c9a227; }
.homepage-panel__body { min-width:0; overflow-wrap:anywhere; }
.section-ogloszenia .ogloszenia-layout:has(.homepage-panels) { flex-wrap:wrap !important; }
.section-ogloszenia .ogloszenia-layout:has(.homepage-panels) > .wp-block-column { flex-basis:100% !important; width:100% !important; }
@media (max-width:768px) { .homepage-panels { grid-template-columns:1fr; } }

/* Kontakt – Jak dojechać */
.kontakt-dojazd { max-width:1100px; margin:40px auto 24px; padding:0 16px; }
.kontakt-dojazd__title { color:#1a2e4a; }
.kontakt-dojazd__title i { color:#c9a227; margin-right:6px; }
html body main#main-content#main-content .kontakt-dojazd a.kontakt-dojazd__btn, html body main#main-content#main-content .kontakt-dojazd a.kontakt-dojazd__btn * { color:#fff !important; -webkit-text-fill-color:#fff !important; }
body .kontakt-dojazd a.kontakt-dojazd__btn { display:inline-flex; align-items:center; gap:8px; background:#1a2e4a; color:#fff; padding:10px 20px; border-radius:8px; text-decoration:none; font-weight:700; }
.kontakt-mapa { margin-top:24px; border-radius:8px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.1); }
.kontakt-mapa iframe { display:block; width:100%; min-height:320px; border:0; }

/* Ikony sakramentów */
.sakrament-icon { color:#c9a227; font-size:2em; display:block; text-align:center; margin-bottom:8px; }
h3 > .sakrament-icon { line-height:1; }

/* Herb pauliński jako awatar duszpasterza */
.duszp-avatar.duszp-avatar--herb { background:#fff !important; overflow:hidden; }
.paulin-avatar { display:block; width:62%; height:78%; object-fit:contain; margin:auto; }
.duszp-photo .paulin-avatar, .priest-photo .paulin-avatar { width:60%; height:80%; }

@media (prefers-color-scheme: dark) {
  html[data-theme="dark"] .homepage-panel { background:#dce9f5; }
  html[data-theme="dark"] .nowenna-form { background:#fff; color:#1a2e4a; }
}

/* v6.9.1 – panele dokładane automatycznie na stronie głównej */
.homepage-panels--auto { max-width:1200px; margin:40px auto; padding:0 20px; box-sizing:border-box; }

/* v6.9.2 – niedziele w intencjach na czerwono (ten sam układ co pozostałe dni) */
.sb-pub .sb-pub__day.sb-pub__day--sunday,
body main#main-content#main-content .sb-pub .sb-pub__day.sb-pub__day--sunday {
  background: #fdecec !important;
  border-left: 3px solid #c0392b !important;
  color: #b3261e !important;
}
/* v6.9.2 – bez przycisków „Pobierz” przy intencjach i ogłoszeniach */
.sb-pub__doc, .publication-archive-doc, .ua-doc, .announcement-doc-link, .publication-doc-card { display: none !important; }

/* ═══════════ v6.9.4: usuwanie / ukrywanie pozycji archiwum (widoczne tylko dla administratora) ═══════════ */
.sb-admin-actions { display:flex; justify-content:flex-end; gap:8px; margin:-6px 10px 8px; }
.sb-pub-page .sb-admin-actions, .sb-pub-wrap > .sb-admin-actions { margin:0 0 10px; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn { display:inline-flex !important; align-items:center; gap:6px; padding:4px 10px !important; font-size:12px !important; font-weight:700 !important; line-height:1.4 !important; border-radius:6px !important; text-decoration:none !important; cursor:pointer; min-height:0 !important; width:auto !important; box-shadow:none !important; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn--delete { background:#b3261e !important; border:1px solid #b3261e !important; color:#fff !important; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn--delete:hover, html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn--delete:focus { background:#8c1d17 !important; border-color:#8c1d17 !important; color:#fff !important; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn--hide { background:#fff !important; border:1px solid #b3261e !important; color:#b3261e !important; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn--hide:hover { background:#b3261e !important; color:#fff !important; }
html body main#main-content#main-content .sb-admin-actions a.sb-admin-btn * { color:inherit !important; }
.sb-admin-notice { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:99999; display:flex; align-items:center; gap:10px; max-width:calc(100% - 32px); padding:12px 44px 12px 18px; border-radius:8px; box-shadow:0 6px 24px rgba(0,0,0,.2); font-weight:600; font-size:15px; background:#1a2e4a; color:#fff; border-left:5px solid #c9a227; }
.sb-admin-notice.is-error { border-left-color:#b3261e; }
.sb-admin-notice a { color:#f5e6b0 !important; text-decoration:underline !important; }
.sb-admin-notice__close { position:absolute; right:8px; top:50%; transform:translateY(-50%); background:none !important; border:0 !important; color:#fff !important; font-size:22px; line-height:1; cursor:pointer; padding:4px 8px !important; }
