/* Phase 7: scoped styles for the four churches in Greek and English. */
.ep-church-page { --church-paper:#f7f3eb; --church-ink:#302820; --church-wine:#681f29; --church-gold:#d4b26a; --church-line:#e3d8c5; padding-top:var(--site-nav-height,90px); background:#fffdf9; color:var(--church-ink); font:16px/1.8 'Plus Jakarta Sans',Arial,sans-serif; }
.ep-church-page *, .ep-church-page *:before, .ep-church-page *:after { box-sizing:border-box; }
.ep-church-wrap { width:calc(100% - 80px); max-width:1160px; margin:0 auto; }
.ep-church-page h1,.ep-church-page h2 { margin:0; font-family:MillerDisplay,Georgia,serif; font-weight:400; text-transform:none; letter-spacing:0; }
.ep-church-page h2 { font-size:clamp(32px,3vw,43px); line-height:1.18; }
.ep-church-page p { margin:0 0 20px; font:inherit; }
.ep-church-page a { color:inherit; }
.ep-church-page strong { font-family:inherit; }
.ep-church-page a:focus-visible,.ep-church-page button:focus-visible,.ep-church-page summary:focus-visible { outline:3px solid #b48735; outline-offset:5px; }
.ep-church-trail { padding:18px 0; }
.ep-church-page .ep-church-kicker { display:block; margin:0 0 14px; font:700 12px/1.65 'Plus Jakarta Sans',Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#806132; }
.ep-church-hero { position:relative; isolation:isolate; background:#25281d; }
.ep-church-hero-image { display:block; width:100%; height:clamp(400px,43vw,600px); object-fit:cover; object-position:50% 46%; }
.ep-church-hero:after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(0deg,rgba(16,19,12,.88),rgba(16,19,12,.14) 62%,transparent); pointer-events:none; }
.ep-church-hero-copy { position:absolute; z-index:1; bottom:48px; left:0; width:100%; color:#fff; }
.ep-church-hero-copy .ep-church-kicker { color:#f0d5a0; }
.ep-church-hero-copy h1 { color:#fff; font-size:clamp(42px,4.6vw,68px); line-height:1.05; text-shadow:0 2px 16px #0003; }
.ep-church-essentials { background:var(--church-paper); border-bottom:1px solid var(--church-line); }
.ep-church-essentials-grid { display:grid; grid-template-columns:.8fr 1.2fr 1fr; padding:30px 0; gap:32px; align-items:center; }
.ep-church-essentials-grid> *+* { border-left:1px solid #d9cdb9; padding-left:32px; }
.ep-church-essentials .ep-church-kicker { margin-bottom:5px; font-size:11px; letter-spacing:.065em; }
.ep-church-feast-fact>a { display:flex; align-items:center; gap:22px; font:30px/1.3 MillerDisplay,Georgia,serif; text-decoration:none; }
.ep-church-essential { display:block; text-decoration:none; }
.ep-church-essential strong { display:block; font-size:15px; font-weight:700; line-height:1.6; }
.ep-church-essential small { font-size:11px; font-weight:500; }
.ep-church-essential:hover strong,.ep-church-feast-fact>a:hover { color:var(--church-wine); text-decoration:underline; text-underline-offset:5px; }
.ep-church-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding:88px 0; }
.ep-church-page .ep-church-lead { font-size:20px; line-height:1.75; }
.ep-church-prose p:last-child { margin:0; color:#655b50; }
.ep-church-feast { background:var(--church-wine); color:#f7efe2; padding:64px 0; scroll-margin-top:calc(var(--site-nav-height,90px) + 16px); }
.ep-church-feast-grid { display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; align-items:center; }
.ep-church-feast-date { display:flex; flex-direction:column; align-items:center; border-right:1px solid #b98b6259; padding:30px 48px 30px 0; }
.ep-church-feast-date>span:first-child { font:136px/1 MillerDisplay,Georgia,serif; color:#ead0a0; }
.ep-church-feast-date>span:nth-child(2) { font:36px/1.4 MillerDisplay,Georgia,serif; }
.ep-church-feast-date .ep-church-kicker { margin-top:20px; margin-bottom:0; }
.ep-church-feast .ep-church-kicker { color:#e7c994; }
.ep-church-feast h2 { color:#fff5e6; margin-bottom:22px; }
.ep-church-text-link { display:inline-flex; align-items:center; gap:14px; font-weight:650; font-size:14px; line-height:1.65; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.ep-church-text-link:hover { text-decoration-thickness:2px; }
.ep-church-feast .ep-church-text-link { color:#edd5ab; }
.ep-church-gallery { padding:88px 0; }
.ep-church-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:32px; }
.ep-church-section-heading>p { max-width:330px; margin:0; color:#75695a; font-size:14px; }
.ep-church-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ep-church-photo { display:block; position:relative; overflow:hidden; border-radius:5px; background:#e8e0d1; }
.ep-church-photo img { display:block; width:100%; height:280px; object-fit:cover; }
.ep-church-more-photos { margin-top:30px; border-bottom:1px solid var(--church-line); }
.ep-church-more-photos summary { cursor:pointer; padding:10px 0 24px; font-size:14px; font-weight:650; }
.ep-church-more-photos summary>span { float:right; font-weight:400; color:#766a5a; font-size:12px; }
.ep-church-more-photos[open] .ep-church-photo-grid { padding:0 0 24px; }
.ep-church-albums { background:var(--church-paper); padding:72px 0; }
.ep-church-page .gallery-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ep-church-page .gallery-card { border:1px solid var(--church-line); border-radius:12px; background:#fffdf9; box-shadow:0 7px 22px #30282008; }
.ep-church-page .gallery-card-media { height:210px; }
.ep-church-page .gallery-card h3 { font:27px/1.22 MillerDisplay,Georgia,serif; text-transform:none; }
.ep-church-page .gallery-card-body>p { font-size:14px; line-height:1.7; }
.ep-church-visit { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:80px; padding:80px 0; }
.ep-church-visit h2 { margin-bottom:18px; }
.ep-church-visit p:last-child { color:#655b50; margin-bottom:0; }
.ep-church-visit-actions { display:flex; flex-direction:column; align-items:center; gap:25px; }
.ep-church-button { display:inline-flex; justify-content:center; gap:25px; align-items:center; min-height:52px; padding:14px 24px; background:var(--church-wine); color:#fff!important; border:1px solid var(--church-wine); border-radius:5px; font-size:14px; font-weight:650; text-decoration:none; }
.ep-church-button:hover { background:#4f1820; }
.ep-church-lightbox { width:100%; max-width:100%; height:100%; max-height:100%; margin:0; padding:65px 24px 20px; border:0; background:#161411fa; color:white; overflow:auto; }
.ep-church-lightbox:not([open]) { display:none; }
.ep-church-lightbox[open] { display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ep-church-lightbox::backdrop { background:#161411; }
.ep-church-lightbox figure { margin:0; width:100%; min-height:0; display:flex; flex-direction:column; align-items:center; }
.ep-church-lightbox img { display:block; max-width:100%; max-height:calc(100dvh - 210px); width:auto; height:auto; object-fit:contain; }
.ep-church-lightbox img[hidden] { display:none; }
.ep-church-lightbox figcaption { max-width:900px; text-align:center; padding:14px 0 6px; font-size:14px; line-height:1.6; }
.ep-church-lightbox button { border:1px solid #ffffff55; background:transparent; color:#fff; border-radius:50%; width:48px; height:48px; cursor:pointer; font:24px/1 Arial,sans-serif; }
.ep-church-lightbox button:hover { border-color:#eed4a1; color:#eed4a1; }
.ep-church-lightbox .ep-church-lightbox-close { position:absolute; top:12px; right:20px; font-size:32px; }
.ep-church-lightbox-controls { display:flex; justify-content:center; align-items:center; gap:28px; margin-top:10px; }
.ep-church-lightbox-controls>span { min-width:66px; text-align:center; font-size:13px; }
.ep-church-page .ep-church-lightbox-status { margin:8px 0 0; font-size:13px; }
@media(min-width:1700px) { .ep-church-hero-image { height:680px; } }
@media(max-width:1000px) {
 .ep-church-wrap { width:calc(100% - 48px); }
 .ep-church-intro,.ep-church-feast-grid,.ep-church-visit { gap:40px; }
 .ep-church-essentials-grid { gap:20px; grid-template-columns:.7fr 1.15fr 1fr; }
 .ep-church-essentials-grid> *+* { padding-left:20px; }
 .ep-church-photo img { height:220px; }
 .ep-church-page .gallery-card-grid { gap:16px; }
 .ep-church-page .gallery-card-body { padding:20px; }
}
@media(max-width:700px) {
 .ep-church-wrap { width:calc(100% - 40px); }
 .ep-church-page { font-size:15px; }
 .ep-church-trail { padding:15px 0; }
 .ep-church-trail .ep-breadcrumbs { font-size:11px; }
 .ep-church-hero-image { height:auto; object-fit:contain; }
 .ep-church-hero:after { display:none; }
 .ep-church-hero-copy { position:static; padding:30px 0; background:var(--church-paper); color:var(--church-ink); }
 .ep-church-hero-copy h1 { color:var(--church-ink); font-size:clamp(30px,8.7vw,48px); text-shadow:none; line-height:1.1; }
 .ep-church-hero-copy .ep-church-kicker { color:#806132; font-size:10px; letter-spacing:.06em; }
 .ep-church-essentials-grid { grid-template-columns:1fr 1fr; padding:0 0 26px; gap:23px 16px; }
 .ep-church-feast-fact { grid-column:1/-1; display:flex; gap:20px; align-items:center; border-top:1px solid var(--church-line); padding-top:20px; }
 .ep-church-feast-fact>a { font-size:26px; }
 .ep-church-feast-fact .ep-church-kicker { margin:0; }
 .ep-church-essentials-grid> *+* { border:0; padding:0; }
 .ep-church-essential strong { font-size:13px; }
 .ep-church-essentials .ep-church-kicker { font-size:9px; }
 .ep-church-essential small { display:block; font-size:10px; }
 .ep-church-intro,.ep-church-feast-grid,.ep-church-visit { grid-template-columns:1fr; gap:25px; }
 .ep-church-intro,.ep-church-gallery,.ep-church-visit { padding:48px 0; }
 .ep-church-page .ep-church-lead { font-size:18px; }
 .ep-church-feast { padding:38px 0 44px; }
 .ep-church-feast-date { flex-direction:row; flex-wrap:wrap; gap:16px; padding:0 0 25px; border-right:0; border-bottom:1px solid #b98b6259; justify-content:flex-start; }
 .ep-church-feast-date>span:first-child { font-size:72px; }
 .ep-church-feast-date>span:nth-child(2) { font-size:32px; }
 .ep-church-feast-date .ep-church-kicker { margin:0 0 0 auto; max-width:90px; font-size:10px; }
 .ep-church-section-heading { display:block; margin-bottom:25px; }
 .ep-church-section-heading>p,.ep-church-section-heading>.ep-church-text-link { margin-top:18px; }
 .ep-church-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .ep-church-photo img { height:200px; }
 .ep-church-more-photos summary { font-size:13px; }
 .ep-church-more-photos summary>span { display:block; float:none; margin-top:5px; font-size:11px; }
 .ep-church-albums { padding:45px 0; }
 .ep-church-page .gallery-card-grid { grid-template-columns:1fr; gap:22px; }
 .ep-church-page .gallery-card-media { height:230px; }
 .ep-church-visit-actions { align-items:stretch; }
 .ep-church-visit-actions .ep-church-text-link { justify-content:center; }
 .ep-church-lightbox { padding:65px 16px 16px; }
 .ep-church-lightbox figcaption { font-size:12px; }
}
@media(max-width:400px) { .ep-church-photo img { height:170px; } .ep-church-feast-date .ep-church-kicker { max-width:70px; font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .ep-church-page *, .ep-church-page *:before, .ep-church-page *:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Owner review: plain links and photograph surfaces, without decorative arrows. */
.ep-church-page .gallery-card-link span { display:none; }
.ep-church-photo:hover { outline:2px solid #b48735; outline-offset:2px; }
.ep-church-more-photos summary { list-style:none; text-decoration:underline; text-underline-offset:5px; }
.ep-church-more-photos summary::marker,.ep-church-more-photos summary::-webkit-details-marker { display:none; content:''; }
.ep-church-lightbox-controls button { width:auto; min-width:82px; height:44px; padding:8px 14px; border-radius:5px; font:600 13px/1.4 'Plus Jakarta Sans',Arial,sans-serif; }
.ep-church-lightbox-controls { gap:20px; }
@media(max-width:400px) { .ep-church-lightbox-controls { gap:10px; } .ep-church-lightbox-controls button { min-width:75px; padding:8px 10px; font-size:12px; } .ep-church-lightbox-controls>span { min-width:50px; } }

/* The other chapels share the approved layout; the construction project has its own facts. */
.ep-church-hermogenes .ep-church-hero-image { object-position:50% 0; }
.ep-church-shepherd .ep-church-hero-image { object-position:50% 20%; }
.ep-church-gallery { scroll-margin-top:calc(var(--site-nav-height,90px) + 16px); }
.ep-church-project-heading { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.ep-church-project-specs { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; margin:44px 0 0; padding-top:36px; border-top:1px solid #b98b6259; }
.ep-church-project-specs dt { font-size:12px; font-weight:600; color:#e7c994; }
.ep-church-project-specs dd { margin:12px 0 0; font:64px/1.1 MillerDisplay,Georgia,serif; color:#fff5e6; }
.ep-church-project-specs small { display:block; margin-top:14px; font:13px/1.7 'Plus Jakarta Sans',Arial,sans-serif; color:#f7efe2; }
@media(max-width:1000px) { .ep-church-project-heading { gap:40px; } }
@media(max-width:700px) {
 .ep-church-project-heading { grid-template-columns:1fr; gap:4px; }
 .ep-church-project-specs { grid-template-columns:1fr 1fr; gap:28px 24px; margin-top:32px; padding-top:28px; }
 .ep-church-project-specs>div:first-child { grid-column:1/-1; }
 .ep-church-project-specs dd { font-size:54px; }
 .ep-church-shepherd .ep-church-feast-fact { flex-wrap:wrap; gap:8px 20px; }
 .ep-church-shepherd .ep-church-hero-copy h1 { font-size:clamp(29px,8vw,48px); }
}
