/*
Theme Name: Ostrożany — Sanktuarium
Author: Patom Studio
Author URI: https://www.patomstudio.pl/
Description: Motyw parafii Narodzenia NMP i Sanktuarium w Ostrożanach w kolorach niebieskim, granatowym i białym.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ostrozany
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--ink:#354d5d;--muted:#586b76;--blue:#355f83;--blue-hover:#294e6f;--pale:#ffffff;--line:#d3e1ef;--footer-blue:#355f83;--deep-blue:#355f83;--gold:#397ec3;--gold-text:#9abee2;--width:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.75;display:flex;flex-direction:column;min-height:100vh}
main{flex:1;min-width:0}
.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:#244e70}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{touch-action:manipulation}
:focus-visible{outline:3px solid #356e99;outline-offset:5px}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.22;overflow-wrap:anywhere}
h2{font-size:clamp(28px,3vw,38px)}
h3{font-size:26px}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;padding:12px 20px}
.skip-link:focus{top:15px}
.site-header{border-top:5px solid var(--gold);background:#ffffff}
.identity{display:flex;align-items:center;gap:24px;min-height:169px;padding-block:27px}
.brand{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start}
.brand-eyebrow{font-size:11px;line-height:1.65;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-size:49px;line-height:1.2;letter-spacing:-.025em;margin-block:3px}
.brand-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:17px;color:var(--muted)}
.header-ornament{margin-left:auto;font-family:Georgia,serif;font-size:42px;color:var(--gold);font-weight:400}
.site-logo img{display:block;max-width:84px;max-height:110px;object-fit:contain}
.navigation-bar{background:var(--blue);color:#9abee2;border-top:1px solid #d0e2ed;border-bottom:3px solid var(--gold)}
.navigation-inner{min-height:60px}
.primary-navigation .menu,.primary-navigation ul{list-style:none;padding:0;margin:0}
.primary-navigation .menu{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px 20px}
.primary-navigation li{position:relative}
.primary-navigation a{display:block;padding:17px 12px;text-decoration:none;font-size:14px;font-weight:600;line-height:26px}
.primary-navigation a:hover,.primary-navigation .current-menu-item>a,.primary-navigation .current_page_item>a{background:var(--blue-hover);color:#9abee2;box-shadow:inset 0 -3px var(--gold)}
.primary-navigation li:has(>ul)>a{padding-right:46px}
.primary-navigation li>ul{display:none;position:absolute;left:0;top:100%;min-width:260px;max-width:340px;z-index:20;background:var(--blue);border:1px solid var(--line);box-shadow:0 10px 24px #17253112;padding:7px}
.primary-navigation li>ul a{font-weight:400;padding:11px 14px}
.primary-navigation li>ul ul{left:100%;top:0}
.primary-navigation li.submenu-open>ul{display:block}
html:not(.navigation-ready) .primary-navigation li:focus-within>ul,html:not(.navigation-ready) .primary-navigation li:hover>ul{display:block}
.menu-toggle{display:none}
.page-heading{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,#2d5271 0%,var(--deep-blue) 56%,#3d6989 100%);color:#fff;border-bottom:3px solid var(--gold);padding-block:clamp(27px,4vw,46px) clamp(38px,5vw,58px)}
.page-heading::before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-text),transparent);opacity:.8}
.page-heading::after{content:"";position:absolute;z-index:0;width:300px;height:300px;right:max(5%,calc((100vw - var(--width))/2));top:50%;border:1px solid #9abee224;border-radius:50%;box-shadow:0 0 0 14px #9abee20d,0 0 0 28px #9abee208;transform:translateY(-50%);pointer-events:none}
.page-heading .container{position:relative;z-index:1}
.breadcrumbs{font-size:12px;color:#edf4f8;line-height:1.7}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:5px 0;list-style:none;padding:0;margin:0}
.breadcrumbs li{display:flex;align-items:center;min-width:0}
.breadcrumbs li+li::before{content:"";width:6px;height:6px;flex:none;margin-inline:13px;border-top:1px solid var(--gold-text);border-right:1px solid var(--gold-text);transform:rotate(45deg)}
.breadcrumbs a{color:inherit;text-decoration:none}
.breadcrumbs a:hover{color:var(--gold-text);text-decoration:underline}
.breadcrumbs [aria-current="page"]{color:var(--gold-text)}
.page-heading h1{max-width:1000px;font-size:clamp(34px,4.5vw,56px);letter-spacing:-.025em;color:#fff;margin:clamp(19px,3vw,30px) 0 21px}
.heading-ornament{display:flex;align-items:center;gap:10px;width:148px;height:12px}
.heading-ornament::before,.heading-ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.heading-ornament::after{transform:scaleX(-1)}
.heading-ornament span{width:8px;height:8px;flex:none;border:1px solid var(--gold-text);transform:rotate(45deg);box-shadow:0 0 0 4px var(--deep-blue)}
.content-area{padding-block:60px 85px;min-height:300px}
.parish-content{padding-block:56px 88px}
.parish-intro{max-width:790px;margin:0 auto 58px;text-align:center}
.parish-kicker{margin:0 0 10px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.parish-intro h2,.parish-section-heading h2{margin:0 0 16px;color:var(--ink)}
.parish-intro>p:last-child{margin:0;color:var(--muted);font-size:18px;line-height:1.8}
.parish-section-heading{margin-bottom:25px;text-align:center}
.parish-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.parish-link-card{position:relative;display:flex;align-items:center;gap:19px;min-height:136px;padding:23px 56px 23px 24px;border:1px solid var(--line);border-bottom:3px solid var(--gold);border-radius:3px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.parish-link-card:hover{transform:translateY(-2px);border-color:#b7cbdc;box-shadow:0 10px 24px #223b4c12;color:var(--ink)}
.parish-link-mark{display:grid;width:56px;height:56px;flex:none;place-items:center;border:1px solid #86b1dc;border-radius:50%;background:#f3f7fb;color:var(--blue)}
.parish-link-mark svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.parish-link-copy{display:flex;flex-direction:column;gap:5px}
.parish-link-title{font:22px/1.25 Georgia,'Times New Roman',serif;color:var(--ink)}
.parish-link-description{font-size:14px;line-height:1.55;color:var(--muted)}
.parish-link-arrow{position:absolute;right:22px;top:50%;color:var(--gold);font-size:23px;transform:translateY(-50%)}
@media(max-width:700px){.parish-content{padding-block:42px 64px}.parish-intro{margin-bottom:42px}.parish-links{grid-template-columns:1fr;gap:12px}.parish-link-card{min-height:116px;padding:19px 49px 19px 18px;gap:15px}.parish-link-mark{width:49px;height:49px}.parish-link-title{font-size:20px}.parish-link-description{font-size:13px}.parish-link-arrow{right:17px}}

/* Aktualny wykaz duszpasterzy parafii. */
.clergy-content{padding-block:clamp(42px,6vw,72px) clamp(66px,8vw,94px)}
.clergy-intro{max-width:740px;margin:0 auto clamp(34px,5vw,54px);text-align:center}
.clergy-kicker{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.clergy-intro h2{margin:0 0 14px;color:var(--blue);font-size:clamp(29px,3.4vw,41px);line-height:1.18}
.clergy-intro>p:last-child{max-width:620px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.clergy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:950px;margin:0 auto;padding:0;list-style:none}
.clergy-card{display:flex;align-items:center;gap:20px;min-height:146px;padding:26px 30px;border:1px solid var(--line);border-top:2px solid var(--gold);background:#fff;box-shadow:0 9px 26px #20394a0a}
.clergy-card-mark{display:grid;flex:0 0 52px;place-items:center;width:52px;height:52px;border:1px solid #bbd0e5;border-radius:50%;background:#fbfaf6;color:var(--gold);font-size:22px}
.clergy-role{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.clergy-card h3{margin:0;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.5vw,29px);font-weight:400;line-height:1.25}
.clergy-source{max-width:950px;margin:25px auto 0;color:var(--muted);font-size:12px;line-height:1.7;text-align:right}
.clergy-source a{color:var(--blue);text-underline-offset:3px}
.clergy-source a:hover{color:var(--blue-hover)}
@media(max-width:640px){.clergy-content{padding-block:38px 62px}.clergy-intro{margin-bottom:32px}.clergy-intro>p:last-child{font-size:15px}.clergy-list{grid-template-columns:1fr;gap:12px}.clergy-card{min-height:118px;padding:21px 22px;gap:16px}.clergy-card-mark{flex-basis:46px;width:46px;height:46px}.clergy-source{text-align:left}}

/* Godziny przyjęć i dane kontaktowe kancelarii parafialnej. */
.parish-office-content{padding-block:clamp(42px,6vw,72px) clamp(66px,8vw,94px)}
.parish-office-intro{max-width:760px;margin:0 auto clamp(34px,5vw,54px);text-align:center}
.parish-office-kicker{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.parish-office-intro h2{margin:0 0 14px;color:var(--blue);font-size:clamp(29px,3.4vw,41px);line-height:1.18}
.parish-office-intro>p:last-child{max-width:670px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.parish-office-details{display:grid;grid-template-columns:1.1fr .9fr;max-width:960px;margin:0 auto;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;box-shadow:0 9px 26px #20394a0a}
.parish-office-hours{display:flex;align-items:center;gap:22px;padding:clamp(28px,5vw,52px);border-right:1px solid var(--line)}
.parish-office-mark{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border:1px solid #bbd0e5;border-radius:50%;background:#fbfaf6;color:var(--gold);font-size:31px}
.parish-office-label{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.parish-office-hours h3{margin:0 0 7px;color:var(--blue);font-size:clamp(22px,2.5vw,29px)}
.parish-office-hours div>p:last-child{margin:0;color:var(--ink);font-size:16px}
.parish-office-contact{padding:clamp(24px,4vw,38px)}
.parish-office-contact>.parish-office-label{margin-bottom:15px}
.parish-office-contact-link{display:flex;align-items:center;gap:15px;padding:12px 0;color:var(--blue);text-decoration:none}
.parish-office-contact-link+.parish-office-contact-link{border-top:1px solid #edf1f4}
.parish-office-contact-link>span:first-child{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:50%;background:#fbfaf6;color:var(--gold);font-size:18px}
.parish-office-contact-link>span:last-child{min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:700}
.parish-office-contact-link small{display:block;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.parish-office-contact-link:hover{text-decoration:underline;text-underline-offset:4px}
.parish-office-source{max-width:960px;margin:18px auto 0;color:var(--muted);font-size:12px;text-align:right}
.parish-office-source a{color:var(--blue)}
@media(max-width:650px){.parish-office-content{padding-block:38px 62px}.parish-office-intro{margin-bottom:32px}.parish-office-intro>p:last-child{font-size:15px}.parish-office-details{grid-template-columns:1fr}.parish-office-hours{gap:16px;padding:25px 22px;border-right:0;border-bottom:1px solid var(--line)}.parish-office-contact{padding:22px}.parish-office-source{text-align:left}}

/* Dane kontaktowe parafii i sanktuarium. */
.parish-contact-content{padding-block:clamp(42px,6vw,72px) clamp(66px,8vw,94px)}
.parish-contact-intro{max-width:760px;margin:0 auto clamp(34px,5vw,52px);text-align:center}
.parish-contact-kicker,.parish-contact-label{margin:0 0 9px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.parish-contact-intro h2{margin:0 0 14px;color:var(--blue);font-size:clamp(29px,3.4vw,41px);line-height:1.18}
.parish-contact-intro>p:last-child{margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.parish-contact-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1020px;margin:0 auto;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;box-shadow:0 9px 26px #20394a0a}
.parish-contact-card,.parish-contact-office{display:flex;align-items:flex-start;gap:20px;padding:clamp(24px,4vw,38px)}
.parish-contact-address{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.parish-contact-channels{border-bottom:1px solid var(--line)}
.parish-contact-icon{display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;border:1px solid #bbd0e5;border-radius:50%;background:#fbfaf6;color:var(--gold);font-size:28px}
.parish-contact-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.parish-contact-card h3,.parish-contact-office h3,.parish-contact-social h3{margin:0 0 10px;color:var(--blue);font:25px/1.25 Georgia,'Times New Roman',serif}
.parish-contact-address address{margin:0;color:var(--ink);font-size:16px;font-style:normal;line-height:1.75}
.parish-contact-text-link{display:inline-block;margin-top:12px;color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}
.parish-contact-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.parish-contact-channels{display:block}
.parish-contact-channels>.parish-contact-label,.parish-contact-channels h3{margin-left:0}
.parish-contact-channel{display:flex;align-items:center;gap:14px;padding:10px 0;color:var(--blue);text-decoration:none}
.parish-contact-channel+.parish-contact-channel{border-top:1px solid #edf1f4}
.parish-contact-channel-icon{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:50%;background:#fbfaf6;color:var(--gold);font-size:18px}
.parish-contact-channel small{display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.parish-contact-channel strong{font-size:15px;overflow-wrap:anywhere}
.parish-contact-channel:hover strong{text-decoration:underline;text-underline-offset:4px}
.parish-contact-office{grid-column:1/-1;align-items:center;background:#fbfaf6}
.parish-contact-office h3{margin-bottom:7px}
.parish-contact-office div>p:last-of-type{margin:0;color:var(--ink);font-size:15px;line-height:1.7}
.parish-contact-social{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1020px;margin:34px auto 0;padding:25px 30px;border:1px solid var(--line);background:#fff}
.parish-contact-social h3{margin:0}
.parish-contact-social nav{display:flex;flex-wrap:wrap;gap:9px}
.parish-contact-social nav a{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 13px;border:1px solid var(--line);color:var(--blue);font-size:14px;font-weight:700;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.parish-contact-social nav a>span:first-child{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#f3f7fb;color:var(--gold);font-size:15px}
.parish-contact-social nav a>span:last-child{color:var(--gold);font-size:13px}
.parish-contact-social nav a:hover{border-color:#b7cbdc;background:#fbfaf6}
@media(max-width:760px){.parish-contact-content{padding-block:38px 62px}.parish-contact-intro{margin-bottom:32px}.parish-contact-grid{grid-template-columns:1fr}.parish-contact-address{border-right:0}.parish-contact-office{grid-column:auto}.parish-contact-social{align-items:flex-start;flex-direction:column;margin-top:22px;padding:22px}.parish-contact-social nav{gap:7px}.parish-contact-social nav a{padding:8px 10px}}
@media(max-width:420px){.parish-contact-card,.parish-contact-office{gap:14px;padding:22px 17px}.parish-contact-icon{width:44px;height:44px;flex-basis:44px}.parish-contact-card h3,.parish-contact-office h3{font-size:22px}.parish-contact-social nav{display:grid;width:100%;grid-template-columns:1fr}.parish-contact-social nav a{justify-content:flex-start}}

/* Ochrona dzieci i młodzieży */
.safeguarding-content .content-area,.safeguarding-document .content-area,.safeguarding-child-page .content-area{padding-block:clamp(38px,6vw,68px) clamp(60px,8vw,92px)}
.safeguarding-intro,.safeguarding-child-intro{max-width:800px;margin:0 auto clamp(38px,5vw,56px);text-align:center}
.safeguarding-kicker{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.safeguarding-intro h2,.safeguarding-child-intro h2{margin:0 0 15px;color:var(--ink);font-size:clamp(29px,3.5vw,42px);line-height:1.2}
.safeguarding-intro>p:last-child,.safeguarding-child-intro>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.safeguarding-section-heading{margin-bottom:22px;text-align:center}
.safeguarding-section-heading h2{margin:0;color:var(--ink);font-size:clamp(26px,3vw,34px)}
.safeguarding-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.safeguarding-card{position:relative;display:flex;align-items:flex-start;gap:17px;min-height:145px;padding:23px 48px 22px 22px;border:1px solid var(--line);border-bottom:3px solid var(--gold);background:#fff;color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.safeguarding-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #223b4c12;color:var(--ink)}
.safeguarding-card-number{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid #86b1dc;border-radius:50%;background:#f3f7fb;color:var(--blue);font:17px Georgia,'Times New Roman',serif}
.safeguarding-card>span:nth-child(2){display:flex;flex-direction:column;gap:8px}
.safeguarding-card strong{font:21px/1.25 Georgia,'Times New Roman',serif}
.safeguarding-card small{color:var(--muted);font-size:14px;line-height:1.6}
.safeguarding-arrow{position:absolute;right:18px;top:21px;color:var(--gold);font-size:21px}
.safeguarding-help{display:grid;grid-template-columns:1fr .9fr;gap:26px 50px;max-width:960px;margin:clamp(48px,7vw,76px) auto 0;padding:clamp(25px,4vw,40px);border:1px solid var(--line);border-top:3px solid var(--gold);background:#fbfaf6}
.safeguarding-help h2{margin:0 0 12px;color:var(--ink);font-size:clamp(25px,3vw,34px)}
.safeguarding-help>div:first-child>p:last-child{margin:0;color:var(--muted);line-height:1.75}
.safeguarding-contact-links{display:grid;gap:0}
.safeguarding-contact-links a{display:flex;flex-direction:column;gap:4px;padding:11px 0;color:var(--blue);text-decoration:none;overflow-wrap:anywhere}
.safeguarding-contact-links a+a{border-top:1px solid var(--line)}
.safeguarding-contact-links span{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.safeguarding-contact-links strong{font-size:15px}
.safeguarding-contact-links a:hover{text-decoration:underline;text-underline-offset:3px}
.safeguarding-emergency{grid-column:1/-1;margin:0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink);line-height:1.65}
.safeguarding-document-body{max-width:900px;margin:0 auto;color:var(--ink);font-size:16px;line-height:1.8}
.safeguarding-document-body>.safeguarding-kicker{margin-bottom:13px}
.safeguarding-lead{margin:0 0 32px;padding:20px 24px;border-left:3px solid var(--gold);background:#fbfaf6;font-size:18px;line-height:1.75}
.safeguarding-document-body section{margin:0 0 32px}
.safeguarding-document-body h2{margin:0 0 12px;color:var(--blue);font-size:clamp(23px,2.5vw,29px);line-height:1.3}
.safeguarding-document-body p{margin:0 0 13px}
.safeguarding-document-body ul,.safeguarding-document-body ol{margin:0;padding-left:25px}
.safeguarding-document-body li{padding-left:4px;margin:0 0 10px}
.safeguarding-document-contact{margin-top:38px;padding:24px 27px;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fbfaf6}
.safeguarding-document-contact h2{font-size:24px}
.safeguarding-document-contact a,.safeguarding-child-help a,.safeguarding-back-link a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.safeguarding-legal-source{max-width:900px;margin:18px auto 0;color:var(--muted);font-size:13px;line-height:1.6}
.safeguarding-legal-source a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.safeguarding-child-intro{max-width:720px}
.safeguarding-child-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:960px;margin:0 auto}
.safeguarding-child-rule{display:flex;gap:16px;padding:22px;border:1px solid var(--line);border-bottom:2px solid var(--gold);background:#fff}
.safeguarding-child-rule>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:#f3f7fb;color:var(--blue);font:16px Georgia,'Times New Roman',serif}
.safeguarding-child-rule h3{margin:1px 0 7px;color:var(--ink);font:21px/1.25 Georgia,'Times New Roman',serif}
.safeguarding-child-rule p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.safeguarding-child-help{max-width:760px;margin:38px auto 0;padding:27px 30px;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fbfaf6}
.safeguarding-child-help h2{margin:0 0 12px;color:var(--ink);font-size:28px}
.safeguarding-child-help p{line-height:1.75}
.safeguarding-child-contact{font-size:18px;font-weight:700}
.safeguarding-back-link{max-width:760px;margin:22px auto 0}
@media(max-width:760px){.safeguarding-cards,.safeguarding-help,.safeguarding-child-rules{grid-template-columns:1fr}.safeguarding-help{gap:18px;padding:24px 21px}.safeguarding-emergency{grid-column:auto}}
@media(max-width:520px){.safeguarding-card{gap:13px;padding:18px 42px 18px 16px}.safeguarding-card strong{font-size:19px}.safeguarding-card small{font-size:13px}.safeguarding-document-body{font-size:15px}.safeguarding-lead{padding:17px;font-size:16px}.safeguarding-document-contact,.safeguarding-child-help{padding:21px 18px}.safeguarding-child-rule{padding:18px 16px}}
.home-main{min-height:320px}
.entry-content{overflow-wrap:anywhere}
.entry-content:after{content:"";display:block;clear:both}
.entry-content>*{max-width:800px;margin-inline:auto}
.entry-content>.alignwide{max-width:100%}
.entry-content>.alignfull{max-width:none}
.entry-content a{color:#244e70}
.entry-content p{margin-block:0 1.5em}
.entry-content h2,.entry-content h3{margin-top:1.6em}
.entry-content blockquote{border-left:3px solid var(--gold);padding:12px 25px;background:var(--pale);font-family:Georgia,serif}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{padding:12px;border:1px solid var(--line);text-align:left}
.entry-content th{background:var(--pale)}
.button,button[type=submit],input[type=submit],.wp-block-button__link{display:inline-block;border:1px solid var(--gold);border-bottom-width:3px;border-radius:3px;background:var(--blue);color:#9abee2;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}
.button:hover,button[type=submit]:hover,input[type=submit]:hover,.wp-block-button__link:hover{background:var(--blue-hover);color:#9abee2}
input:not([type=submit]):not([type=checkbox]):not([type=radio]),textarea,select{max-width:100%;border:1px solid #a7b6c0;border-radius:2px;padding:10px 14px;background:#fff;color:var(--ink)}
textarea{width:100%}
.archive-entry{max-width:800px;padding-bottom:32px;margin:0 auto 32px;border-bottom:1px solid var(--line)}
.archive-entry h2{margin-top:0}
.archive-entry h2 a{text-decoration:none}
.site-footer{background:var(--footer-blue);color:#f0f6fc;border-top:5px solid var(--gold)}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:36px;padding-block:42px}
.footer-brand{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.footer-location{font:31px/1.3 Georgia,'Times New Roman',serif;color:var(--gold-text)}
.footer-brand::after{content:"";display:block;width:76px;height:2px;background:var(--gold);margin-top:13px}
.footer-brand>span:last-child{color:#f0f6fc;font-size:12px}
.site-footer a:hover{color:#9abee2}
.site-footer ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0;font-size:13px}
.site-footer nav a{text-decoration:none}
.footer-bottom-bar{background:#151719;border-top:1px solid var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;gap:14px;padding-block:16px 18px;font-size:12px;color:#f0f6fc}
.footer-bottom a{text-decoration:none}
.footer-bottom strong{font-weight:600;color:#9abee2}
.footer-bottom .footer-credit-cross{display:inline-block;width:.85em;height:1.2em;margin:0 .03em;color:#a855f7;fill:currentColor;vertical-align:-.22em}
.footer-bottom a:hover{color:#9abee2}
.footer-bottom a:focus-visible{outline-color:#9abee2}
.comments-area{max-width:800px;margin:45px auto 0}
.comment-list{padding-left:24px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.alignleft{float:left;margin-right:24px}.alignright{float:right;margin-left:24px}.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:13px;color:var(--muted)}
.pagination .nav-links{display:flex;justify-content:center;gap:16px}
@media(max-width:780px){
 .container{width:calc(100% - 40px)}
 .identity{min-height:145px;gap:14px;padding-block:23px}
 .brand-name{font-size:40px}.brand-eyebrow{font-size:9px;letter-spacing:.06em;max-width:285px}.brand-subtitle{font-size:14px}
 .header-ornament{font-size:29px}
 .site-logo img{max-width:55px;max-height:75px}
 .navigation-inner{min-height:56px}
 .navigation-ready .menu-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;height:56px;padding:0;border:0;background:transparent;color:#9abee2;font-size:14px;cursor:pointer}
 .menu-icon{width:22px;display:grid;gap:5px}.menu-icon i{display:block;height:1px;background:#9abee2}
 .navigation-ready .primary-navigation{display:none}.navigation-ready .primary-navigation.is-open{display:block}
 .primary-navigation .menu{display:block;padding-bottom:12px}
 .primary-navigation a{padding:12px 10px}
 .primary-navigation li>ul,.primary-navigation li>ul ul{position:static;min-width:0;max-width:none;box-shadow:none;border:0;border-left:2px solid var(--gold);margin-left:12px;background:var(--blue-hover)}
 .page-heading::after{width:220px;height:220px;right:-86px}
 .content-area{padding-block:38px 55px;min-height:260px}
 .footer-main{display:block;padding-block:32px}.footer-main nav{margin-top:24px}
 .footer-bottom{flex-direction:column;gap:6px}
 .home-main{min-height:270px}
}
@media(max-width:380px){.header-ornament{display:none}.brand-name{font-size:36px}.brand-subtitle{font-size:13px}.container{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Pustą stronę główną uzupełnia portal z najczęściej szukanymi informacjami. */
.home-main{min-height:0}
.home-hero{position:relative;overflow:hidden;border-bottom:3px solid var(--gold);background:linear-gradient(115deg,#294e6f,#3b698a);color:#fff}
.home-hero::after{position:absolute;top:-170px;right:8%;width:420px;height:420px;border:1px solid #9abee226;border-radius:50%;box-shadow:0 0 0 20px #9abee209,0 0 0 42px #9abee206;content:"";pointer-events:none}
.home-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:center;gap:40px;min-height:390px;padding-block:58px}
.home-hero-copy{max-width:700px}.home-eyebrow{margin:0 0 11px;color:#9abee2;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.home-hero h1{margin:0;color:#fff;font-size:clamp(40px,6vw,66px);letter-spacing:-.03em}.home-hero-copy>p:not(.home-eyebrow){max-width:600px;margin:17px 0 27px;color:#f0f4f7;font-size:18px;line-height:1.75}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.home-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:11px 17px;border:1px solid #9abee2;text-decoration:none;font-size:14px;font-weight:700}.home-button-primary{background:#9abee2;color:#253f55}.home-button-primary:hover{background:#fff;color:#253f55}.home-button-secondary{color:#fff}.home-button-secondary:hover{background:#ffffff18;color:#fff}
.home-hero-mark{display:grid;justify-items:center;gap:9px;min-height:210px;align-content:center;border:1px solid #9abee24d;border-radius:50%;color:#9abee2;text-align:center}.home-hero-mark span{font-size:30px}.home-hero-mark strong{font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:400}.home-hero-mark small{color:#f0f4f7;font-size:12px}
.home-portal-content{padding-block:38px 68px}.home-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.home-quick-card{position:relative;display:block;min-height:150px;padding:23px 24px;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.home-quick-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1c344414}.home-quick-card>span{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.1em}.home-quick-card h2{margin:8px 0;color:var(--blue);font-size:23px}.home-quick-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.home-latest{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:35px;margin-top:44px;padding:30px 32px;border:1px solid var(--line);background:#f8fafb}.home-latest h2{margin:0;color:var(--blue);font-size:27px}.home-latest-date{margin:8px 0 0;color:var(--muted);font-size:13px}.home-latest-copy h3{margin:0 0 8px;color:var(--blue);font-size:23px}.home-latest-copy h3 a{text-decoration:none}.home-latest-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.home-latest-link{display:inline-block;margin-top:12px;color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}
@media(max-width:760px){.home-hero-inner{grid-template-columns:1fr;min-height:0;padding-block:48px}.home-hero-mark{display:none}.home-hero-copy>p:not(.home-eyebrow){font-size:16px}.home-quick-links{grid-template-columns:1fr;gap:12px}.home-quick-card{min-height:0;padding:19px 21px}.home-latest{grid-template-columns:1fr;gap:16px;padding:23px}}
@media(max-width:420px){.home-hero-inner{padding-block:40px}.home-hero h1{font-size:40px}.home-hero-actions{align-items:stretch;flex-direction:column}.home-button{width:100%}.home-latest{margin-top:28px;padding:19px}}
@media(prefers-reduced-motion:reduce){.home-quick-card{transition:none}}

/* Strona główna */
.home-main{min-height:0}.home-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(510px,58vw,700px);align-items:center;overflow:hidden;border-bottom:4px solid var(--gold);background:#263c4c;color:#fff}.home-hero-image,.home-hero-shade{position:absolute;inset:0;width:100%;height:100%}.home-hero-image{z-index:-2;object-fit:cover;object-position:center 43%}.home-hero-shade{z-index:-1;background:linear-gradient(90deg,#132b3be8 0%,#17344bc4 39%,#19364c4d 75%,#172c3c18 100%),linear-gradient(0deg,#142b3a80,transparent 43%)}.home-hero-inner{position:relative;display:flex;min-height:inherit;align-items:center;justify-content:space-between;padding-block:70px}.home-hero-copy{max-width:660px}.home-hero .home-eyebrow,.home-sanctuary .home-eyebrow,.home-walk .home-eyebrow,.home-contact .home-eyebrow{color:#9abee2;font-size:12px;letter-spacing:.16em}.home-hero h1{margin:10px 0 17px;color:#fff;font-size:clamp(48px,7vw,82px);letter-spacing:-.035em}.home-hero-copy>p:not(.home-eyebrow){max-width:590px;margin:0 0 30px;color:#f4f6f5;font-size:20px;line-height:1.7}.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.home-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:14px;padding:12px 20px;border:1px solid transparent;text-decoration:none;font-size:14px;font-weight:700;transition:background-color .18s,color .18s}.home-button-primary{background:#9abee2;color:#263f52}.home-button-primary:hover,.home-button-primary:focus{background:#fff;color:#263f52}.home-button-secondary{border-color:#ffffff9c;color:#fff}.home-button-secondary:hover,.home-button-secondary:focus{background:#fff;color:#263f52}.home-button-dark{background:var(--blue);color:#fff}.home-button-dark:hover,.home-button-dark:focus{background:var(--blue-hover);color:#fff}.home-hero-caption{align-self:flex-end;display:flex;align-items:center;gap:10px;margin:0 0 4px;color:#fff;font-size:12px;letter-spacing:.06em}.home-hero-caption span{color:#9abee2;font-size:19px}
.home-updates-section{position:relative;z-index:2;margin-top:-34px}.home-updates-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-update-card{min-width:0;padding:26px 30px 24px;border:1px solid #d8e2e7;border-top:3px solid var(--gold);background:#fff;box-shadow:0 12px 35px #172b3910}.home-section-heading{margin:0 auto 28px;text-align:center}.home-section-heading .home-eyebrow,.home-update-card .home-eyebrow,.home-news-heading .home-eyebrow{margin:0 0 6px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.home-section-heading h2,.home-update-card h2{margin:0;color:var(--blue);font-size:clamp(28px,3.3vw,40px)}.home-section-heading>p:last-child{margin:8px 0 0;color:var(--muted);font-size:15px}.home-section-heading-small{margin:0 0 15px;text-align:left}.home-section-heading-small h2{font-size:29px}.home-announcement-list,.home-intention-list{list-style:none;margin:0 0 12px;padding:0}.home-announcement-list li{display:flex;gap:18px;align-items:baseline;padding:9px 0;border-bottom:1px solid #e7edf0}.home-announcement-list time{flex:0 0 72px;color:var(--muted);font-size:12px}.home-announcement-list a{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:17px;text-decoration:none}.home-announcement-list a:hover,.home-news-card h3 a:hover{color:var(--blue-hover);text-decoration:underline}.home-intention-period{margin:0 0 8px;color:var(--muted);font-size:12px}.home-intention-list li{display:grid;grid-template-columns:94px 1fr;gap:15px;align-items:start;padding:8px 0;border-bottom:1px solid #e7edf0}.home-intention-list time{display:flex;flex-direction:column;color:var(--blue);font-size:13px;font-weight:700;line-height:1.5}.home-intention-list time span{color:var(--muted);font-size:11px;font-weight:400}.home-intention-list p{margin:0;color:var(--ink);font-size:13px;line-height:1.55}.home-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}.home-text-link:hover{text-decoration:underline}.home-empty{margin:8px 0 20px;color:var(--muted);font-size:14px}
.section-pad{padding-block:76px}.home-masses{margin-top:4px;background:#f4f7f7}.home-sunday-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:850px;margin:0 auto 23px}.home-time-card{display:flex;min-height:128px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #d9e3e4;border-top:3px solid var(--gold);background:#fff}.home-time-card span{color:var(--muted);font-size:12px}.home-time-card time{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:40px;line-height:1.15}.home-weekday-times{max-width:850px;margin:0 auto 16px;padding:20px 24px;border:1px solid #d9e3e4;background:#fff}.home-weekday-label{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:19px}.home-weekday-label span{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:12px;align-self:center}.home-weekday-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.home-weekday-grid p{display:flex;justify-content:space-between;gap:8px;margin:0;padding:7px 0;border-top:1px solid #edf0f1;font-size:13px}.home-weekday-grid strong{font-weight:600}.home-note{max-width:850px;margin:13px auto;color:var(--muted);font-size:12px;text-align:center}.home-masses>.container>.home-text-link{display:flex;width:max-content;margin:20px auto 0}
.home-news{background:#fff}.home-news-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;text-align:left}.home-news-heading .home-text-link{margin-bottom:5px}.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-news-card{overflow:hidden;border:1px solid #dce5e9;background:#fff}.home-news-image{display:flex;height:210px;align-items:center;justify-content:center;overflow:hidden;background:#ecf0ee;text-decoration:none}.home-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.home-news-card:hover .home-news-image img{transform:scale(1.025)}.home-news-image-placeholder{color:var(--gold);font-size:42px}.home-news-copy{padding:20px 22px 22px}.home-news-copy>time{color:var(--muted);font-size:11px}.home-news-card h3{margin:6px 0 8px;color:var(--blue);font-size:23px}.home-news-card h3 a{text-decoration:none}.home-news-card p{margin:0 0 13px;color:var(--muted);font-size:13px;line-height:1.65}
.home-sanctuary{background:#ecf2f8}.home-sanctuary-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(34px,7vw,90px)}.home-sanctuary-photo{position:relative;margin:0}.home-sanctuary-photo img{display:block;width:100%;height:410px;object-fit:cover}.home-sanctuary-photo figcaption{position:absolute;right:0;bottom:0;padding:8px 13px;background:#fff;color:var(--muted);font-size:11px}.home-sanctuary-copy h2,.home-walk h2,.home-contact h2{margin:0;color:inherit;font-size:clamp(32px,4vw,48px)}.home-sanctuary-copy h2{color:var(--blue)}.home-sanctuary-copy>p:not(.home-eyebrow){max-width:510px;margin:17px 0 24px;color:var(--muted);font-size:16px;line-height:1.8}
.home-walk{background:var(--blue);color:#fff}.home-walk-inner{display:flex;min-height:245px;align-items:center;justify-content:space-between;gap:35px;padding-block:45px}.home-walk h2{color:#fff}.home-walk-inner>div>p:last-child{margin:10px 0 0;color:#e5edf1}.home-walk .home-button{flex:none}.home-contact{background:#263d4e;color:#fff}.home-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.home-contact h2{color:#fff}.home-contact-inner>div:first-child>p:last-child{margin:9px 0 0;color:#dce6e9}.home-contact-actions{display:flex;align-items:center;gap:28px}.home-contact-actions>a:first-child{display:flex;flex-direction:column;gap:2px;color:#fff;text-decoration:none}.home-contact-actions small{color:#dce6e9;font-size:11px}.home-contact-actions strong{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400}
@media(max-width:760px){.home-hero{min-height:570px;align-items:flex-end}.home-hero-image{object-position:54% center}.home-hero-shade{background:linear-gradient(0deg,#142b3aeF 0%,#17344bb8 47%,#19364c2b 100%)}.home-hero-inner{align-items:flex-end;flex-direction:column;justify-content:flex-end;padding-block:55px 27px}.home-hero-copy{align-self:stretch}.home-hero-copy>p:not(.home-eyebrow){font-size:17px}.home-hero-caption{align-self:flex-start;margin-top:32px}.home-updates-section{margin-top:0;padding-block:18px;background:#f5f7f7}.home-updates-grid{grid-template-columns:1fr;gap:13px}.home-update-card{padding:23px}.home-sunday-times{gap:8px}.home-time-card{min-height:108px}.home-time-card span{font-size:10px}.home-time-card time{font-size:34px}.home-weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.home-news-grid{grid-template-columns:1fr 1fr;gap:13px}.home-news-image{height:175px}.home-news-copy{padding:17px}.home-news-card h3{font-size:20px}.home-sanctuary-grid{grid-template-columns:1fr;gap:28px}.home-sanctuary-photo img{height:360px}.home-sanctuary-copy{max-width:600px}.home-walk-inner,.home-contact-inner{align-items:flex-start;flex-direction:column;gap:20px}.home-contact-actions{flex-wrap:wrap;gap:20px}.section-pad{padding-block:58px}}
@media(max-width:480px){.home-hero{min-height:530px}.home-hero h1{font-size:46px}.home-hero-actions{align-items:stretch;flex-direction:column}.home-button{width:100%}.home-section-heading{margin-bottom:22px}.home-section-heading-small{margin-bottom:13px}.home-sunday-times{gap:6px}.home-time-card{min-height:94px}.home-time-card time{font-size:30px}.home-time-card span{max-width:90px;text-align:center;line-height:1.35}.home-weekday-times{padding:16px}.home-weekday-label{flex-direction:column;gap:0}.home-weekday-grid{grid-template-columns:1fr}.home-news-heading{align-items:flex-start;flex-direction:column}.home-news-grid{grid-template-columns:1fr}.home-news-image{height:220px}.home-sanctuary-photo img{height:300px}.home-contact-actions{align-items:flex-start;flex-direction:column}.home-contact-actions .home-button{width:auto}}
@media(prefers-reduced-motion:reduce){.home-button,.home-news-image img{transition:none}}

/* Strona zbiorcza Dzieje parafii. */
.history-content{padding-block:clamp(42px,6vw,76px) clamp(58px,8vw,92px)}
.history-intro{max-width:790px;margin:0 auto clamp(52px,7vw,78px);text-align:center}
.history-kicker{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.history-intro h2,.history-section-heading h2,.history-related h2{margin:0 0 16px;color:var(--blue);font-size:clamp(29px,3.5vw,42px);line-height:1.18}
.history-intro>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.85}
.history-section-heading{margin-bottom:25px;text-align:center}
.history-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:1020px;margin-inline:auto}
.history-link-card{position:relative;display:flex;align-items:center;gap:20px;min-height:148px;padding:23px 56px 23px 24px;border:1px solid var(--line);border-bottom:3px solid var(--gold);border-radius:3px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.history-link-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #223b4c12;color:var(--ink)}
.history-link-number{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;border:1px solid #86b1dc;border-radius:50%;background:#f3f7fb;color:var(--blue);font:17px Georgia,'Times New Roman',serif}
.history-link-copy{display:flex;flex-direction:column;gap:4px}
.history-link-date{color:#2d6399;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.history-link-title{color:var(--ink);font:23px/1.25 Georgia,'Times New Roman',serif}
.history-link-description{color:var(--muted);font-size:13px;line-height:1.55}
.history-link-arrow{position:absolute;right:22px;top:50%;color:var(--gold);font-size:23px;transform:translateY(-50%)}
.history-related{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1020px;margin:clamp(48px,7vw,72px) auto 0;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-left:3px solid var(--gold);background:#eef3f8}
.history-related h2{margin-bottom:9px;font-size:clamp(24px,3vw,31px)}
.history-related>div>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.history-related>a{display:inline-flex;flex:none;align-items:center;gap:12px;padding:11px 15px;border-bottom:2px solid var(--gold);background:var(--blue);color:#9abee2;font-size:13px;font-weight:700;text-decoration:none}
.history-related>a:hover{background:var(--blue-hover);color:#9abee2}
.history-related>a span{font-size:18px}
@media(max-width:700px){.history-links{grid-template-columns:1fr;gap:12px}.history-link-card{min-height:125px;padding:19px 49px 19px 18px;gap:15px}.history-link-title{font-size:21px}.history-link-description{font-size:12px}.history-related{align-items:flex-start;flex-direction:column;gap:18px}.history-intro>p:last-child{font-size:15px}}
@media(prefers-reduced-motion:reduce){.history-link-card{transition:none}}
.history-article-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:800px;margin:54px auto 0;padding-top:20px;border-top:1px solid var(--line);font-size:13px;font-weight:700}
.history-article-nav a{color:var(--blue);text-decoration:none}
.history-article-nav a:hover{color:var(--blue-hover);text-decoration:underline}
.history-article-nav a span{margin-left:7px;color:var(--gold);font-size:17px}
.history-photo{max-width:660px;margin:32px auto;padding:10px 10px 26px;border:1px solid #d1dfed;background:#ebf2f8}

/* Podstrona historii cmentarza parafialnego. */
.cemetery-content{padding-block:clamp(42px,6vw,76px) clamp(58px,8vw,92px)}
.cemetery-intro{max-width:790px;margin:0 auto clamp(45px,6vw,68px);text-align:center}
.cemetery-kicker{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.cemetery-intro h2,.cemetery-search h2{margin:0 0 16px;color:var(--blue);font-size:clamp(29px,3.5vw,42px);line-height:1.18}
.cemetery-intro>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.85}
.cemetery-history{max-width:900px;margin-inline:auto}
.cemetery-history-entry{display:grid;grid-template-columns:145px minmax(0,1fr);gap:clamp(20px,4vw,42px);padding:28px 0;border-top:1px solid var(--line)}
.cemetery-date{margin:4px 0 0;color:#2d6399;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.cemetery-history-entry h2{margin:0 0 12px;color:var(--blue);font:26px/1.25 Georgia,'Times New Roman',serif}
.cemetery-history-entry p:not(.cemetery-date){margin:0 0 13px;color:var(--muted);font-size:15px;line-height:1.8}
.cemetery-history-entry p:last-child{margin-bottom:0}
.cemetery-search{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1020px;margin:clamp(40px,6vw,62px) auto 0;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-left:3px solid var(--gold);background:#eef3f8}
.cemetery-search h2{margin-bottom:9px;font-size:clamp(24px,3vw,31px)}
.cemetery-search>div>p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.cemetery-search-button{display:inline-flex;flex:none;align-items:center;gap:12px;padding:12px 18px}
.cemetery-search-button span{font-size:18px}
.cemetery-source{max-width:1020px;margin:18px auto 0;color:var(--muted);font-size:12px}
.cemetery-source a{color:var(--blue)}
@media(max-width:700px){.cemetery-history-entry{grid-template-columns:1fr;gap:7px;padding:23px 0}.cemetery-history-entry h2{font-size:23px}.cemetery-intro>p:last-child{font-size:15px}.cemetery-search{align-items:flex-start;flex-direction:column;gap:18px}}
.history-photo img{display:block;width:100%;height:auto}
.history-photo figcaption{margin-top:9px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:13px;font-style:italic;text-align:center}
@media(max-width:560px){.history-article-nav{align-items:flex-start;flex-direction:column}}

.navigation-bar :focus-visible,.page-heading :focus-visible,.site-footer :focus-visible{outline-color:#9abee2}

/* Aktualności: archiwum i pojedynczy wpis. */
.news-list{display:grid;gap:30px;max-width:1000px;margin-inline:auto}
.news-card{display:grid;grid-template-columns:minmax(220px,34%) 1fr;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:#fff;box-shadow:0 8px 24px #20394a0a}
.news-card-image{display:block;min-height:230px;background:#f4f7f9}
.news-card-image img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover}
.news-card-copy{align-self:center;padding:clamp(22px,4vw,38px)}
.news-date{display:inline-block;color:var(--muted);font-size:13px;letter-spacing:.035em}
.news-card h2{font-size:clamp(25px,3vw,34px);margin:9px 0 12px}
.news-card h2 a{text-decoration:none}
.news-excerpt{color:var(--muted);font-size:15px;line-height:1.7}
.news-excerpt p{margin:0 0 14px}
.news-more{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}
.news-more:hover{text-decoration:underline}
.news-single{max-width:800px;margin-inline:auto}
.news-featured-image{margin:24px 0 34px}
.news-featured-image img{display:block;width:100%;height:auto;border-radius:3px}
.news-single .entry-content>*{max-width:none}
.news-list+.pagination{margin-top:42px}
.pagination .nav-links a,.pagination .nav-links span{padding:7px 12px;border:1px solid var(--line);border-radius:2px;text-decoration:none}
.pagination .nav-links .current{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:680px){
 .news-card{grid-template-columns:1fr}
 .news-card-image,.news-card-image img{min-height:0;height:auto;aspect-ratio:16/9}
 .news-card-copy{padding:22px}
}

/* Czytelny układ najnowszych wiadomości i ich archiwum. */
.news-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);overflow:hidden;min-height:350px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(120deg,#f6f8f7,#fff 68%);box-shadow:0 16px 46px #20394a0d}
.news-feature-no-image{grid-template-columns:1fr}
.news-feature-image{display:block;min-height:350px;background:#e9eef0}
.news-feature-image img{display:block;width:100%;height:100%;min-height:350px;object-fit:cover}
.news-feature-copy{align-self:center;padding:clamp(25px,5vw,58px)}
.news-kicker{margin:0 0 14px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.news-feature h2{margin:10px 0 16px;color:var(--blue);font-size:clamp(30px,4vw,45px);line-height:1.12}
.news-feature h2 a,.news-card h3 a{text-decoration:none}
.news-feature .news-excerpt{font-size:16px}
.news-archive{max-width:1000px;margin:58px auto 0}
.news-archive>h2{margin:0 0 21px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--blue);font-size:clamp(25px,3vw,32px)}
.news-list{gap:12px}
.news-card{grid-template-columns:minmax(105px,19%) 56px minmax(0,1fr);align-items:center;gap:14px;border:1px solid #e5ebed;border-left:3px solid var(--gold);border-radius:5px;box-shadow:none}
.news-card-no-image{grid-template-columns:72px minmax(0,1fr)}
.news-card-image{display:block;height:230px;min-height:0;background:#f4f7f9}
.news-card-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.news-card-date{display:flex;justify-content:center;padding-top:4px}
.news-card-date .news-date{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.news-card-date .news-date span{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.1}
.news-card-copy{align-self:center;padding:0}
.news-card h3{margin:0 0 7px;color:var(--blue);font-size:clamp(18px,2vw,21px)}
.news-card .news-excerpt{font-size:13px}
.news-card .news-excerpt p{margin-bottom:7px}
.news-card .news-more{font-size:13px}
.announcement-feature{border-radius:8px;background:linear-gradient(120deg,#f7f8f5 0%,#fff 68%);box-shadow:0 16px 46px #20394a0d}
.announcement-kicker{display:inline-flex;align-items:center;gap:8px}
.announcement-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.announcement-card{border-radius:5px;border-left-width:3px;transition:transform .18s ease,box-shadow .18s ease}
.announcement-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #20394a0b}
.announcement-card h3 a:hover,.announcement-card h2 a:hover{color:var(--blue-hover)}
@media(max-width:760px){
 .news-feature{grid-template-columns:1fr}
 .news-feature-image,.news-feature-image img{min-height:0;aspect-ratio:16/9}
 .news-feature-copy{padding:27px}
}
@media(max-width:480px){
 .news-card{grid-template-columns:54px 1fr;gap:12px;padding:17px}
 .news-card:not(.news-card-no-image){grid-template-columns:1fr}
 .news-card-image,.news-card-image img{min-height:0;height:auto;aspect-ratio:16/9}
 .news-card-date .news-date span{font-size:22px}
 .news-feature-copy{padding:22px}
}
@media(prefers-reduced-motion:reduce){.announcement-card{transition:none}}

/* Strona zbiorcza Sanktuarium. */
.sanctuary-content{padding-top:clamp(36px,5vw,68px)}
.sanctuary-intro{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);align-items:center;gap:clamp(34px,6vw,82px);max-width:1040px;margin:0 auto clamp(64px,8vw,100px)}
.sanctuary-intro-copy{padding-block:18px}
.sanctuary-kicker{margin:0 0 13px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.sanctuary-intro h2,.sanctuary-section-heading h2{margin:0 0 18px;color:var(--blue);font-size:clamp(29px,3.4vw,42px);line-height:1.16}
.sanctuary-intro-copy>p:last-child{max-width:450px;margin:0;color:var(--muted);font-size:16px;line-height:1.85}
.sanctuary-photo{position:relative;margin:0;padding:12px 12px 34px;background:#ebf2f8;border:1px solid #d1dfed;box-shadow:0 18px 45px #263c4b12}
.sanctuary-photo::before{position:absolute;inset:5px;border:1px solid #397ec345;content:"";pointer-events:none}
.sanctuary-photo img{position:relative;display:block;width:100%;height:clamp(300px,40vw,460px);object-fit:cover;object-position:center 43%}
.sanctuary-photo figcaption{position:absolute;right:20px;bottom:10px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:13px;font-style:italic}
.sanctuary-section-heading{margin-bottom:27px;text-align:center}
.sanctuary-section-heading .sanctuary-kicker{margin-bottom:9px}
.sanctuary-section-heading h2{margin-bottom:0;font-size:clamp(27px,3vw,36px)}
.sanctuary-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:1060px;margin-inline:auto}
.sanctuary-link-card{position:relative;display:grid;grid-template-columns:58px 1fr 20px;align-items:center;gap:15px;min-height:150px;padding:24px 22px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 24px #20394a08;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.sanctuary-link-card:hover{transform:translateY(-3px);border-color:#679dd3;box-shadow:0 14px 32px #20394a12;color:var(--ink)}
.sanctuary-link-number{position:absolute;top:12px;right:15px;color:#8d9aa1;font-family:Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.08em}
.sanctuary-link-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #bbd0e5;border-radius:50%;background:#fbfaf6;color:var(--blue)}
.sanctuary-link-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sanctuary-link-copy{display:grid;gap:6px;min-width:0}
.sanctuary-link-title{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.25}
.sanctuary-link-description{color:var(--muted);font-size:13px;line-height:1.55}
.sanctuary-link-arrow{align-self:end;color:var(--gold);font-size:20px;line-height:1}
@media(max-width:900px){.sanctuary-intro{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:35px}.sanctuary-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.sanctuary-content{padding-top:36px}.sanctuary-intro{grid-template-columns:1fr;gap:24px;margin-bottom:56px}.sanctuary-intro-copy{padding:0}.sanctuary-intro-copy>p:last-child{font-size:15px}.sanctuary-photo{max-width:540px}.sanctuary-photo img{height:clamp(280px,82vw,420px)}.sanctuary-links{gap:11px}.sanctuary-link-card{grid-template-columns:46px 1fr 16px;gap:12px;min-height:132px;padding:21px 15px}.sanctuary-link-icon{width:44px;height:44px}.sanctuary-link-icon svg{width:24px;height:24px}.sanctuary-link-title{font-size:19px}.sanctuary-link-description{font-size:12px}}
@media(max-width:480px){.sanctuary-links{grid-template-columns:1fr}.sanctuary-link-card{grid-template-columns:52px 1fr 20px;min-height:112px;padding:19px 20px}.sanctuary-link-icon{width:48px;height:48px}.sanctuary-link-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.sanctuary-link-card{transition:none}}

/* Modlitwa do Matki Bożej Ostrożańskiej. */
.prayer-page-content{padding-top:clamp(36px,5vw,68px);padding-bottom:clamp(65px,8vw,100px)}
.prayer-intro{max-width:720px;margin:0 auto clamp(32px,5vw,58px);text-align:center}
.prayer-kicker{margin:0 0 11px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.prayer-intro h2{margin:0 0 15px;color:var(--blue);font-size:clamp(29px,3.4vw,42px);line-height:1.16}
.prayer-intro>p:last-child{max-width:620px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.prayer-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.72fr);align-items:start;gap:clamp(28px,5vw,64px);max-width:1040px;margin:0 auto}
.prayer-card{position:relative;padding:clamp(29px,5vw,56px);border:1px solid #d1dfed;background:#fbfaf6;box-shadow:0 18px 45px #263c4b0d}
.prayer-card::before{position:absolute;inset:6px;border:1px solid #397ec338;content:"";pointer-events:none}
.prayer-card-ornament{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 17px;color:var(--gold);font-size:14px}
.prayer-card-ornament span{width:38px;height:1px;background:#397ec380}
.prayer-card h3{position:relative;margin:0 0 28px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.4vw,29px);font-weight:400;line-height:1.3;text-align:center}
.prayer-text{position:relative;color:#333a3e;font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.55vw,18px);line-height:1.9}
.prayer-text p{margin:0 0 22px}
.prayer-text p:last-child{margin-bottom:0}
.prayer-image{position:sticky;top:28px;margin:0;padding:11px 11px 37px;border:1px solid #d1dfed;background:#ebf2f8;box-shadow:0 18px 45px #263c4b12}
.prayer-image::before{position:absolute;inset:5px;border:1px solid #397ec345;content:"";pointer-events:none}
.prayer-image img{position:relative;display:block;width:100%;height:auto;max-height:590px;object-fit:cover;object-position:center 36%}
.prayer-image figcaption{position:absolute;right:19px;bottom:10px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:13px;font-style:italic}
@media(max-width:760px){.prayer-layout{grid-template-columns:1fr;max-width:650px}.prayer-image{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;max-width:390px;margin:0 auto}.prayer-image img{max-height:560px;object-fit:contain}}
@media(max-width:600px){.prayer-page-content{padding-top:34px}.prayer-intro{margin-bottom:30px}.prayer-intro>p:last-child{font-size:15px}.prayer-card{padding:30px 25px}.prayer-text{font-size:16px;line-height:1.82}}

/* Pieśni do Matki Bożej: osobna karta dla każdej pieśni i jej materiałów. */
.songs-page-content{padding-top:clamp(38px,5vw,68px);padding-bottom:clamp(66px,8vw,104px)}
.songs-intro{max-width:760px;margin:0 auto 32px;text-align:center}
.songs-kicker{margin:0 0 9px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.songs-intro h2{margin:0 0 14px;color:var(--blue);font-size:clamp(29px,3.4vw,42px);line-height:1.16}
.songs-intro>p:last-child{max-width:680px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.songs-index{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;max-width:990px;margin:0 auto clamp(36px,5vw,58px);padding:17px 22px;border-block:1px solid var(--line);text-align:center}
.songs-index-label{color:var(--muted);font-size:13px;font-weight:700}
.songs-index a{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:16px;text-decoration:none}
.songs-index a:hover{color:var(--blue-hover);text-decoration:underline}
.songs-index a span{margin-left:4px;color:var(--gold)}
.songs-list{display:grid;gap:clamp(30px,5vw,58px);max-width:1060px;margin-inline:auto}
.song-card{scroll-margin-top:24px;padding:clamp(25px,4vw,48px);border:1px solid #d1dfed;background:#fbfaf6;box-shadow:0 18px 45px #263c4b0d}
.song-heading{display:flex;align-items:center;gap:20px;margin:0 0 30px;padding:0 0 22px;border-bottom:1px solid #c1d4e7}
.song-number{display:grid;flex:0 0 54px;place-items:center;width:54px;height:54px;border:1px solid #bbd0e5;border-radius:50%;background:#fff;color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:19px}
.song-heading .songs-kicker{margin-bottom:4px}
.song-heading h3{margin:0;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,2.5vw,32px);line-height:1.25}
.song-author{margin:5px 0 0;color:var(--muted);font-size:13px}
.song-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);align-items:start;gap:clamp(28px,5vw,58px)}
.song-lyrics{display:grid;gap:18px}
.song-verse{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px}
.song-verse-number{padding-top:3px;color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:14px;font-weight:700}
.song-verse p{margin:0;color:#333a3e;font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.5vw,18px);line-height:1.9}
.song-verse-refrain{margin:0 -12px;padding:15px 12px;border-left:2px solid var(--gold);background:#e5edf5}
.song-verse-refrain .song-verse-number{font-size:12px}
.song-resources{display:grid;gap:16px}
.song-video{position:relative;overflow:hidden;aspect-ratio:16/9;background:#213c50;box-shadow:0 8px 24px #20394a12}
.song-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.song-resources h4{margin:3px 0 -5px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:21px}
.song-materials{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.song-materials li{margin:0}
.song-materials a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--blue);font-size:14px;text-decoration:none;transition:border-color .18s ease,background .18s ease}
.song-materials a:hover{border-color:#679dd3;background:#fbfaf6;color:var(--blue-hover)}
.song-materials small{flex:0 0 auto;color:var(--muted);font-size:11px;letter-spacing:.06em}
.song-materials small span{color:var(--gold);font-size:15px}
@media(max-width:760px){.song-layout{grid-template-columns:1fr}.song-resources{max-width:560px}}
@media(max-width:600px){.songs-page-content{padding-top:34px}.songs-intro>p:last-child{font-size:15px}.songs-index{gap:9px 16px;margin-bottom:32px;padding:14px 12px}.songs-index-label{flex-basis:100%}.song-card{padding:25px 20px}.song-heading{gap:14px;margin-bottom:24px}.song-number{flex-basis:45px;width:45px;height:45px;font-size:16px}.song-verse{grid-template-columns:27px minmax(0,1fr);gap:6px}.song-verse p{font-size:16px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.song-materials a{transition:none}}

/* Historia koronacji i archiwum fotograficzne sanktuarium. */
.coronation-content{padding-top:clamp(36px,5vw,70px);padding-bottom:clamp(70px,9vw,110px)}
.coronation-kicker{margin:0 0 11px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.coronation-intro{display:grid;grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr);align-items:center;gap:clamp(38px,7vw,88px);max-width:1100px;margin:0 auto 45px}
.coronation-intro-copy{padding-block:12px}
.coronation-intro h2,.coronation-section-heading h2,.coronation-decree h2{margin:0 0 18px;color:var(--blue);font-size:clamp(30px,3.6vw,44px);line-height:1.16}
.coronation-intro-copy>p:not(.coronation-kicker){max-width:490px;margin:0;color:var(--muted);font-size:16px;line-height:1.9}
.coronation-read-link{display:inline-flex;align-items:center;gap:15px;margin-top:26px;padding:11px 0;border-bottom:1px solid var(--gold);color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}
.coronation-read-link span{color:var(--gold);font-size:18px}
.coronation-read-link:hover{color:var(--blue-hover)}
.coronation-hero-photo{position:relative;margin:0;padding:12px 12px 37px;border:1px solid #d1dfed;background:#ebf2f8;box-shadow:0 18px 45px #263c4b12}
.coronation-hero-photo::before{position:absolute;inset:5px;border:1px solid #397ec345;content:"";pointer-events:none}
.coronation-hero-photo img{position:relative;display:block;width:100%;height:clamp(310px,39vw,440px);object-fit:cover;object-position:center 45%}
.coronation-hero-photo figcaption{position:absolute;right:20px;bottom:10px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:13px;font-style:italic}
.coronation-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1040px;margin:0 auto clamp(72px,9vw,108px);border-block:1px solid #c9daea;background:#fbfaf6}
.coronation-facts div{display:grid;gap:7px;padding:20px 24px;border-right:1px solid #c9daea}
.coronation-facts div:last-child{border-right:0}
.coronation-facts span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.coronation-facts strong{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400}
.coronation-section-heading{max-width:750px;margin:0 auto 34px;text-align:center}
.coronation-section-heading .coronation-kicker{margin-bottom:9px}
.coronation-section-heading h2{margin-bottom:14px}
.coronation-section-heading>p:last-child:not(.coronation-kicker){max-width:650px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.8}
.coronation-history{max-width:970px;margin:0 auto clamp(70px,9vw,110px)}
.coronation-timeline{position:relative;display:grid;gap:0;max-width:850px;margin:0 auto}
.coronation-timeline::before{position:absolute;top:9px;bottom:12px;left:152px;width:1px;background:#9abee2;content:""}
.coronation-moment{position:relative;display:grid;grid-template-columns:125px minmax(0,1fr);gap:55px;padding:0 0 34px}
.coronation-moment::before{position:absolute;top:6px;left:146px;width:13px;height:13px;border:1px solid var(--gold);border-radius:50%;background:#fff;content:""}
.coronation-date{padding-top:4px;color:#2d6399;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.5;text-align:right}
.coronation-moment h3{margin:0 0 11px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;line-height:1.3}
.coronation-moment p{margin:0 0 12px;color:#59646a;font-size:14px;line-height:1.85}
.coronation-moment p:last-child{margin-bottom:0}
.coronation-moment-highlight{margin-top:0;padding:22px 24px 24px;border:1px solid #d1dfed;border-left:2px solid var(--gold);background:#fbfaf6}
.coronation-moment-highlight::before{top:27px;left:144px;background:#fbfaf6}
.coronation-moment-highlight .coronation-date{padding-top:0}
.coronation-decree{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(34px,6vw,78px);max-width:980px;margin:0 auto clamp(70px,9vw,108px);padding:clamp(24px,4vw,42px);border:1px solid var(--line);background:#eef3f8}
.coronation-decree figure{position:relative;margin:0;padding:8px 8px 32px;border:1px solid #d1dfed;background:#fff;box-shadow:0 12px 30px #263c4b12}
.coronation-decree figure img{display:block;width:100%;height:auto}
.coronation-decree figcaption{position:absolute;right:15px;bottom:8px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:12px;font-style:italic}
.coronation-decree h2{font-size:clamp(26px,3vw,36px)}
.coronation-decree>div>p:last-child{max-width:490px;margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.coronation-after{max-width:830px;margin:0 auto clamp(70px,9vw,108px);padding:0 24px;text-align:center}
.coronation-after .coronation-section-heading{margin-bottom:18px}
.coronation-after-copy{max-width:750px;margin:0 auto;color:#59646a;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.9}
.coronation-gallery{max-width:1120px;margin:0 auto}
.coronation-gallery .coronation-section-heading{margin-bottom:32px}
.coronation-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.coronation-gallery-item{overflow:hidden;margin:0;border:1px solid #d1dfed;background:#fbfaf6;box-shadow:0 7px 20px #20394a08}
.coronation-gallery-item a{display:block;overflow:hidden;background:#dbe6f1}
.coronation-gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.coronation-gallery-item a:hover img{transform:scale(1.035)}
.coronation-gallery-item figcaption{min-height:55px;padding:10px 12px;color:#5d686d;font-family:Georgia,'Times New Roman',serif;font-size:12px;line-height:1.5}
@media(max-width:900px){.coronation-intro{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:34px}.coronation-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.coronation-decree{gap:32px}}
@media(max-width:680px){.coronation-content{padding-top:36px}.coronation-intro{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.coronation-intro-copy{padding:0}.coronation-intro-copy>p:not(.coronation-kicker){font-size:15px}.coronation-hero-photo{max-width:540px}.coronation-hero-photo img{height:clamp(280px,82vw,420px)}.coronation-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:64px}.coronation-facts div{padding:16px 17px;border-bottom:1px solid #c9daea}.coronation-facts div:nth-child(2){border-right:0}.coronation-facts div:nth-child(n+3){border-bottom:0}.coronation-facts strong{font-size:17px}.coronation-timeline::before{left:8px}.coronation-moment{grid-template-columns:1fr;gap:8px;padding:0 0 28px 31px}.coronation-moment::before{left:2px}.coronation-date{text-align:left}.coronation-moment h3{font-size:21px}.coronation-moment p{font-size:14px}.coronation-moment-highlight{padding:20px 18px 21px 30px}.coronation-moment-highlight::before{left:1px}.coronation-decree{grid-template-columns:1fr;gap:25px;padding:23px}.coronation-decree figure{max-width:480px;margin-inline:auto}.coronation-after{padding:0}.coronation-after-copy{font-size:16px;line-height:1.8}.coronation-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.coronation-gallery-item figcaption{min-height:62px;padding:9px;font-size:11px}}
@media(max-width:390px){.coronation-gallery-grid{grid-template-columns:1fr}.coronation-gallery-item img{aspect-ratio:1.35}.coronation-gallery-item figcaption{min-height:0}.coronation-facts div{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.coronation-gallery-item img{transition:none}}

/* Pełna stopka parafii. */
.footer-main{display:grid;grid-template-columns:minmax(230px,1.35fr) repeat(3,minmax(145px,1fr));align-items:start;gap:42px;padding-block:48px 44px}
.footer-parish{max-width:330px}
.footer-brand{gap:7px}
.footer-brand>span:last-child{font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.5}
.footer-brand::after{margin-top:10px}
.footer-address{margin:15px 0 7px;color:#f0f6fc;font-size:14px;font-style:normal;line-height:1.65}
.footer-contact-links{display:grid;justify-items:start;gap:3px;font-size:14px}
.footer-contact-links a,.footer-links a,.footer-social a{text-decoration:none}
.footer-heading{margin:3px 0 17px;color:var(--gold-text);font:18px/1.35 Georgia,'Times New Roman',serif}
.site-footer .footer-links ul,.site-footer .footer-social ul{display:grid;justify-items:start;gap:10px;margin:0;font-size:14px}
.footer-social li span{color:var(--gold-text);font-size:12px}
.footer-bottom{align-items:center}
@media(max-width:980px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 48px}.footer-parish{max-width:380px}}
@media(max-width:520px){.footer-main{grid-template-columns:1fr;gap:27px;padding-block:34px}.footer-parish{max-width:none}.footer-heading{margin-bottom:11px}.site-footer .footer-links ul,.site-footer .footer-social ul{gap:8px}}

/* Księga świadectw, podziękowań i próśb z sanktuarium. */
.miracle-book-content{padding-top:clamp(38px,5vw,72px);padding-bottom:clamp(72px,9vw,112px)}
.miracle-book-intro{max-width:780px;margin:0 auto 34px;text-align:center}
.miracle-book-kicker{margin:0 0 11px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.miracle-book-intro h2{margin:0 auto 17px;color:var(--blue);font-size:clamp(30px,3.8vw,45px);line-height:1.16}
.miracle-book-intro>p:not(.miracle-book-kicker){max-width:700px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.9}
.miracle-book-intro .miracle-book-editorial-note{margin-top:13px;color:#3678b9;font-family:Georgia,'Times New Roman',serif;font-size:14px;font-style:italic}
.miracle-book-index{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 17px;max-width:1000px;margin:0 auto 28px;padding:16px 20px;border-block:1px solid var(--line);background:#fbfaf6}
.miracle-book-index-label{flex-basis:100%;margin:0 0 2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-align:center;text-transform:uppercase}
.miracle-book-index a{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:14px;text-decoration:none}
.miracle-book-index a span{color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-size:13px}
.miracle-book-index a:hover{color:var(--blue-hover)}
.miracle-book-archive{display:grid;gap:12px;max-width:1000px;margin:0 auto}
.miracle-book-section{border:1px solid #cdddec;background:#fff;box-shadow:0 8px 24px #20394a08;scroll-margin-top:24px}
.miracle-book-section summary{display:flex;align-items:center;gap:18px;min-height:86px;padding:18px 24px;cursor:pointer;list-style:none}
.miracle-book-section summary::-webkit-details-marker{display:none}
.miracle-book-section summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.miracle-book-section-number{display:grid;flex:0 0 43px;width:43px;height:43px;place-items:center;border:1px solid #397ec366;border-radius:50%;color:#2d6399;font-family:Georgia,'Times New Roman',serif;font-size:14px}
.miracle-book-section-heading{display:grid;gap:5px;min-width:0}
.miracle-book-section-title{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2.2vw,23px);line-height:1.3}
.miracle-book-section-note{color:var(--muted);font-size:12px;line-height:1.5}
.miracle-book-toggle{display:grid;flex:0 0 30px;width:30px;height:30px;margin-left:auto;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-size:20px;font-weight:300;line-height:1;transition:transform .18s ease}
.miracle-book-section[open] .miracle-book-toggle{transform:rotate(45deg)}
.miracle-book-section-content{padding:0 clamp(20px,4vw,48px) 31px;border-top:1px solid #dbe7f2}
.miracle-book-source-paragraph{margin:22px 0 0;color:#59646a;font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.9}
.miracle-book-entry{margin:26px 0 0;padding:22px 24px 23px;border:1px solid #dbe7f2;border-left:2px solid var(--gold);background:#fbfaf6}
.miracle-book-entry h3{margin:0 0 14px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;line-height:1.35}
.miracle-book-entry-copy p{margin:0 0 11px;color:#59646a;font-size:14px;line-height:1.85}
.miracle-book-entry-copy p:last-child{margin-bottom:0}
.miracle-book-page-mark{display:block;margin:22px 0 -13px;color:#2d6399;font-size:10px;font-weight:700;letter-spacing:.1em;text-align:right;text-transform:uppercase}
.miracle-book-return{max-width:760px;margin:clamp(58px,8vw,90px) auto 0;padding:30px clamp(20px,4vw,42px);border:1px solid var(--line);background:#eef3f8;text-align:center}
.miracle-book-return>p:nth-child(2){max-width:560px;margin:0 auto;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.8}
.miracle-book-return a{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:11px 16px;border-bottom:2px solid var(--gold);background:var(--blue);color:#9abee2;font-size:13px;font-weight:700;text-decoration:none}
.miracle-book-return a:hover{background:var(--blue-hover);color:#9abee2}
@media(max-width:600px){.miracle-book-content{padding-top:35px}.miracle-book-intro>p:not(.miracle-book-kicker){font-size:15px}.miracle-book-index{justify-content:flex-start;gap:10px 16px;padding:14px}.miracle-book-index-label{text-align:left}.miracle-book-index a{font-size:13px}.miracle-book-section summary{gap:13px;min-height:78px;padding:15px}.miracle-book-section-number{flex-basis:37px;width:37px;height:37px}.miracle-book-section-note{font-size:11px}.miracle-book-section-content{padding:0 15px 22px}.miracle-book-entry{margin-top:20px;padding:19px 17px}.miracle-book-entry h3{font-size:18px}.miracle-book-entry-copy p,.miracle-book-source-paragraph{font-size:14px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.miracle-book-toggle{transition:none}}

/* Podstrona obrazu Matki Bożej Ostrożańskiej. */
.image-page-content{padding-top:clamp(36px,5vw,70px)}
.image-page-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(38px,7vw,92px);max-width:1080px;margin:0 auto clamp(72px,9vw,112px)}
.image-page-intro-copy{padding-block:16px}
.image-page-kicker{margin:0 0 13px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.image-page-intro h2,.image-page-section-heading h2,.image-page-visit h2{margin:0 0 20px;color:var(--blue);font-size:clamp(30px,3.6vw,44px);line-height:1.16}
.image-page-intro-copy>p:not(.image-page-kicker),.image-page-visit-copy>p:not(.image-page-kicker){max-width:480px;margin:0;color:var(--muted);font-size:16px;line-height:1.9}
.image-page-quote{position:relative;max-width:490px;margin:30px 0 0;padding:19px 0 0 22px;border:0;border-left:2px solid var(--gold);background:transparent;font-family:Georgia,'Times New Roman',serif}
.image-page-quote::before{position:absolute;top:-4px;left:17px;color:#397ec333;font-size:65px;line-height:1;content:'“'}
.image-page-quote p{position:relative;margin:0 0 11px;font-size:17px;line-height:1.7}
.image-page-quote cite{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-style:normal;letter-spacing:.06em}
.image-page-portrait,.image-page-altar-photo{position:relative;margin:0;padding:12px 12px 35px;border:1px solid #d1dfed;background:#ebf2f8;box-shadow:0 18px 45px #263c4b12}
.image-page-portrait::before,.image-page-altar-photo::before{position:absolute;inset:5px;border:1px solid #397ec345;content:"";pointer-events:none}
.image-page-portrait img,.image-page-altar-photo img{position:relative;display:block;width:100%;object-fit:cover}
.image-page-portrait img{height:clamp(430px,54vw,620px);object-position:center 38%}
.image-page-portrait figcaption,.image-page-altar-photo figcaption{position:absolute;right:20px;bottom:10px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:13px;font-style:italic}
.image-page-section-heading{max-width:680px;margin:0 auto 31px;text-align:center}
.image-page-section-heading .image-page-kicker{margin-bottom:9px}
.image-page-section-heading h2{margin-bottom:0}
.image-page-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;max-width:1080px;margin-inline:auto}
.image-page-story{position:relative;padding:31px 27px 30px;border:1px solid var(--line);border-top:2px solid var(--gold);background:#fff;box-shadow:0 8px 24px #20394a08}
.image-page-story-mark{display:block;margin-bottom:14px;color:#3677b8;font-family:Georgia,'Times New Roman',serif;font-size:13px;letter-spacing:.12em}
.image-page-story h3{margin:0 0 15px;color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.25}
.image-page-story p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.8}
.image-page-story p:last-child{margin-bottom:0}
.image-page-visit{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(35px,7vw,90px);max-width:1030px;margin:clamp(72px,9vw,112px) auto 0}
.image-page-altar-photo img{height:clamp(310px,39vw,460px);object-position:center 42%}
.image-page-visit h2{margin-bottom:17px}
.image-page-visit-link{display:inline-flex;align-items:center;gap:14px;margin-top:25px;padding:12px 18px;border-bottom:2px solid var(--gold);background:var(--blue);color:#9abee2;text-decoration:none;font-size:14px;font-weight:600}
.image-page-visit-link:hover{background:var(--blue-hover);color:#9abee2}
.image-page-visit-link span{font-size:18px;line-height:1}
@media(max-width:900px){.image-page-intro{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:35px}.image-page-history-grid{grid-template-columns:1fr;max-width:700px}.image-page-story{padding:27px 29px}.image-page-visit{gap:35px}}
@media(max-width:680px){.image-page-content{padding-top:36px}.image-page-intro{grid-template-columns:1fr;gap:26px;margin-bottom:62px}.image-page-intro-copy{padding:0}.image-page-intro-copy>p:not(.image-page-kicker),.image-page-visit-copy>p:not(.image-page-kicker){font-size:15px}.image-page-portrait{max-width:540px}.image-page-portrait img{height:clamp(410px,118vw,590px)}.image-page-story{padding:24px 22px}.image-page-visit{grid-template-columns:1fr;gap:25px;margin-top:64px}.image-page-altar-photo{max-width:540px}.image-page-altar-photo img{height:clamp(300px,85vw,420px)}}

/* Wirtualny spacer 3D */
.tour-page-content{max-width:1260px;padding-top:clamp(34px,5vw,66px);padding-bottom:clamp(48px,7vw,84px)}
.tour-intro{max-width:760px;margin:0 auto 30px;text-align:center}
.tour-kicker{margin:0 0 11px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.tour-intro h2{margin:0 0 12px;color:var(--blue);font-size:clamp(29px,3.5vw,42px)}
.tour-intro>p:last-child{max-width:680px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.tour-viewer{overflow:hidden;border:1px solid #d9e1e5;background:#14212b;box-shadow:0 20px 55px #20394a18}
.tour-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:8px 13px 8px 19px;background:#fff}
.tour-viewer-label{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.03em}
.tour-live-dot{width:8px;height:8px;border-radius:50%;background:#3a80c6;box-shadow:0 0 0 4px #3a80c61a}
.tour-fullscreen-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:7px 12px;border:1px solid #d9e1e5;background:#fff;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer}
.tour-fullscreen-button:hover{border-color:var(--gold);background:#f3f7fb}
.tour-fullscreen-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tour-frame-wrap{position:relative;width:100%;height:min(68vw,720px);min-height:500px;background:#14212b}
.tour-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour-frame-wrap:fullscreen{width:100vw;height:100dvh;min-height:0;background:#000}
.tour-frame-wrap:-webkit-full-screen{width:100vw;height:100vh;min-height:0;background:#000}
.tour-mobile-note{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.7;text-align:center}
.tour-direct-link{display:flex;width:max-content;align-items:center;gap:12px;margin:13px auto 0;padding:8px 12px;color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}
.tour-direct-link:hover{color:var(--blue-hover);text-decoration:underline}
.tour-direct-link span{color:var(--gold);font-size:17px}
@media(max-width:680px){.tour-page-content{padding-top:32px}.tour-intro{margin-bottom:23px}.tour-intro>p:last-child{font-size:15px}.tour-viewer-toolbar{min-height:52px;padding-inline:12px}.tour-frame-wrap{height:68vh;height:68svh;min-height:430px;max-height:720px}.tour-mobile-note{max-width:440px;margin-inline:auto;font-size:12px}}
@media(max-width:420px){.tour-viewer-toolbar{min-height:48px}.tour-fullscreen-button{min-height:42px;padding-inline:9px}.tour-fullscreen-label{font-size:12px}.tour-frame-wrap{height:70vh;height:70svh;min-height:410px}.tour-page-content{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.tour-fullscreen-button,.tour-direct-link{transition:none}}

/* Porządek Mszy Świętych. */
.mass-schedule-content{padding-block:clamp(42px,6vw,72px) clamp(66px,8vw,94px)}
.mass-schedule-intro{max-width:760px;margin:0 auto clamp(42px,6vw,68px);text-align:center}
.mass-schedule-kicker{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.mass-schedule-intro h2,.mass-schedule-section-heading h2{margin:0 0 14px;color:var(--blue);font-size:clamp(29px,3.4vw,41px);line-height:1.18}
.mass-schedule-intro>p:last-child,.mass-schedule-section-heading>p:last-child{max-width:680px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}
.mass-schedule-section{max-width:960px;margin:0 auto 58px}
.mass-schedule-section-heading{margin-bottom:25px;text-align:center}
.mass-schedule-section-heading .mass-schedule-kicker{margin-bottom:8px}
.mass-schedule-section-heading h2{margin-bottom:9px}
.mass-sunday-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.mass-time-card{position:relative;display:flex;min-height:183px;flex-direction:column;align-items:center;justify-content:center;padding:25px;border:1px solid var(--line);border-bottom:3px solid var(--gold);background:#fff;text-align:center;box-shadow:0 9px 26px #20394a0a}
.mass-time-number{position:absolute;top:15px;left:17px;color:#aebdc6;font-size:11px;font-weight:700;letter-spacing:.12em}
.mass-time-card time{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:clamp(35px,5vw,52px);line-height:1.1;font-variant-numeric:tabular-nums}
.mass-time-caption{margin-top:10px;color:var(--muted);font-size:13px;letter-spacing:.05em}
.mass-weekday-section{margin-bottom:42px}
.mass-season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.mass-season-card{padding:26px 30px;border:1px solid var(--line);border-top:2px solid var(--gold);background:#fff;box-shadow:0 9px 26px #20394a0a}
.mass-season-card h3{margin:0 0 17px;color:var(--blue);font-size:25px}
.mass-weekday-list{margin:0}
.mass-weekday-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid #e8eef3}
.mass-weekday-row dt{color:var(--ink);font-size:15px}
.mass-weekday-row dd{display:flex;gap:8px;margin:0;color:var(--blue);font-weight:700;font-variant-numeric:tabular-nums}
.mass-schedule-note{display:flex;align-items:flex-start;gap:15px;max-width:790px;margin:0 auto 24px;padding:19px 22px;border:1px solid #ceddec;background:#fbfaf6}
.mass-schedule-note-mark{flex:none;color:var(--gold);font-size:20px;line-height:1.4}
.mass-schedule-note p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.mass-schedule-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 27px}
.mass-schedule-links a{color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}
.mass-schedule-links a span{margin-left:5px;color:var(--gold)}
.mass-schedule-links a:hover{text-decoration:underline;text-underline-offset:4px}
.mass-schedule-unavailable{max-width:790px;margin:0 auto 28px;padding:20px;border:1px solid var(--line);text-align:center}
@media(max-width:650px){.mass-schedule-content{padding-block:38px 62px}.mass-schedule-intro{margin-bottom:40px}.mass-schedule-intro>p:last-child,.mass-schedule-section-heading>p:last-child{font-size:15px}.mass-schedule-section{margin-bottom:44px}.mass-sunday-times{gap:9px}.mass-time-card{min-height:145px;padding:18px 9px}.mass-time-card time{font-size:clamp(29px,8vw,42px)}.mass-time-number{top:10px;left:10px;font-size:9px}.mass-time-caption{font-size:11px}.mass-season-grid{grid-template-columns:1fr;gap:12px}.mass-season-card{padding:21px 22px}.mass-season-card h3{font-size:23px}.mass-weekday-row{padding:10px 0}.mass-weekday-row dt{font-size:14px}.mass-schedule-note{padding:16px}.mass-schedule-links{align-items:center;flex-direction:column;gap:13px}}
@media(max-width:380px){.mass-time-card{min-height:132px;padding-inline:5px}.mass-time-card time{font-size:28px}.mass-time-caption{font-size:10px}.mass-weekday-row{gap:9px}.mass-weekday-row dt,.mass-weekday-row dd{font-size:13px}}

/* Polityki prywatności i zarządzanie zgodą na media. */
.legal-content{max-width:900px;padding-block:clamp(35px,5vw,64px) 80px;color:var(--ink);font-size:16px;line-height:1.8}
.legal-content h2{margin:34px 0 10px;color:var(--blue);font:26px/1.3 Georgia,'Times New Roman',serif}
.legal-content p,.legal-content ul{margin:0 0 16px}
.legal-content li{margin:0 0 11px}
.legal-content a{color:var(--blue-hover);text-underline-offset:3px}
.legal-updated{color:var(--muted);font-size:13px}
.footer-bottom{flex-wrap:wrap;gap:12px 24px}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 16px}
.footer-legal a,.footer-legal button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-banner{position:fixed;z-index:10000;right:20px;bottom:20px;left:20px;display:flex;max-width:1120px;align-items:center;justify-content:space-between;gap:22px;margin-inline:auto;padding:20px 24px;border:1px solid #d9e1e5;border-top:3px solid var(--gold);background:#fff;color:var(--ink);box-shadow:0 12px 48px #14212b38}
.consent-banner[hidden]{display:none}
.consent-banner strong{color:var(--blue);font:20px/1.3 Georgia,'Times New Roman',serif}
.consent-banner p{max-width:650px;margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.consent-banner a{color:var(--blue-hover)}
.consent-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.consent-actions button,.consent-embed-prompt button{min-height:42px;padding:9px 13px;border:1px solid var(--blue);background:#fff;color:var(--blue);font-family:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer}
.consent-actions [data-consent-accept]{background:var(--blue);color:#fff}
.consent-actions button:hover,.consent-embed-prompt button:hover{border-color:var(--gold);background:#f3f7fb;color:var(--blue)}
.consent-actions [data-consent-accept]:hover{background:var(--blue-hover);color:#fff}
.consent-dialog{width:min(560px,calc(100% - 32px));max-width:none;max-height:min(90vh,780px);padding:0;border:1px solid #d9e1e5;background:#fff;color:var(--ink);box-shadow:0 20px 80px #14212b45}
.consent-dialog::backdrop{background:#102432a6}
.consent-dialog-inner{position:relative;padding:clamp(24px,5vw,40px)}
.consent-dialog-close{position:absolute;top:12px;right:16px;border:0;background:none;color:var(--muted);font-size:30px;cursor:pointer}
.consent-eyebrow{margin:0 0 8px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.consent-dialog h2{margin:0 0 12px;color:var(--blue);font:30px/1.2 Georgia,'Times New Roman',serif}
.consent-dialog-inner>p:not(.consent-eyebrow){color:var(--muted);font-size:14px;line-height:1.7}
.consent-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #e4e9ec}
.consent-choice strong{color:var(--blue)}
.consent-choice p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.consent-always{flex:none;color:var(--muted);font-size:12px}
.consent-choice-toggle{cursor:pointer}
.consent-choice-toggle input{width:22px;height:22px;flex:none;accent-color:var(--blue)}
.consent-dialog .consent-actions{margin-top:22px}
.consent-embed{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#152e40,#0e1e2a);color:#fff}
.consent-embed iframe{z-index:1}
.consent-embed:not(.consent-embed-allowed) iframe{visibility:hidden}
.consent-embed-prompt{display:flex;max-width:390px;flex-direction:column;align-items:center;gap:8px;padding:22px;text-align:center}
.consent-embed-prompt p{margin:0;color:#f4f7fa;font-size:14px;line-height:1.6}
.consent-embed-prompt button{border-color:#7eacda;background:#7eacda;color:#172c3d}
.consent-embed-allowed .consent-embed-prompt{display:none}
.tour-frame-wrap .consent-embed{height:100%}
.tour-frame-wrap .consent-embed-prompt{padding:32px}
@media(max-width:760px){.consent-banner{right:10px;bottom:10px;left:10px;align-items:stretch;flex-direction:column;gap:12px;padding:16px}.consent-banner .consent-actions{justify-content:stretch}.consent-banner .consent-actions button{flex:1}.consent-dialog .consent-actions{justify-content:stretch}.consent-dialog .consent-actions button{flex:1}.legal-content{font-size:15px}}
@media(max-width:520px){.footer-legal{width:100%;gap:8px 14px;font-size:12px}.consent-banner .consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-banner [data-consent-accept]{grid-column:1/-1}.consent-dialog-inner{padding:30px 21px}.consent-dialog h2{font-size:26px}}

/* Spokojniejsza, wspólna oprawa całej strony parafii. */
:root{--ink:#1d4063;--muted:#326fac;--blue:#285a8b;--blue-hover:#20466d;--pale:#fbfaf7;--line:#d3e1ef;--footer-blue:#1d4165;--deep-blue:#285a8b;--gold:#518fcc;--gold-text:#d1dfed;--width:1160px}
body{background:#fbfaf7;color:var(--ink);font-size:16px;line-height:1.72}
.container{width:min(var(--width),calc(100% - 64px))}
main h1{font-size:clamp(31px,4.3vw,49px)!important;line-height:1.14;letter-spacing:-.025em}
main h2{font-size:clamp(24px,2.8vw,34px)!important;line-height:1.2}
main h3{font-size:clamp(19px,2vw,24px)!important;line-height:1.3}
.site-header{border-top:3px solid var(--gold);background:#fbfaf7}
.identity{min-height:125px;padding-block:18px;gap:18px}
.brand-name{font-size:39px;line-height:1.1}
.brand-eyebrow{font-size:10px;letter-spacing:.11em}
.brand-subtitle{font-size:15px;color:#3679bb}
.header-ornament{font-size:34px;color:#4385c8}
.site-logo img{max-width:70px;max-height:88px}
.navigation-bar{background:#285a8b;color:#fff;border:0}
.navigation-inner{min-height:52px}
.primary-navigation .menu{gap:2px 9px}
.primary-navigation a{padding:13px 11px;font-size:13px}
.primary-navigation a:hover,.primary-navigation .current-menu-item>a,.primary-navigation .current_page_item>a{background:#224d77;color:#fff;box-shadow:inset 0 -2px #8fb7df}
.primary-navigation li>ul{background:#285a8b;border-color:#3475b5;box-shadow:0 14px 30px #142d4626}
.page-heading{background:linear-gradient(112deg,#265685 0%,#2d6399 58%,#3677b8 100%);border:0;padding-block:23px 31px}
.page-heading::after{width:220px;height:220px;right:max(7%,calc((100vw - var(--width))/2));border-color:#d1dfed1e;box-shadow:0 0 0 13px #d1dfed0b,0 0 0 25px #d1dfed07}
.page-heading h1{max-width:850px;font-size:clamp(31px,4vw,46px)!important;margin:18px 0 10px}
.breadcrumbs{font-size:11px;color:#f0f2ed}
.heading-ornament{width:112px}
.content-area,.parish-content{padding-block:46px 66px}
.section-pad{padding-block:62px}
.site-footer{background:#1d4165;border-top:3px solid var(--gold)}
.home-hero{min-height:clamp(440px,48vw,590px);border:0;background:#1d4165}
.home-hero::after{display:none}
.home-hero-slides,.home-hero-slide{position:absolute;inset:0;width:100%;height:100%}
.home-hero-slide{margin:0;opacity:0;transition:opacity 1.1s ease;z-index:0}
.home-hero-slide.is-active{opacity:1;z-index:1}
.home-hero-image{z-index:0;object-position:center 42%;filter:saturate(.82)}
.home-hero-shade{z-index:2;background:linear-gradient(90deg,#16324ddc 0%,#193958b8 40%,#1a3a5a4a 76%,#17334f18 100%),linear-gradient(0deg,#142c435c,transparent 45%)}
.home-hero-inner{z-index:3;min-height:inherit;padding-block:52px}
.home-hero h1{font-size:clamp(38px,5vw,60px)!important;margin:8px 0 13px}
.home-hero .home-eyebrow,.home-sanctuary .home-eyebrow,.home-walk .home-eyebrow,.home-contact .home-eyebrow{color:#afcce8;font-size:11px;letter-spacing:.13em}
.home-hero-copy>p:not(.home-eyebrow){max-width:540px;margin-bottom:23px;font-size:17px;line-height:1.7}
.home-button{min-height:46px;padding:10px 16px;border-radius:4px;font-size:13px}
.home-button-primary{background:#a9c8e6;color:#1d4266}
.home-button-primary:hover,.home-button-primary:focus{background:#d8e4f0;color:#1b3c5d}
.home-button-secondary{border-color:#ffffff9c;border-radius:4px}
.home-button-dark{border-radius:4px;background:#285a8b}
.home-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;align-self:flex-end}
.home-hero-caption{font-size:11px;letter-spacing:.025em}
.home-carousel-controls{display:flex;align-items:center;gap:7px;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}
.home-carousel-controls button{display:grid;width:31px;height:31px;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#142c4335;color:#fff;font:22px/1 Arial,sans-serif;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.home-carousel-controls button:hover,.home-carousel-controls button:focus-visible{border-color:#b0cce8;background:#b0cce8;color:#1d4165}
.home-carousel-controls [data-home-pause]{font-size:13px}
.home-carousel-controls>span{min-width:29px;text-align:center}
.home-updates-section{margin:0;padding-block:20px;background:#f1f2ed}
.home-updates-grid{gap:16px}
.home-update-card,.home-time-card,.home-weekday-times,.home-news-card{border:1px solid #d3e1ee;border-radius:6px;background:#fff;box-shadow:0 6px 22px #1d416509}
.home-update-card{padding:22px 24px}
.home-section-heading{margin-bottom:23px}
.home-section-heading-small{margin-bottom:12px}
.home-section-heading h2{margin-bottom:8px!important;color:#285a8b}
.home-eyebrow{color:#316eaa;font-size:10px;letter-spacing:.12em}
.home-section-heading>p:last-child,.home-news-heading p{font-size:14px;color:var(--muted)}
.home-announcements .home-section-heading-small h2::before,.home-intentions .home-section-heading-small h2::before,.home-masses .home-section-heading h2::before,.home-news .home-section-heading h2::before{display:inline-grid;width:29px;height:29px;place-items:center;margin-right:9px;border-radius:50%;background:#e5edf5;color:#316eaa;font:15px Arial,sans-serif;vertical-align:2px}
.home-announcements .home-section-heading h2::before{content:'✦'}
.home-intentions .home-section-heading h2::before{content:'♡'}
.home-masses .home-section-heading h2::before{content:'◷'}
.home-news .home-section-heading h2::before{content:'✧'}
.home-announcement-list li,.home-intention-list li{border-color:#e2ebf4}
.home-announcement-list time,.home-intention-list time{color:#3f83c7}
.home-text-link{color:#285a8b;font-size:13px}
.home-text-link span{color:#4385c8}
.home-masses{background:#edf3f8}
.home-time-card{min-height:116px;border-top:2px solid #518fcc}
.home-time-card time{font-size:36px;color:#285a8b}
.home-weekday-times{padding:17px 21px}
.home-news-grid{gap:16px}
.home-news-image{height:205px}
.home-news-copy{padding:20px}
.home-news-card h3{margin-block:7px 10px!important}
.home-news-card h3 a{text-decoration:none;color:#285a8b}
.home-news-card p{font-size:14px;color:var(--muted)}
.home-news-image-placeholder{background:#e4edf5;color:#4385c8}
.home-sanctuary{background:#fbfaf7}
.home-sanctuary-photo,.home-news-image{overflow:hidden;border-radius:6px}
.home-sanctuary-photo img{border-radius:6px}
.home-sanctuary-copy>p:not(.home-eyebrow){font-size:15px;color:var(--muted);line-height:1.8}
.home-walk{background:#285a8b}
.home-contact{background:#f1f2ed}
.home-contact-actions>a:first-child{color:#285a8b}
.home-hero :focus-visible,.home-carousel-controls :focus-visible{outline-color:#d1dfed}
.home-update-card,.home-news-card,.home-time-card,.parish-link-card,.sanctuary-link-card{border-radius:6px}
.parish-link-card,.sanctuary-link-card,.clergy-card,.mass-time-card,.mass-season-card,.parish-contact-grid,.parish-office-details{box-shadow:0 7px 24px #1d416509;border-color:#d3e1ee}
.parish-link-mark,.clergy-card-mark,.parish-office-mark,.parish-contact-icon,.sanctuary-link-icon{background:#e6eef5;border-color:#c4d6e8;color:#2e67a0}
.sanctuary-link-card:hover,.parish-link-card:hover{border-color:#95bbe0}
.mass-schedule-note,.home-masses{background:#ebf2f8}
.content-area :is(input,textarea,select),.content-area :is(button,.button,a.button){border-radius:4px}
@media(max-width:760px){.container{width:calc(100% - 38px)}.identity{min-height:100px;padding-block:14px}.brand-name{font-size:34px}.brand-subtitle{font-size:13px}.home-hero{min-height:530px}.home-hero-inner{padding-block:38px 24px}.home-hero h1{font-size:clamp(36px,8vw,48px)!important}.home-hero-bottom{width:100%;align-items:flex-start;flex-direction:column;gap:12px}.home-carousel-controls{align-self:flex-end}.home-hero-caption{align-self:flex-start;margin-top:0}.home-section-heading{margin-bottom:20px}.section-pad{padding-block:50px}.home-sanctuary-photo img{height:330px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.identity{min-height:90px;gap:12px}.brand-name{font-size:30px}.brand-eyebrow{max-width:255px;font-size:9px}.brand-subtitle{font-size:12px}.header-ornament{font-size:26px}.page-heading{padding-block:20px 26px}.page-heading h1{font-size:31px!important}.home-hero{min-height:500px}.home-hero-copy>p:not(.home-eyebrow){font-size:15px}.home-carousel-controls button{width:29px;height:29px}.home-news-image{height:210px}.home-update-card{padding:19px}.home-sanctuary-photo img{height:290px}}
@media(prefers-reduced-motion:reduce){.home-hero-slide,.home-carousel-controls button{transition:none!important}}

/* Nagłówki z podmenu są przyciskami rozwijającymi, a nie odnośnikami do osobnych stron. */
.primary-navigation .menu-parent-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 12px;border:0;background:transparent;color:#e9f0f6;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:600;letter-spacing:.055em;line-height:26px;text-align:left;text-transform:uppercase;cursor:pointer}
.primary-navigation .menu-parent-toggle:hover,.primary-navigation .menu-parent-toggle[aria-expanded="true"],.primary-navigation .current-menu-item>.menu-parent-toggle,.primary-navigation .current-menu-parent>.menu-parent-toggle,.primary-navigation .current_page_parent>.menu-parent-toggle,.primary-navigation .current_page_ancestor>.menu-parent-toggle{background:#1d4266;color:#c7d9ea;box-shadow:inset 0 -2px #77a8d8}
.submenu-chevron{width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease-out}
.menu-parent-toggle[aria-expanded="true"] .submenu-chevron{transform:translateY(2px) rotate(225deg)}
.primary-navigation .menu-parent-toggle{transition:background-color .15s ease-out,color .15s ease-out}
@media(max-width:780px){.primary-navigation .menu-parent-toggle{justify-content:space-between;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.submenu-chevron,.primary-navigation li>ul{transition:none!important}}

/* Klasyczny układ parafii: papierowe tło, liternictwo szeryfowe i złocone ornamenty. */
body{background:#e8eff6;background-image:repeating-linear-gradient(0deg,#3371ae05 0,#3371ae05 1px,transparent 1px,transparent 7px);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.78;color:#1d4063}
a{color:#285a8b;text-underline-offset:3px}
a:hover{color:#1c3f62}
button,input,textarea,select{font-family:Arial,Helvetica,sans-serif}
.site-header{position:relative;border-top:7px solid #285a8b;border-bottom:1px solid #9dc0e2;background:#eef3f8}
.site-header::before{position:absolute;right:0;bottom:4px;left:0;height:1px;background:#96bce1;content:""}
.identity{position:relative;min-height:154px;justify-content:center;padding-block:22px 26px}
.brand{align-items:center;text-align:center}
.brand-eyebrow{color:#2f69a2;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.16em}
.brand-name{margin:4px 0 2px;color:#244f7a;font-size:47px;letter-spacing:.015em}
.brand-subtitle{color:#306ba6;font-size:15px;font-style:italic}
.site-logo{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.site-logo img{max-width:68px;max-height:82px}
.header-ornament{position:absolute;right:12px;top:50%;margin:0;color:#4285c8;font-size:39px;transform:translateY(-50%)}
.navigation-bar{position:relative;background:#24517d;color:#d1dfed;border-top:1px solid #b9cfe4;border-bottom:4px double #518fcc}
.navigation-inner{min-height:57px;display:flex;align-items:center;justify-content:center}
.primary-navigation .menu{justify-content:center;gap:1px 8px}
.primary-navigation a{padding:14px 12px;color:#e9f0f6;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}
.primary-navigation a:hover,.primary-navigation .current-menu-item>a,.primary-navigation .current_page_item>a{background:#1d4266;color:#c7d9ea;box-shadow:inset 0 -2px #77a8d8}
.primary-navigation li>ul{background:#24517d;border:1px solid #518fcc;box-shadow:0 14px 28px #16314c24}
.primary-navigation li>ul a{font-size:12px;letter-spacing:0;text-transform:none}
.page-heading{overflow:visible;background:#d7e3f0;color:#1d4063;border-top:1px solid #bbd0e5;border-bottom:1px solid #93bae0;padding-block:23px 28px}
.page-heading::before{top:5px;bottom:5px;left:12px;height:auto;border-top:1px solid #9cbfe2;border-bottom:1px solid #9cbfe2;background:none;opacity:.8}
.page-heading::after{top:50%;right:max(7%,calc((100vw - var(--width))/2));width:auto;height:auto;border:0;border-radius:0;box-shadow:none;content:'✥';color:#4285c8;font-family:Georgia,'Times New Roman',serif;font-size:46px;transform:translateY(-50%)}
.page-heading h1{margin:15px 0 10px;color:#244f7a;font-size:clamp(31px,3.8vw,43px)!important;letter-spacing:0}
.breadcrumbs{color:#2d659d;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.025em}
.breadcrumbs li+li::before{border-color:#4285c8}
.breadcrumbs [aria-current=page]{color:#2a5d90}
.heading-ornament{width:138px}
.heading-ornament::before,.heading-ornament::after{background:#518fcc}
.heading-ornament span{border-color:#397ec3;box-shadow:0 0 0 4px #d7e3f0}
.content-area,.parish-content{padding-block:52px 76px;background:transparent}
.content-area{min-height:300px}
.site-footer{position:relative;border-top:5px double #518fcc;background:#1d4165;color:#e2ebf4}
.site-footer::before{position:absolute;top:6px;right:0;left:0;height:1px;background:#3677b8;content:""}
.footer-heading{color:#a8c7e6}
.footer-brand,.site-footer a{color:#e2ebf4}
.site-footer a:hover{color:#abc9e7}
.home-main{background:#e8eff6}
.home-hero{min-height:0;overflow:visible;border:0;background:transparent;color:#1d4063}
.home-hero::before{position:absolute;inset:0 0 auto;height:1px;background:#93b9e0;content:""}
.home-hero::after{display:none}
.home-hero-inner{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(35px,6vw,78px);min-height:0;padding-block:clamp(46px,7vw,82px)}
.home-hero-copy{max-width:520px;padding:12px 0}
.home-hero .home-eyebrow{position:relative;margin:0 0 20px;padding-bottom:15px;color:#316eaa;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.15em}
.home-hero .home-eyebrow::after{position:absolute;bottom:0;left:0;width:84px;height:1px;background:#518fcc;content:""}
.home-hero h1{margin:0 0 19px;color:#244f7a;font-size:clamp(37px,4.8vw,58px)!important;line-height:1.12;letter-spacing:0}
.home-hero-copy>p:not(.home-eyebrow){max-width:470px;margin:0 0 25px;color:#2d649a;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.8}
.home-hero-actions{gap:10px}
.home-button{min-height:47px;border-radius:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.home-button-primary,.home-button-dark{border:1px solid #285a8b;background:#285a8b;color:#fff}
.home-button-primary:hover,.home-button-primary:focus,.home-button-dark:hover,.home-button-dark:focus{background:#1d4165;color:#fff}
.home-button-secondary{border-color:#518fcc;color:#285a8b}
.home-button-secondary:hover,.home-button-secondary:focus{background:#d7e3f0;color:#1d4063}
.home-hero-media{position:relative;display:grid;grid-template-rows:minmax(300px,clamp(370px,43vw,520px)) auto;gap:0;margin:0;padding:11px;border:1px solid #78a8d8;background:#d7e3f0;box-shadow:0 0 0 5px #e8eff6,0 0 0 6px #aac8e6,0 14px 34px #1d406315}
.home-hero-media::before{position:absolute;z-index:4;inset:5px;border:1px solid #518fcc70;content:"";pointer-events:none}
.home-hero-slides{position:relative;min-height:0;overflow:hidden;background:#aecbe7}
.home-hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1s ease;z-index:0}
.home-hero-slide.is-active{opacity:1;z-index:1}
.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.82)}
.home-hero-bottom{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin:0;padding:7px 5px 0;color:#2f69a2}
.home-hero-caption{margin:0;color:#2f69a2;font-family:Georgia,'Times New Roman',serif;font-size:12px;font-style:italic;letter-spacing:0}
.home-carousel-controls{gap:5px;color:#295c8e;font-family:Arial,Helvetica,sans-serif;font-size:10px}
.home-carousel-controls button{width:27px;height:27px;border-color:#72a4d6;border-radius:50%;background:#eef3f8;color:#285a8b;font-size:19px}
.home-carousel-controls button:hover,.home-carousel-controls button:focus-visible{border-color:#285a8b;background:#285a8b;color:#fff}
.home-carousel-controls>span{min-width:31px}
.home-updates-section{position:relative;margin:0;padding-block:25px;background:#d1e0ee;border-block:1px solid #9fc1e3}
.home-updates-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1080px;border:1px solid #89b3dd;background:#ecf2f8;box-shadow:0 0 0 5px #d1e0ee,0 0 0 6px #abc9e7}
.home-update-card{min-width:0;padding:25px 30px;border:0;border-radius:0;background:transparent;box-shadow:none}
.home-update-card+.home-update-card{border-left:1px solid #abc9e6}
.home-section-heading{text-align:left}
.home-section-heading h2{color:#244f7a}
.home-eyebrow{color:#316eaa;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.14em}
.home-announcements .home-section-heading-small h2::before,.home-intentions .home-section-heading-small h2::before,.home-masses .home-section-heading h2::before,.home-news .home-section-heading h2::before{width:27px;height:27px;border:1px solid #83afdb;border-radius:50%;background:#dde8f2;color:#316eaa}
.home-announcement-list li,.home-intention-list li{border-color:#c6d8ea}
.section-pad{padding-block:clamp(54px,7vw,78px)}
.home-masses{background:#e8eff6}
.home-masses .home-section-heading,.home-news .home-section-heading{text-align:center}
.home-section-heading>p:last-child,.home-news-heading p{color:#326eab;font-family:Georgia,'Times New Roman',serif;font-size:15px}
.home-time-card,.home-weekday-times,.home-news-card{border:1px solid #a9c8e6;border-radius:0;background:#eef3f8;box-shadow:0 0 0 4px #e8eff6,0 0 0 5px #bcd1e6}
.home-time-card{min-height:124px;border-top:1px solid #7aaad9;border-bottom:3px double #518fcc}
.home-time-card time{color:#244f7a}
.home-weekday-times{margin-top:5px}
.home-news{background:#d7e3f0;border-block:1px solid #aac8e6}
.home-news-grid{gap:17px}
.home-news-card{overflow:hidden}
.home-news-image{height:196px;border-radius:0;background:#c1d4e7}
.home-news-copy{padding:20px 22px}
.home-news-card h3 a{color:#244f7a}
.home-sanctuary{background:#e8eff6}
.home-sanctuary-grid{gap:clamp(38px,7vw,90px)}
.home-sanctuary-photo{padding:10px 10px 34px;border:1px solid #7fadda;border-radius:0;background:#d7e3f0;box-shadow:0 0 0 5px #e8eff6,0 0 0 6px #abc9e7}
.home-sanctuary-photo::before{inset:4px;border-color:#518fcc70}
.home-sanctuary-photo img{border-radius:0}
.home-sanctuary-copy .home-eyebrow,.home-walk .home-eyebrow,.home-contact .home-eyebrow{color:#316eaa;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.14em}
.home-sanctuary-copy h2,.home-contact h2{color:#244f7a}
.home-sanctuary-copy>p:not(.home-eyebrow){color:#2f68a1;font-size:16px}
.home-walk{padding-block:35px;border-block:4px double #518fcc;background:#24517d}
.home-walk .home-eyebrow,.home-walk h2,.home-walk p{color:#e3ecf4}
.home-contact{background:#d1e0ee;border-top:1px solid #98bde1}
.home-hero :focus-visible,.home-carousel-controls :focus-visible{outline-color:#377bbe}
.home-news-card,.home-time-card,.home-update-card,.parish-link-card,.sanctuary-link-card,.clergy-card,.mass-time-card,.mass-season-card,.parish-contact-grid,.parish-office-details{border-radius:0}
.parish-link-card,.sanctuary-link-card,.clergy-card,.mass-time-card,.mass-season-card,.parish-contact-grid,.parish-office-details{box-shadow:0 0 0 4px #e8eff6,0 0 0 5px #bcd1e6}
.parish-link-card,.sanctuary-link-card{background:#f0f5fa}
.parish-link-mark,.clergy-card-mark,.parish-office-mark,.parish-contact-icon,.sanctuary-link-icon{border-radius:50%;background:#d7e3f0;border-color:#86b1dc;color:#285a8b}
.parish-link-arrow,.sanctuary-link-arrow{color:#3677b8}
.mass-schedule-note,.parish-office-details,.parish-contact-grid{background:#f0f5fa}
.home-hero h1,.page-heading h1,h2,h3,.parish-link-title,.sanctuary-link-title{font-variant:normal}
@media(max-width:760px){.identity{min-height:125px;padding-block:17px}.site-logo{left:2px}.site-logo img{max-width:48px;max-height:58px}.brand-name{font-size:38px}.brand-eyebrow{max-width:265px;font-size:9px}.brand-subtitle{font-size:13px}.header-ornament{right:2px;font-size:29px}.navigation-inner{justify-content:flex-start}.home-hero-inner{grid-template-columns:1fr;gap:28px;padding-block:42px 48px}.home-hero-copy{max-width:600px}.home-hero-media{grid-template-rows:minmax(270px,60vw) auto}.home-hero-bottom{flex-wrap:wrap}.home-updates-grid{grid-template-columns:1fr}.home-update-card+.home-update-card{border-top:1px solid #abc9e6;border-left:0}.home-sanctuary-grid{gap:32px}.home-sanctuary-photo{max-width:600px}}
@media(max-width:480px){.identity{min-height:112px;padding-inline:30px}.site-logo img{max-width:36px;max-height:45px}.brand-name{font-size:33px}.brand-eyebrow{font-size:8px;letter-spacing:.12em}.brand-subtitle{font-size:11px}.header-ornament{font-size:24px}.page-heading{padding:22px 0 24px}.page-heading::before{left:6px}.page-heading::after{right:14px;font-size:29px}.page-heading h1{max-width:calc(100% - 36px);font-size:29px!important}.home-hero-inner{gap:23px;padding-block:34px 40px}.home-hero h1{font-size:38px!important}.home-hero-copy>p:not(.home-eyebrow){font-size:15px}.home-hero-actions{align-items:stretch;flex-direction:column}.home-hero-media{padding:8px;grid-template-rows:minmax(235px,68vw) auto}.home-hero-bottom{align-items:flex-start;flex-direction:column;gap:6px;padding-top:9px}.home-carousel-controls{align-self:flex-end}.home-update-card{padding:22px}.home-time-card{min-height:102px}.home-contact-actions{gap:15px}}
@media(prefers-reduced-motion:reduce){.home-hero-slide{transition:none}}

/* Galeria na stronie głównej */
.home-gallery{background:#e8eff6;border-block:1px solid #aac8e6}
.home-gallery-heading{text-align:center}
.home-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.home-gallery-item{position:relative;display:block;overflow:hidden;min-width:0;padding:0;border:1px solid #7fadda;background:#d7e3f0;color:#fff;text-align:left;cursor:zoom-in;box-shadow:0 0 0 4px #e8eff6,0 0 0 5px #bcd1e6}
.home-gallery-item img{display:block;width:100%;height:clamp(150px,18vw,230px);object-fit:cover;transition:transform .35s ease}
.home-gallery-item:hover img,.home-gallery-item:focus-visible img{transform:scale(1.045)}
.home-gallery-caption{position:absolute;inset:auto 0 0;padding:32px 12px 11px;background:linear-gradient(transparent,#0d1e2ee8);font-family:Georgia,'Times New Roman',serif;font-size:13px;line-height:1.4}
.home-gallery-dialog{position:fixed;inset:0;width:min(100vw,1180px);max-width:calc(100vw - 32px);height:min(94vh,900px);max-height:calc(100vh - 32px);padding:48px 76px 20px;border:1px solid #7fadda;background:#e8eff6;color:#1d4063;box-shadow:0 16px 70px #0008}
.home-gallery-dialog::backdrop{background:#0c1a29e8}
.home-gallery-dialog figure{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0}
.home-gallery-dialog img{display:block;max-width:100%;max-height:calc(100% - 42px);object-fit:contain}
.home-gallery-dialog figcaption{color:#1d4063;font-family:Georgia,'Times New Roman',serif;font-size:14px;text-align:center}
.home-gallery-close,.home-gallery-nav{position:absolute;display:grid;width:42px;height:42px;place-items:center;border:1px solid #7fadda;border-radius:50%;background:#e8eff6;color:#1d4063;font:28px/1 Arial,sans-serif;cursor:pointer}
.home-gallery-close{top:10px;right:10px;font-size:30px}
.home-gallery-nav{top:50%;transform:translateY(-50%)}
.home-gallery-prev{left:15px}.home-gallery-next{right:15px}
.home-gallery-close:hover,.home-gallery-nav:hover,.home-gallery-close:focus-visible,.home-gallery-nav:focus-visible{background:#285a8b;color:#fff}
@media(max-width:760px){.home-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-gallery-item img{height:clamp(130px,27vw,200px)}.home-gallery-caption{padding:28px 8px 8px;font-size:11px}.home-gallery-dialog{padding:48px 48px 16px}.home-gallery-close,.home-gallery-nav{width:36px;height:36px}}
@media(max-width:480px){.home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-gallery-item img{height:clamp(145px,43vw,210px)}.home-gallery-dialog{max-width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:none;padding:48px 38px 14px}.home-gallery-nav{width:32px;height:32px}.home-gallery-prev{left:5px}.home-gallery-next{right:5px}}
@media(prefers-reduced-motion:reduce){.home-gallery-item img{transition:none}}

