/*
Theme Name: Parafia Nowe Miasto (Classic)
Theme URI: https://www.parafia-nowemiasto.pl/
Author: Michał
Description: Minimalistyczny motyw klasyczny pod stronę parafii. Bez nagłówka/nawigacji. Styl oparty na istniejącym CSS (parafia-home, intencje, ogłoszenia, standardy, harmonogram, sakramenty).
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: parafia-nowemiasto-classic
Tags: one-column, custom-colors, custom-logo, custom-menu
*/

/* ===== Bazowe reset/ustawienia, żeby nie „rozjeżdżało” layoutu ===== */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; background: #f5f5f7; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif; color: #111827; line-height: 1.6; -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

/* A11y: ukryty tekst dla czytników ekranu */
.screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  position: static !important;
  width: auto !important;
  white-space: normal !important;
}

/* Brak headera/nav z motywu */
.site-header, #masthead, .main-header-bar { display: none !important; }

/* Ukryj tytuły generowane przez WP (jeśli gdzieś się pojawią) */
.entry-title, .wp-block-post-title { display: none !important; }

/* Główna kolumna: bez dodatkowych paddingów narzuconych przez motyw */
.site-main { background: transparent; }

/* ===== Twoje oryginalne CSS (przeniesione z „Dodatkowego CSS”) ===== */

body.page-id-7065 {
  background: #f5f5f7;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
}

/* nagłówki: bez sztucznego kapitalizowania, ta sama czcionka */
body.page-id-7065 h1,
body.page-id-7065 h2,
body.page-id-7065 h3,
body.page-id-7065 h4,
body.page-id-7065 .entry-title {
  font-family: inherit;
  text-transform: none;
}

body.page-id-7065 .site-main {
  background: transparent;
}

body.page-id-7065 .parafia-home {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

/* odstępy między sekcjami */
body.page-id-7065 .parafia-home section + section {
  margin-top: 3rem;
}

/* ===================== HERO – 3-rzędowy grid ===================== */

body.page-id-7065 .parafia-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.3fr);
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "title title"
    "photo photo"
    "lead  cta";
  row-gap: 1.8rem;
  column-gap: 2rem;
  align-items: center;
  padding: 2.6rem 2.4rem 2.4rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
}

/* Wiersz 1 – nagłówek */

body.page-id-7065 .parafia-hero__text {
  grid-area: title;
  max-width: 720px;
}

body.page-id-7065 .parafia-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.4rem;
  color: #6b7280;
}

body.page-id-7065 .parafia-hero__text h1 {
  font-size: clamp(2.3rem, 3.3vw, 3.0rem);
  margin: 0;
  color: #111827;
}

/* Wiersz 2 – szerokie zdjęcie */

body.page-id-7065 .parafia-hero__photo {
  grid-area: photo;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
  width: 100%;
  aspect-ratio: 16 / 8; /* szerokie, panoramiczne */
  min-height: 260px;
}

body.page-id-7065 .parafia-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Wiersz 3 – opis po lewej, przyciski po prawej */

body.page-id-7065 .parafia-hero__lead {
  grid-area: lead;
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
  color: #374151;
  max-width: 640px;
}

body.page-id-7065 .parafia-hero__cta {
  grid-area: cta;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.9rem;
}

/* ===================== PRZYCISKI ===================== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.5rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  font-size: 0.95rem;
  min-width: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.btn-primary {
  background: #0052a5;
  color: #ffffff;
  border-color: #0052a5;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.28);
}

.btn-secondary {
  background: #ffffff;
  color: #0052a5;
  border-color: #0052a5;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.3);
}

.btn-secondary:hover {
  background: #e5efff;
}

/* ===================== KAFELKI "CO, GDZIE, KIEDY" ===================== */

body.page-id-7065 .parafia-quick {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.8rem;
}

body.page-id-7065 .parafia-quick__item {
  padding: 1.6rem 1.5rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

body.page-id-7065 .parafia-quick__item h2 {
  font-size: 1.15rem;
  margin-bottom: 0.8rem;
  color: #111827;
}

body.page-id-7065 .parafia-quick__item p {
  margin-bottom: 0.4rem;
  font-size: 0.96rem;
  color: #374151;
}

/* link "więcej" */

body.page-id-7065 .link-more {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.7rem;
  font-size: 0.9rem;
  text-decoration: none;
  color: #0052a5;
  font-weight: 500;
}

body.page-id-7065 .link-more::after {
  content: "→";
  font-size: 0.85em;
}

body.page-id-7065 .link-more:hover {
  text-decoration: underline;
}

/* Organy teaser: 3 kolumny jak sakramenty, ale tylko 1 kafelek */
.parafia-organy-teaser__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Domyślnie kafelek w LEWEJ kolumnie (jak na Twoim screenie) */
.parafia-organy-teaser__grid .sacrament-card--organy{
  grid-column: 1; /* zmień na 2, jeśli ma być na środku */
}

/* Na mniejszych ekranach nie wymuszaj kolumny */
@media (max-width: 900px){
  .parafia-organy-teaser__grid{
    grid-template-columns: 1fr;
  }
  .parafia-organy-teaser__grid .sacrament-card--organy{
    grid-column: auto;
  }
}

/* ===================== SAKRAMENTY – KAFELKI NA STRONIE GŁÓWNEJ ===================== */

body.page-id-7065 .parafia-sacraments {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.8rem 1.9rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

body.page-id-7065 .parafia-sacraments h2 {
  margin: 0 0 1.6rem;
  font-size: 1.6rem;
  text-align: center;
  color: #111827;
}

body.page-id-7065 .parafia-sacraments__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.6rem;
}

body.page-id-7065 .sacrament-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.3rem 1.2rem 1.4rem;
  border-radius: 0.95rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

body.page-id-7065 .sacrament-card__image {
  width: 100%;
  height: 170px;
  object-fit: cover;
  border-radius: 0.8rem;
  display: block;
  margin-bottom: 0.75rem;
}

/* nagłówki w kartach – mocniejsze i z linią */

body.page-id-7065 .sacrament-card h3 {
  font-size: 1.05rem;
  line-height: 1.3;
  margin: 0 0 0.4rem;
  text-align: center;
  text-transform: none;
  font-weight: 600;
  color: #111827;
}

body.page-id-7065 .sacrament-card h3::after {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: #d1d5db;
  margin: 0.45rem auto 0;
}

/* opis */

body.page-id-7065 .sacrament-card p {
  font-size: 0.94rem;
  line-height: 1.5;
  margin: 0.6rem 0 0.7rem;
  color: #4b5563;
}

body.page-id-7065 .sacrament-card .link-more,
body.page-id-7065 .sacrament-card a {
  font-size: 0.9rem;
}

/* ===================== GALERIA ===================== */

body.page-id-7065 .parafia-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 2rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

body.page-id-7065 .parafia-gallery__content h2 {
  margin: 0 0 0.95rem;
  font-size: 1.5rem;
  color: #111827;
}

body.page-id-7065 .parafia-gallery__content p {
  margin: 0 0 1.1rem;
  font-size: 0.96rem;
  color: #4b5563;
}

/* przycisk w galerii – konkretny, wypełniony */

body.page-id-7065 .parafia-gallery .btn {
  padding: 0.55rem 1.4rem;
}

body.page-id-7065 .parafia-gallery .btn-secondary {
  background: #0052a5;
  color: #ffffff;
  border-color: #0052a5;
}

body.page-id-7065 .parafia-gallery .btn-secondary:hover {
  background: #003a7a;
}

/* podglądowe zdjęcie */

body.page-id-7065 .parafia-gallery__preview {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
  min-height: 220px;
}

body.page-id-7065 .parafia-gallery__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===================== MOBILE ===================== */

@media (max-width: 900px) {
  body.page-id-7065 .parafia-home {
    padding-inline: 1.1rem;
  }

  body.page-id-7065 .parafia-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "title"
      "photo"
      "lead"
      "cta";
    padding: 2.2rem 1.7rem 2.1rem;
  }

  body.page-id-7065 .parafia-hero__cta {
    justify-content: flex-start;
  }

  body.page-id-7065 .parafia-gallery {
    grid-template-columns: 1fr;
  }
}

/* --- Ostateczna poprawka przycisku w bloku Galeria --- */
body.page-id-7065 .parafia-gallery a.btn.btn-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.8rem;
  line-height: 1;
  border-radius: 999px;
}

/* ===========================
   Globalny przycisk "Powrót"
   =========================== */

/* kontener + marginesy dla globalnej nawigacji (gdy jest poza .*-page) */
:root{
  --pnm-container: 1140px;
  --pnm-gutter: clamp(12px, 3vw, 24px);
  --pnm-top-gap: clamp(12px, 2vw, 28px);
}

/* jeśli Twój globalny wrapper ma klasę .pnm-page-nav */
.pnm-page-nav{
  max-width: var(--pnm-container);
  margin: 0 auto;                       /* centrowanie kontenera */
  padding: var(--pnm-top-gap) var(--pnm-gutter) 0;
  margin-bottom: 1.5rem;
}

/* ujednolicona wielkość przycisku w tej nawigacji */
.pnm-page-nav .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  font-size: 0.9rem;
  line-height: 1;
}

/* usuń "podwójny" odstęp u góry, gdy nav jest przed kontenerem strony */
.pnm-page-nav + .intencje-page,
.pnm-page-nav + .ogloszenia-page,
.pnm-page-nav + .standardy-page,
.pnm-page-nav + .harmonogram-page,
.pnm-page-nav + .sakrament-page,
.pnm-page-nav + .chrzest-page,
.pnm-page-nav + .bierzmowanie-page,
.pnm-page-nav + .pokuta-page,
.pnm-page-nav + .malzenstwo-page,
.pnm-page-nav + .organy-page{
  padding-top: 1.75rem; /* było 3rem -> robiło "pusty pas" */
}

/* ===========================================
   Strona "Intencje mszalne" – blok .intencje-page
   =========================================== */

.intencje-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
}

.intencje-page h1,
.intencje-page h2,
.intencje-page h3 {
  font-family: inherit;
  text-transform: none;
}

/* HERO */

.intencje-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.intencje-hero__content {
  max-width: 540px;
  align-self: center;
}

.intencje-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.intencje-hero__content h1 {
  font-size: clamp(2.0rem, 3vw, 2.6rem);
  margin-bottom: 0.8rem;
  color: #111827;
}

.intencje-hero__content p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.6rem;
  color: #374151;
}

.intencje-hero__note {
  font-size: 0.9rem;
  color: #6b7280;
}

.intencje-hero__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.intencje-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* BLOK Z TYGODNIEM */

.intencje-week {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
  margin-bottom: 2.5rem;
}

.intencje-week__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1.4rem;
}

.intencje-week__meta h2 {
  margin: 0;
  font-size: 1.5rem;
  color: #111827;
}

.intencje-week__meta p {
  margin: 0;
  font-size: 0.95rem;
  color: #4b5563;
}

/* siatka dni */

.intencje-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.6rem;
}

/* pojedynczy dzień */

.intencje-day {
  padding: 1.2rem 1.1rem 1.3rem;
  border-radius: 0.9rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

.intencje-day h3 {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #111827;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.intencje-day h3 span {
  font-size: 0.9rem;
  font-weight: 500;
  color: #6b7280;
}

.intencje-day ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.intencje-day li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.6rem;
  row-gap: 0.2rem;
  align-items: baseline;
  font-size: 0.94rem;
  color: #374151;
}

.intencje-day li + li {
  margin-top: 0.25rem;
}

.intencje-time {
  font-weight: 600;
  font-feature-settings: "tnum" 1; /* bardziej równe cyfry */
  min-width: 3.2rem;
}

.intencje-text {
  line-height: 1.5;
}

/* STOPKA INFORMACYJNA */

.intencje-info {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 1.9rem 1.7rem 1.8rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.intencje-info h2 {
  margin: 0 0 0.8rem;
  font-size: 1.3rem;
  color: #111827;
}

.intencje-info p {
  margin: 0;
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.7;
}

/* RESPONSYWNOŚĆ */

@media (max-width: 900px) {
  .intencje-page {
    padding-inline: 1.1rem;
  }

  .intencje-hero {
    grid-template-columns: 1fr;
    padding: 2.1rem 1.7rem;
  }

  .intencje-week__meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Wyrównanie tekstu do obu marginesów na wybranych podstronach (bez strony głównej) */
.intencje-page p {
  text-align: justify;
}

/* ============================
   Podstrona "Ogłoszenia parafialne"
   ============================ */

.ogloszenia-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", sans-serif;
}

.ogloszenia-page p {
  text-align: justify;
}

/* Nagłówki na stronie ogłoszeń – bez sztucznego kapitalizowania */
.ogloszenia-page h1,
.ogloszenia-page h2,
.ogloszenia-page h3,
.ogloszenia-page h4 {
  font-family: inherit;
  text-transform: none !important;
}

/* NAWIGACJA / POWRÓT */

.ogloszenia-page__nav {
  margin-bottom: 1.5rem;
}

.ogloszenia-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  font-size: 0.9rem;
  min-width: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.ogloszenia-page .btn-secondary {
  background: #ffffff;
  color: #0052a5;
  border-color: #0052a5;
}

.ogloszenia-page .btn-secondary:hover {
  background: #e5efff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  transform: translateY(-1px);
}

.ogloszenia-back {
  padding: 0.45rem 1.25rem;
}

/* HERO */

.ogloszenia-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.ogloszenia-hero__content {
  max-width: 540px;
  align-self: center;
}

.ogloszenia-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.ogloszenia-hero__content h1 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin-bottom: 0.8rem;
  color: #111827;
}

.ogloszenia-hero__content p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.6rem;
  color: #374151;
}

.ogloszenia-hero__note {
  font-size: 0.9rem;
  color: #6b7280;
}

.ogloszenia-hero__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.ogloszenia-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* BLOK OGŁOSZEŃ */

.ogloszenia-list {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
  margin-bottom: 2.5rem;
}

.ogloszenia-list__header {
  margin-bottom: 1.3rem;
}

.ogloszenia-list__header h2 {
  margin: 0 0 0.6rem;
  font-size: 1.5rem;
  color: #111827;
}

.ogloszenia-list__header p {
  margin: 0;
  font-size: 0.95rem;
  color: #4b5563;
}

.ogloszenia-items {
  margin: 0;
  padding-left: 1.2rem;
  font-size: 0.96rem;
  color: #374151;
}

.ogloszenia-items > li + li {
  margin-top: 0.9rem;
}

.ogloszenia-oplatki {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
  list-style: disc;
}

.ogloszenia-oplatki li {
  margin: 0.1rem 0;
}

/* podpis */

.ogloszenia-signature {
  margin-top: 1.6rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: right;
}

/* RESPONSYWNOŚĆ */

@media (max-width: 900px) {
  .ogloszenia-page {
    padding-inline: 1.1rem;
  }

  .ogloszenia-hero {
    grid-template-columns: 1fr;
    padding: 2.1rem 1.7rem;
  }
}

/* ============================
   Podstrona "Standardy ochrony małoletnich"
   ============================ */

.standardy-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", sans-serif;
}

.standardy-page p {
  text-align: justify;
}

/* nagłówki – ta sama czcionka, bez kapitalizacji */
.standardy-page h1,
.standardy-page h2,
.standardy-page h3,
.standardy-page h4 {
  font-family: inherit;
  text-transform: none;
}

/* NAWIGACJA / POWRÓT */

.standardy-page__nav {
  margin-bottom: 1.5rem;
}

.standardy-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  font-size: 0.9rem;
  min-width: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.standardy-page .btn-primary {
  background: #0052a5;
  color: #ffffff;
  border-color: #0052a5;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.28);
}

.standardy-page .btn-secondary {
  background: #ffffff;
  color: #0052a5;
  border-color: #0052a5;
}

.standardy-page .btn-secondary:hover {
  background: #e5efff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  transform: translateY(-1px);
}

/* lekko mniejszy przycisk powrotu */
.standardy-page .standardy-back {
  padding: 0.45rem 1.25rem;
}

/* HERO */

.standardy-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.standardy-hero__content {
  max-width: 580px;
  align-self: center;
}

.standardy-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.standardy-hero__content h1 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin-bottom: 0.8rem;
  color: #111827;
}

.standardy-hero__content p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.6rem;
  color: #374151;
}

.standardy-hero__note {
  font-size: 0.9rem;
  color: #6b7280;
}

.standardy-hero__actions {
  margin-top: 0.9rem;
}

.standardy-hero__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.standardy-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* GŁÓWNA TREŚĆ: układ dwukolumnowy */

.standardy-main {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.standardy-main__layout {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: 2.2rem;
}

/* TOC */

.standardy-toc {
  padding: 1.1rem 1rem 1.2rem;
  border-radius: 0.9rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

.standardy-toc h2 {
  margin: 0 0 0.8rem;
  font-size: 1.1rem;
  color: #111827;
}

.standardy-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.94rem;
}

.standardy-toc li + li {
  margin-top: 0.25rem;
}

.standardy-toc a {
  text-decoration: none;
  color: #0052a5;
}

.standardy-toc a:hover {
  text-decoration: underline;
}

/* TREŚĆ */

.standardy-content {
  font-size: 0.96rem;
  color: #374151;
}

.standardy-section + .standardy-section {
  margin-top: 1.6rem;
}

.standardy-section h2 {
  margin: 0 0 0.6rem;
  font-size: 1.2rem;
  color: #111827;
}

.standardy-section p {
  margin: 0 0 0.5rem;
}

.standardy-section ul {
  margin: 0.3rem 0 0.7rem 1.1rem;
  padding: 0;
}

.standardy-section li {
  margin: 0.15rem 0;
}

.standardy-note {
  margin-top: 0.8rem;
  font-size: 0.9rem;
  color: #6b7280;
}

/* RESPONSYWNOŚĆ */

@media (max-width: 900px) {
  .standardy-page {
    padding-inline: 1.1rem;
  }

  .standardy-hero {
    grid-template-columns: 1fr;
    padding: 2.1rem 1.7rem;
  }

  .standardy-main__layout {
    grid-template-columns: 1fr;
  }
}

/* Kafelek: powrót na początek strony – wersja bez białego kontenera */
.standardy-backtotop {
  margin-top: 2rem;
  text-align: center;
}

.standardy-backtotop__card {
  display: inline-block;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.standardy-backtotop__btn {
  padding: 0.5rem 1.6rem;
  border-radius: 999px;
  border: 1px solid #0052a5;
  background: #ffffff;
  color: #0052a5;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.standardy-backtotop__btn:hover {
  background: #e5efff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  transform: translateY(-1px);
}

/* ===========================================
   Podstrona "Msze święte i nabożeństwa"
   =========================================== */

.harmonogram-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", sans-serif;
}

.harmonogram-page h1,
.harmonogram-page h2,
.harmonogram-page h3 {
  font-family: inherit;
  text-transform: none;
}

.harmonogram-page p {
  text-align: justify;
}

/* NAWIGACJA / POWRÓT */

.harmonogram-page__nav {
  margin-bottom: 1.5rem;
}

.harmonogram-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  font-size: 0.9rem;
  min-width: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.harmonogram-page .btn-secondary {
  background: #ffffff;
  color: #0052a5;
  border-color: #0052a5;
}

.harmonogram-page .btn-secondary:hover {
  background: #e5efff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  transform: translateY(-1px);
}

/* trochę mniejszy przycisk powrotu */
.harmonogram-back {
  padding: 0.45rem 1.25rem;
}

/* HERO */

.harmonogram-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.harmonogram-hero__content {
  max-width: 540px;
  align-self: center;
}

.harmonogram-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.harmonogram-hero__content h1 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin-bottom: 0.8rem;
  color: #111827;
}

.harmonogram-hero__content p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.6rem;
  color: #374151;
}

.harmonogram-hero__note {
  font-size: 0.9rem;
  color: #6b7280;
}

.harmonogram-hero__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.harmonogram-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* GŁÓWNY BLOK */

.harmonogram-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.harmonogram-card {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.harmonogram-card h2 {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  color: #111827;
}

.harmonogram-card h3 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  color: #111827;
}

/* Msze – lista definicji */

.harmonogram-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.harmonogram-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
  column-gap: 1rem;
  row-gap: 0.2rem;
  align-items: baseline;
  font-size: 0.96rem;
  color: #374151;
}

.harmonogram-row dt {
  font-weight: 600;
}

.harmonogram-row dd {
  margin: 0;
}

.harmonogram-note {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.88rem;
  color: #6b7280;
}

.harmonogram-footnote {
  margin-top: 0.9rem;
  font-size: 0.9rem;
  color: #6b7280;
}

/* Wspólna lista dla tygodniowych / comiesięcznych / wydarzeń */

.harmonogram-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.harmonogram-items li {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.7fr);
  column-gap: 1rem;
  align-items: baseline;
  font-size: 0.96rem;
  color: #374151;
}

.harmonogram-items li span:first-child {
  font-weight: 600;
}

.harmonogram-items li span:last-child {
  line-height: 1.5;
}

.harmonogram-meta {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0.15rem 0 0.9rem;
}

/* Wydarzenia 2025 – dwie kolumny */

.harmonogram-year-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr);
  gap: 1.8rem;
  align-items: flex-start;
  margin-top: 0.6rem;
}

.harmonogram-year-baptism .harmonogram-meta {
  margin-bottom: 0.4rem;
}

.harmonogram-dates {
  margin: 0.2rem 0 0 1.2rem;
  padding: 0;
  list-style: disc;
  font-size: 0.95rem;
  color: #374151;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* RESPONSYWNOŚĆ */

@media (max-width: 900px) {
  .harmonogram-page {
    padding-inline: 1.1rem;
  }

  .harmonogram-hero {
    grid-template-columns: 1fr;
    padding: 2.1rem 1.7rem;
  }

  .harmonogram-year-grid {
    grid-template-columns: 1fr;
  }

  .harmonogram-items li,
  .harmonogram-row {
    grid-template-columns: 1fr;
  }
}

/* Modal kontaktu – tło */
.kontakt-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

/* widoczny */
.kontakt-modal-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* Samo okno */
.kontakt-modal {
  position: relative;
  width: calc(100% - 2rem);
  max-width: 520px;
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2rem 1.9rem 1.4rem;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.22);
  font-size: 0.96rem;
  color: #374151;
}

/* X w prawym górnym rogu */
.kontakt-modal__close {
  position: absolute;
  top: 0.7rem;
  right: 0.9rem;
  border: none;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  color: #9ca3af;
}

.kontakt-modal__close:hover {
  color: #4b5563;
}

.kontakt-modal h2 {
  margin: 0 0 0.6rem;
  font-size: 1.3rem;
  color: #111827;
}

.kontakt-modal h3 {
  margin: 1rem 0 0.4rem;
  font-size: 1.05rem;
  color: #111827;
}

.kontakt-modal__body p {
  margin: 0 0 0.5rem;
}

.kontakt-hours {
  margin: 0.3rem 0 0.7rem 1.2rem;
  padding: 0;
  list-style: disc;
}

.kontakt-hours li {
  margin: 0.2rem 0;
}

.kontakt-note {
  font-size: 0.9rem;
  color: #6b7280;
}

.kontakt-modal__footer {
  margin-top: 0.8rem;
  text-align: right;
}

/* blokada przewijania strony przy otwartym modalu */
body.no-scroll {
  overflow: hidden;
}

/* Mobile – lekkie zmniejszenie paddingów */
@media (max-width: 600px) {
  .kontakt-modal {
    padding: 1.6rem 1.4rem 1.2rem;
  }
}

/* ===========================================
   Podstrony sakramentów
   =========================================== */

.sakrament-page,
.chrzest-page,
.bierzmowanie-page,
.pokuta-page,
.malzenstwo-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", sans-serif;
}

.sakrament-page p,
.chrzest-page p,
.bierzmowanie-page p,
.pokuta-page p,
.malzenstwo-page p {
  text-align: justify;
}

/* Nawigacja / powrót */

.sakrament-page__nav,
.chrzest-page__nav,
.bierzmowanie-page__nav,
.pokuta-page__nav,
.malzenstwo-page__nav {
  margin-bottom: 1.5rem;
}

/* Przyciski wewnątrz stron sakramentów */

.sakrament-page .btn,
.chrzest-page .btn,
.bierzmowanie-page .btn,
.pokuta-page .btn,
.malzenstwo-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  font-size: 0.9rem;
  min-width: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease;
}

.sakrament-page .btn-secondary,
.chrzest-page .btn-secondary,
.bierzmowanie-page .btn-secondary,
.pokuta-page .btn-secondary,
.malzenstwo-page .btn-secondary {
  background: #ffffff;
  color: #0052a5;
  border-color: #0052a5;
}

.sakrament-page .btn-secondary:hover,
.chrzest-page .btn-secondary:hover,
.bierzmowanie-page .btn-secondary:hover,
.pokuta-page .btn-secondary:hover,
.malzenstwo-page .btn-secondary:hover {
  background: #e5efff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2);
  transform: translateY(-1px);
}

/* Mniejsze przyciski powrotu */

.sakrament-back,
.chrzest-back,
.bierzmowanie-back,
.pokuta-back,
.malzenstwo-back {
  padding: 0.45rem 1.25rem;
}

/* HERO – wspólny układ */

.sakrament-hero,
.chrzest-hero,
.bierzmowanie-hero,
.pokuta-hero,
.malzenstwo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.sakrament-hero__content,
.chrzest-hero__content,
.bierzmowanie-hero__content,
.pokuta-hero__content,
.malzenstwo-hero__content {
  max-width: 540px;
  align-self: center;
}

.sakrament-hero__subtitle,
.chrzest-hero__subtitle,
.bierzmowanie-hero__subtitle,
.pokuta-hero__subtitle,
.malzenstwo-hero__subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.sakrament-hero__content h1,
.chrzest-hero__content h1,
.bierzmowanie-hero__content h1,
.pokuta-hero__content h1,
.malzenstwo-hero__content h1 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin-bottom: 0.8rem;
  color: #111827;
}

.sakrament-hero__content p,
.chrzest-hero__content p,
.bierzmowanie-hero__content p,
.pokuta-hero__content p,
.malzenstwo-hero__content p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.6rem;
  color: #374151;
}

.sakrament-hero__note,
.chrzest-hero__note,
.bierzmowanie-hero__note,
.pokuta-hero__note,
.malzenstwo-hero__note {
  font-size: 0.9rem;
  color: #6b7280;
}

/* Zdjęcie w hero */

.sakrament-hero__photo,
.chrzest-hero__photo,
.bierzmowanie-hero__photo,
.pokuta-hero__photo,
.malzenstwo-hero__photo {
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.sakrament-hero__photo img,
.chrzest-hero__photo img,
.bierzmowanie-hero__photo img,
.pokuta-hero__photo img,
.malzenstwo-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* GŁÓWNY BLOK TREŚCI */

.sakrament-main,
.chrzest-main,
.bierzmowanie-main,
.pokuta-main,
.malzenstwo-main {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.sakrament-main__inner,
.chrzest-main__inner,
.bierzmowanie-main__inner,
.pokuta-main__inner,
.malzenstwo-main__inner {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

/* Cytat biblijny na początku treści */

.sakrament-quote,
.chrzest-quote,
.bierzmowanie-quote,
.pokuta-quote,
.malzenstwo-quote {
  border-left: 4px solid #0052a5;
  padding-left: 1.2rem;
  margin: 0;
}

.sakrament-quote p,
.chrzest-quote p,
.bierzmowanie-quote p,
.pokuta-quote p,
.malzenstwo-quote p {
  margin: 0;
  text-align: left;
}

.sakrament-quote__cite,
.chrzest-quote__cite,
.bierzmowanie-quote__cite,
.pokuta-quote__cite,
.malzenstwo-quote__cite {
  margin-top: 0.4rem;
  font-size: 0.9rem;
  color: #6b7280;
  font-style: italic;
}

/* Zwykła treść */

.sakrament-content,
.chrzest-content,
.bierzmowanie-content,
.pokuta-content,
.malzenstwo-content {
  font-size: 0.96rem;
  color: #374151;
}

.sakrament-section + .sakrament-section,
.chrzest-section + .chrzest-section,
.bierzmowanie-section + .bierzmowanie-section,
.pokuta-section + .pokuta-section,
.malzenstwo-section + .malzenstwo-section {
  margin-top: 1.6rem;
}

.sakrament-section h2,
.chrzest-section h2,
.bierzmowanie-section h2,
.pokuta-section h2,
.malzenstwo-section h2 {
  margin: 0 0 0.6rem;
  font-size: 1.3rem;
  color: #111827;
}

.sakrament-section p,
.chrzest-section p,
.bierzmowanie-section p,
.pokuta-section p,
.malzenstwo-section p {
  margin: 0 0 0.5rem;
}

/* Listy */

.sakrament-list,
.chrzest-list,
.bierzmowanie-list,
.pokuta-list,
.malzenstwo-list {
  list-style: disc;
  margin: 0.3rem 0 0.7rem 1.2rem;
  padding: 0;
}

.sakrament-list li,
.chrzest-list li,
.bierzmowanie-list li,
.pokuta-list li,
.malzenstwo-list li {
  margin: 0.25rem 0;
}

/* Dodatkowe notatki / uwagi */

.sakrament-note,
.chrzest-note,
.bierzmowanie-note,
.pokuta-note,
.malzenstwo-note {
  font-size: 0.9rem;
  color: #6b7280;
}

/* Specjalnie dla "Sakramentu Pokuty i Pojednania" – lista kroków */

.pokuta-steps {
  margin: 0.4rem 0 0.7rem 1.2rem;
  padding: 0;
}

.pokuta-steps > li {
  margin: 0.4rem 0 0.7rem;
}

.pokuta-steps h3 {
  margin: 0 0 0.25rem;
  font-size: 1.02rem;
  color: #111827;
}

.pokuta-steps p {
  margin: 0 0 0.35rem;
}

/* RESPONSYWNOŚĆ – sakramenty */

@media (max-width: 900px) {
  .sakrament-page,
  .chrzest-page,
  .bierzmowanie-page,
  .pokuta-page,
  .malzenstwo-page {
    padding-inline: 1.1rem;
  }

  .sakrament-hero,
  .chrzest-hero,
  .bierzmowanie-hero,
  .pokuta-hero,
  .malzenstwo-hero {
    grid-template-columns: 1fr;
    padding: 2.1rem 1.7rem;
  }
}

/* Nagłówki na wszystkich stronach sakramentów – bez sztucznej kapitalizacji */

.sakrament-page h1,
.sakrament-page h2,
.sakrament-page h3,
.sakrament-page h4,
.chrzest-page h1,
.chrzest-page h2,
.chrzest-page h3,
.chrzest-page h4,
.bierzmowanie-page h1,
.bierzmowanie-page h2,
.bierzmowanie-page h3,
.bierzmowanie-page h4,
.pokuta-page h1,
.pokuta-page h2,
.pokuta-page h3,
.pokuta-page h4,
.malzenstwo-page h1,
.malzenstwo-page h2,
.malzenstwo-page h3,
.malzenstwo-page h4 {
  font-family: inherit;
  text-transform: none !important;
}

/* Wyrównanie rozmiarów nagłówków w treści wszystkich sakramentów */
.sakrament-main h2,
.chrzest-main h2,
.bierzmowanie-main h2,
.pokuta-main h2,
.malzenstwo-main h2 {
  margin: 0 0 0.6rem;
  font-size: 1.3rem;
  color: #111827;
}

.sakrament-main h3,
.chrzest-main h3,
.bierzmowanie-main h3,
.pokuta-main h3,
.malzenstwo-main h3 {
  margin: 0.4rem 0 0.4rem;
  font-size: 1.05rem;
  color: #111827;
  font-weight: 600;
}

/* Delikatnie mniejszy nagłówek na hero, żeby zmieścił się w jednym wierszu */
body.page-id-7065 .parafia-hero__text h1 {
  font-size: clamp(2rem, 2.6vw, 2.4rem);
  line-height: 1.1;
}

/* Na mniejszych ekranach jeszcze odrobinkę mniejszy */
@media (max-width: 900px) {
  body.page-id-7065 .parafia-hero__text h1 {
    font-size: 1.5rem;
  }
}

/* Galeria w ogłoszeniach (2 zdjęcia obok siebie, na telefonie jedno pod drugim) */
.ogloszenia-gallery{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}

.ogloszenia-gallery__item{
  display:block;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}

.ogloszenia-gallery__item img{
  width:100%;
  height:auto;
  display:block;
  transform:translateZ(0);
  transition:transform .2s ease;
}

.ogloszenia-gallery__item:hover img{
  transform:scale(1.02);
}

@media (max-width:640px){
  .ogloszenia-gallery{ grid-template-columns:1fr; }
}

/* ===== Back to Top (globalny) – środek, nowocześnie ===== */

.back-to-top {
  position: fixed;
  left: 50%;
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 9999;

  width: 48px;
  height: 48px;
  border-radius: 999px;

  border: 1px solid rgba(0,82,165,.45);
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);

  color: #0052a5;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.20);

  opacity: 0;
  transform: translate(-50%, 10px);
  pointer-events: none;

  transition: opacity 0.18s ease, transform 0.18s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.back-to-top:hover {
  background: rgba(229,239,255,.95);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.24);
}

.back-to-top:focus-visible {
  outline: 3px solid rgba(0,82,165,.25);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: none; }
}

@media (max-width: 420px) {
  .back-to-top {
    bottom: calc(12px + env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
  }
}

/* ===== Mobile – globalne dopasowania ===== */

/* Unikaj poziomego przewijania na mobile (częsty problem z przypadkowymi szerokościami) */
body { overflow-x: hidden; -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }

/* Spójne marginesy na wąskich ekranach dla wszystkich głównych kontenerów */
@media (max-width: 600px) {
  .parafia-home,
  .intencje-page,
  .ogloszenia-page,
  .standardy-page,
  .harmonogram-page,
  .sakrament-page,
  .chrzest-page,
  .bierzmowanie-page,
  .pokuta-page,
  .malzenstwo-page {
    padding: 2rem 1rem 3rem;
  }

  /* Przyciski: trochę mniejsze, wygodne pod dotyk */
  .btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.95rem;
    touch-action: manipulation;
  }
}

/* Lepsze zawijanie długich słów i adresów (szczególnie w listach) */
p, li, a { overflow-wrap: anywhere; }

/* ===== Globalny "Powrót na stronę główną" ===== */

.pnm-page-nav{
  max-width: 1140px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem 0;
}

@media (max-width: 600px){
  .pnm-page-nav{ padding: 1rem 1rem 0; }
}

/* ===== Responsywna typografia i odstępy (globalnie) ===== */

:root{
  --pnm-font-base: clamp(16px, 1.0vw + 14px, 18px);
  --pnm-h1: clamp(1.6rem, 2.8vw, 2.25rem);
  --pnm-h2: clamp(1.25rem, 2.0vw, 1.65rem);
  --pnm-h3: clamp(1.1rem, 1.6vw, 1.35rem);
}

body{ font-size: var(--pnm-font-base); }

.parafia-home h1, .intencje-page h1, .ogloszenia-page h1, .standardy-page h1, .harmonogram-page h1,
.sakrament-page h1, .chrzest-page h1, .bierzmowanie-page h1, .pokuta-page h1, .malzenstwo-page h1{
  font-size: var(--pnm-h1);
  line-height: 1.15;
}

.parafia-home h2, .intencje-page h2, .ogloszenia-page h2, .standardy-page h2, .harmonogram-page h2,
.sakrament-page h2, .chrzest-page h2, .bierzmowanie-page h2, .pokuta-page h2, .malzenstwo-page h2{
  font-size: var(--pnm-h2);
  line-height: 1.2;
}

.parafia-home h3, .intencje-page h3, .ogloszenia-page h3, .standardy-page h3, .harmonogram-page h3,
.sakrament-page h3, .chrzest-page h3, .bierzmowanie-page h3, .pokuta-page h3, .malzenstwo-page h3{
  font-size: var(--pnm-h3);
}

/* „Twarde” elementy, które często psują mobile */
img, video, iframe{ max-width: 100%; height: auto; }
table{ max-width: 100%; overflow-x: auto; display: block; }

/* ============================
   Podstrona: Organy parafialne
   ============================ */

.organy-page{
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
}

.organy-page p{ text-align: justify; }

.organy-page h1,
.organy-page h2,
.organy-page h3,
.organy-page h4{
  font-family: inherit;
  text-transform: none !important;
}

/* NAWIGACJA (jeśli używasz lokalnej, obok globalnej .pnm-page-nav) */
.organy-page__nav{
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}

/* HERO */
.organy-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: stretch;
  padding: 2.4rem 2.2rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.15);
  margin-bottom: 3rem;
}

.organy-hero__content{ max-width: 580px; align-self: center; }

.organy-hero__subtitle{
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  margin-bottom: 0.45rem;
  color: #6b7280;
}

.organy-hero__content h1{
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin: 0 0 0.8rem;
  color: #111827;
}

.organy-hero__content p{
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 0.6rem;
  color: #374151;
}

.organy-hero__note{ font-size: 0.9rem; color: #6b7280; }

.organy-badges{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .95rem;
}

.organy-pill{
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  color: #374151;
  font-size: 0.9rem;
  line-height: 1;
}

.organy-hero__photo{
  border-radius: 1.1rem;
  overflow: hidden;
  min-height: 230px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.organy-hero__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* MAIN: TOC + treść */
.organy-main{
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 2.1rem 1.9rem 1.8rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.organy-main__layout{
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: start;
}

/* TOC */
.organy-toc{
  padding: 1.1rem 1rem 1.2rem;
  border-radius: 0.9rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

@media (min-width: 901px){
  .organy-toc{
    position: sticky;
    top: 1rem;
    align-self: start;
  }
}

.organy-toc h2{
  margin: 0 0 0.8rem;
  font-size: 1.1rem;
  color: #111827;
}

.organy-toc ul{
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.94rem;
}

.organy-toc li + li{ margin-top: 0.25rem; }

.organy-toc a{
  display: block;
  padding: 0.45rem 0.55rem;
  border-radius: 0.75rem;
  text-decoration: none;
  color: #0052a5;
  font-weight: 600;
}

.organy-toc a:hover{
  background: #e5efff;
  text-decoration: none;
}

/* TREŚĆ */
.organy-content{
  font-size: 0.96rem;
  color: #374151;
  min-width: 0;
}

/* lepsze przewijanie do sekcji po kliknięciu w TOC */
.organy-section[id]{ scroll-margin-top: 16px; }

.organy-section + .organy-section{
  margin-top: 2.25rem;
  padding-top: 2.25rem;
  border-top: 1px solid #e5e7eb;
}

.organy-section h2{
  margin: 0 0 0.75rem;
  font-size: 1.3rem;
  color: #111827;
}

.organy-section p{ margin: 0 0 0.55rem; }

.organy-note{
  margin-top: 0.8rem;
  font-size: 0.9rem;
  color: #6b7280;
}

/* TABELA dyspozycji */
.organy-table-wrap{
  clear: both;                 /* kluczowe: tabela nie zawija się obok float zdjęcia */
  overflow: auto;              /* poziomy scroll tylko gdy trzeba */
  border: 1px solid #e5e7eb;
  border-radius: .9rem;
  background: #ffffff;
}

.organy-table{
  width: 100%;
  display: table;              /* nadpisuje Twoje globalne: table{display:block} */
  table-layout: auto;
  border-collapse: collapse;
  min-width: 640px;
  background: #ffffff;
}

.organy-table th,
.organy-table td{
  padding: .7rem .85rem;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;

  /* kluczowe: żadnych ellipsis / obcinania */
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.organy-table th{
  background: #f9fafb;
  color: #111827;
  text-align: left;
}

.organy-table thead th{
  position: sticky;
  top: 0;
  background: #f9fafb;
  color: #111827;
  font-weight: 700;
  z-index: 1;
}

.organy-table tbody tr:last-child td{ border-bottom: 0; }

/* ZDJĘCIA w treści (opływ tekstu) */
.organy-section::after{ content:""; display:block; clear:both; }

.organy-figure{
  margin: 1.1rem 0 1.25rem;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 1.05rem;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.organy-figure img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  box-shadow: none;
}

.organy-figure figcaption{
  margin: 0;
  padding: 0.75rem 0.9rem;
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  font-size: 0.92rem;
  color: #6b7280;
  line-height: 1.55;
}

.organy-figure--wide{ clear: both; }

.organy-figure--left,
.organy-figure--right{
  width: min(520px, 52%);
  max-width: 520px;
}

@media (min-width: 901px){
  .organy-figure--left{ float:left; margin: 0.3rem 1.5rem 1rem 0; }
  .organy-figure--right{ float:right; margin: 0.3rem 0 1rem 1.5rem; }
}

/* RESPONSYWNOŚĆ */
@media (max-width: 900px){
  .organy-page{ padding-inline: 1.1rem; }
  .organy-hero{ grid-template-columns: 1fr; padding: 2.1rem 1.7rem; }
  .organy-main__layout{ grid-template-columns: 1fr; }
  .organy-table{ min-width: 620px; }
}

