/*
Theme Name: Parafia Żychlin
Theme URI: https://www.zychlinparafia.pl/
Description: Motyw parafii Świętych Apostołów Piotra i Pawła w Żychlinie. Bootstrap 5 + własna warstwa tożsamości (paleta „Kamień i Nieszpory"). Ogłoszenia i intencje czytane z istniejących postów (kategoria Aktualności), porządek Mszy i sakramenty jako CPT, konfiguracja na stronie ustawień „Parafia".
Author: HADNET
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: parafia-zychlin
*/

/* ============================================================
   TOKENY — paleta „Kamień i Nieszpory" + mapowanie Bootstrapa
   ============================================================ */
:root{
  --stone-100:#ECEAE3; --stone-200:#E3E0D7; --stone-300:#D3CEC1;
  --ink:#221E1A; --ink-soft:#574F46; --plum:#4B3A55; --plum-deep:#36283F;
  --gold:#9C8049; --paper:#FBFAF7;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'EB Garamond',Georgia,serif;

  --bs-body-bg:var(--stone-100);
  --bs-body-color:var(--ink);
  --bs-body-font-family:var(--font-body);
  --bs-body-font-size:1.125rem;
  --bs-body-line-height:1.6;
  --bs-emphasis-color:var(--ink);
  --bs-primary:#4B3A55; --bs-primary-rgb:75,58,85;
  --bs-link-color:#4B3A55; --bs-link-color-rgb:75,58,85;
  --bs-link-hover-color:#36283F;
  --bs-border-color:#D3CEC1;
}

body{ -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,.display-1,.display-2,.display-3{ font-family:var(--font-display); font-weight:600; line-height:1.1; }

/* Wspólne elementy tożsamości */
.eyebrow{ font-size:.72rem; letter-spacing:.32em; text-transform:uppercase; color:var(--plum); font-weight:500; }
.rule-gold{ height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.6; }
.btn-primary{ --bs-btn-bg:var(--plum); --bs-btn-border-color:var(--plum); --bs-btn-hover-bg:var(--plum-deep); --bs-btn-hover-border-color:var(--plum-deep); }
.btn-outline-primary{ --bs-btn-color:var(--plum); --bs-btn-border-color:var(--plum); --bs-btn-hover-bg:var(--plum); --bs-btn-hover-border-color:var(--plum); }
:focus-visible{ outline:2px solid var(--plum); outline-offset:3px; }
.section-head h2{ font-size:clamp(2rem,4vw,3rem); }
.section-head p{ color:var(--ink-soft); }
.section-panel{ background:var(--stone-200); border-top:1px solid var(--stone-300); border-bottom:1px solid var(--stone-300); }

/* NAVBAR */
.navbar{ background:color-mix(in srgb,var(--stone-100) 92%,transparent); backdrop-filter:blur(6px); border-bottom:1px solid var(--stone-300); }
.navbar .brand-eyebrow{ display:block; font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft); line-height:1; margin-bottom:.25rem; }
.navbar .brand-name{ font-family:var(--font-display); font-size:1.4rem; font-weight:600; line-height:1; color:var(--ink); }
.navbar .nav-link{ color:var(--ink-soft); font-size:.95rem; letter-spacing:.02em; }
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .current-menu-item>.nav-link{ color:var(--plum); }

@media (max-width: 991.98px){
  .navbar .container{ align-items:flex-start; }
  .navbar .navbar-brand{ max-width: calc(100% - 3.5rem); white-space: normal; }
  .navbar .brand-eyebrow{ display:block; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:normal; font-size:.52rem; letter-spacing:.1em; line-height:1.15; }
  .navbar .brand-name{ display:block; max-width:100%; line-height:1.05; white-space: normal; overflow-wrap:anywhere; word-break: normal; font-size:1.08rem; }
  .navbar-toggler{ flex-shrink:0; margin-top:.15rem; }
}

/* HERO */
.hero-photo{ position:relative; min-height:clamp(26rem,70vh,40rem); display:flex; align-items:flex-end; background-size:cover; background-position:center 38%; }
.hero-photo .hero-scrim{ position:absolute; inset:0; background:linear-gradient(to top,rgba(54,40,63,.86) 0%,rgba(54,40,63,.45) 38%,rgba(54,40,63,.12) 70%,rgba(54,40,63,.30) 100%); z-index:1; }
.hero-photo .hero-ngg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-photo .hero-ngg img{ width:100%; height:100%; object-fit:cover; }
.hero-photo .container{ position:relative; z-index:2; }
.hero-photo .eyebrow{ color:var(--gold); }
.hero-photo h1{ color:var(--paper); font-weight:500; max-width:18ch; font-size:clamp(2.4rem,5.5vw,4.2rem); text-shadow:0 1px 24px rgba(0,0,0,.35); }
.hero-photo h1 em{ font-style:italic; color:#E8D9A8; }
.hero-photo .lede{ color:color-mix(in srgb,var(--paper) 88%,transparent); max-width:44ch; font-size:clamp(1.1rem,1.4vw,1.35rem); text-shadow:0 1px 16px rgba(0,0,0,.4); }

/* SEKCJA SLIDERA NEXTGEN (pod "Slowo na powitanie") */
.pz-nextgen-section .pz-nextgen-slider{ overflow:hidden; }
.pz-nextgen-section .pz-nextgen-slider img{ max-width:100%; height:auto; display:block; }

/* SŁOWO WSTĘPNE: inicjał iluminowany (sygnatura) */
.welcome p:first-of-type::first-letter{ font-family:var(--font-display); font-weight:600; font-size:4.4rem; line-height:.78; float:left; margin:.35rem .75rem 0 0; color:var(--plum); text-shadow:0 1px 0 var(--gold); }

/* MSZE */
.hours-cell{ background:var(--paper); border:1px solid var(--stone-300); height:100%; }
.hours-cell h3{ font-family:var(--font-body); font-size:1rem; letter-spacing:.04em; text-transform:uppercase; font-weight:500; color:var(--plum); }
.hours-cell .row-time{ display:flex; justify-content:space-between; gap:1rem; padding-block:.4rem; border-bottom:1px dotted var(--stone-300); }
.hours-cell .row-time:last-child{ border-bottom:0; }
.hours-cell .time{ font-family:var(--font-display); font-size:1.2rem; font-weight:600; color:var(--ink); }

/* OGŁOSZENIA / INTENCJE */
.notice{ border-top:1px solid var(--stone-300); }
.notice:last-child{ border-bottom:1px solid var(--stone-300); }
.notice time{ font-family:var(--font-display); color:var(--plum); font-size:1.05rem; white-space:nowrap; }
.notice h3{ font-size:1.35rem; font-weight:500; }
.notice p{ color:var(--ink-soft); }
.parish-content ul{ list-style:none; padding-left:0; }
.parish-content ul li{ position:relative; padding-left:1.4rem; margin-bottom:.5rem; }
.parish-content ul li::before{ content:"\2767"; position:absolute; left:0; color:var(--gold); }
.parish-content .time{ font-family:var(--font-display); font-weight:600; color:var(--plum); }

/* SAKRAMENTY */
.card.sacrament{ background:var(--paper); border:1px solid var(--stone-300); transition:border-color .25s ease, transform .25s ease; }
.card.sacrament:hover{ border-color:var(--plum); transform:translateY(-2px); }
.card.sacrament .num{ font-family:var(--font-display); color:var(--gold); font-size:.95rem; letter-spacing:.1em; }
.card.sacrament h3{ font-size:1.4rem; font-weight:500; }
.card.sacrament p{ color:var(--ink-soft); font-size:.98rem; }

/* CMENTARZ */
.cemetery-figure img{ border:1px solid var(--stone-300); object-fit:cover; width:100%; max-height:34rem; }
.cemetery-figure figcaption{ font-style:italic; color:var(--ink-soft); font-size:.85rem; }

/* KANCELARIA */
.office h3{ font-family:var(--font-body); font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--plum); font-weight:500; }
.office p{ line-height:1.7; }

/* FOOTER */
.site-footer{ background:var(--plum-deep); color:var(--stone-200); }
.site-footer a{ color:#E8D9A8; }
.site-footer .brand-name{ font-family:var(--font-display); font-size:1.5rem; }
.site-footer p{ color:color-mix(in srgb,var(--stone-200) 75%,transparent); }
.site-footer small{ color:color-mix(in srgb,var(--stone-200) 55%,transparent); }

/* TREŚĆ POSTÓW / ARCHIWA */
.entry-content{ max-width:64ch; }
.entry-content h2,.entry-content h3{ margin-top:1.6rem; }
.post-card{ background:var(--paper); border:1px solid var(--stone-300); transition:border-color .25s ease; }
.post-card:hover{ border-color:var(--plum); }
.post-card .post-meta{ color:var(--ink-soft); font-size:.85rem; }
.post-card h2{ font-size:1.5rem; font-weight:500; }
.page-title{ font-size:clamp(2rem,4vw,3rem); }

/* PODSTRONY: wyróżniony obraz po prawej na desktopie */
.page-layout__media .page-thumb-wrap{ background:var(--paper); border:1px solid var(--stone-300); padding:.5rem; }
.page-layout__media .page-thumb{ width:100%; height:auto; display:block; object-fit:cover; }
.page-layout .entry-content{ max-width:none; }

@media (prefers-reduced-motion:no-preference){
  .hero-photo .anim{ animation:pzrise .8s cubic-bezier(.2,.7,.2,1) both; }
  .hero-photo h1.anim{ animation-delay:.08s; } .hero-photo .lede.anim{ animation-delay:.18s; }
  @keyframes pzrise{ from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:none;} }
}
@media (max-width:820px){ .cemetery-figure img{ max-height:26rem; } }
@media (max-width:575px){ .notice .col-date{ margin-bottom:.25rem; } }
