/* Parish journal: a quiet date margin and a paper-like reading surface. */
.entry-shell.sos-journal-shell{max-width:1080px;padding-top:50px;padding-bottom:76px}
.sos-news-journal{display:grid;grid-template-columns:76px minmax(0,1fr);gap:28px;align-items:start}
.sos-journal-date{display:flex;flex-direction:column;align-items:center;border-top:2px solid #b18a47;padding-top:16px;color:#987339;line-height:1.5;text-align:center}
.sos-journal-day{font:400 44px/1.1 var(--serif)}
.sos-journal-month{font-size:14px;margin-top:7px}
.sos-journal-year{font-size:13px;color:var(--muted)}
.sos-journal-paper{min-width:0;padding:36px 40px 40px;background:#fff;border-top:2px solid #b18a47;border-radius:5px;box-shadow:0 5px 28px #183b3704}
.sos-journal-kicker{color:#987339;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.entry-shell .sos-journal-heading h1{font:400 32px/1.25 var(--serif);letter-spacing:-.018em;max-width:720px;margin:14px 0 22px;text-wrap:pretty;overflow-wrap:break-word}
.sos-journal-heading{padding-bottom:23px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.sos-journal-event{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.sos-journal-heading h1:last-child{margin-bottom:0}
.sos-journal-heading h1:first-child{margin-top:0}
.sos-journal-paper .entry-content{font-size:18px;line-height:1.75}
.sos-journal-paper .entry-content>:last-child{margin-bottom:0}
.sos-journal-paper .entry-content h2{font-size:27px;line-height:1.3}
.sos-journal-paper .entry-content h3{font-size:23px;line-height:1.35}
.sos-journal-paper .entry-content blockquote{font:400 22px/1.55 var(--serif);color:var(--green);padding:8px 0 8px 24px;margin:30px 0}
.sos-journal-cover{display:flex;justify-content:center;margin:0 0 28px}
.sos-journal-cover .sos-gallery-trigger{width:fit-content;max-width:100%;border-radius:8px;overflow:hidden}
.sos-journal-cover .entry-cover{width:auto;max-width:100%;height:auto;max-height:400px;object-fit:contain;border-radius:8px;margin:0}
.sos-journal-paper .entry-content .wp-block-image:not(.wp-block-gallery .wp-block-image){margin:26px 0}
.sos-journal-paper .entry-content .wp-block-image img{border-radius:8px}
.sos-journal-paper .entry-content figcaption{font-size:13px;line-height:1.5;color:var(--muted)}
/* Core galleries stay normal editor blocks; a three-photo set gets the mosaic. */
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images{--wp--style--unstable-gallery-gap:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0 0;align-items:start}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images>figure.wp-block-image{margin:0!important;min-width:0;width:100%!important;height:auto;aspect-ratio:4/3;flex:none;border-radius:8px;overflow:hidden}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:not(:has(>figure.wp-block-image:nth-of-type(3))){grid-template-columns:repeat(2,minmax(0,1fr))}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:not(:has(>figure.wp-block-image:nth-of-type(2))){grid-template-columns:minmax(0,1fr);max-width:600px;margin-left:auto;margin-right:auto}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images>figure.wp-block-image>figcaption{background:linear-gradient(transparent,#102e27d9);color:#fff;padding:30px 12px 12px;font-size:12px;pointer-events:none}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4))){display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:180px 180px}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image{width:auto!important;height:100%;aspect-ratio:auto;flex:none}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image:first-of-type{grid-row:span 2}
.sos-journal-paper .entry-content .wp-block-gallery.has-nested-images>figure.wp-block-image img{width:100%;height:100%;object-fit:cover;flex:1}
.sos-journal-paper .entry-content .wp-block-gallery>.blocks-gallery-caption{grid-column:1/-1;width:100%;margin:0;padding:2px 0 0;text-align:left}
.sos-gallery-trigger{display:block;max-width:100%;padding:0;border:0;border-radius:8px;background:transparent;cursor:zoom-in;line-height:0;text-decoration:none!important}
button.sos-gallery-trigger{width:100%;text-align:inherit}
.wp-block-gallery .sos-gallery-trigger{width:100%;height:100%;flex:1;min-height:0;overflow:hidden}
.sos-gallery-trigger:focus-visible{outline:3px solid #b18a47;outline-offset:4px}
.sos-post-photos>.sos-gallery-trigger{width:auto;margin:24px auto 28px}
.sos-post-photos>.sos-gallery-trigger .entry-cover{width:auto;max-width:min(100%,680px);max-height:420px;object-fit:contain;margin:0}
/* The viewer has its own controls and never changes page or header opacity. */
body.sos-gallery-open{overflow:hidden}
dialog.sos-gallery-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:20px 76px 24px;border:0;border-radius:0;background:#102723f5;color:#fff;overflow:auto;overscroll-behavior:contain}
dialog.sos-gallery-dialog[open]{display:flex;flex-direction:column}
dialog.sos-gallery-dialog::backdrop{background:#102723;-webkit-backdrop-filter:none;backdrop-filter:none}
.sos-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 48px;width:100%;margin-bottom:12px}
.sos-gallery-count{font-size:14px;color:#f0e7d6}
.sos-gallery-close,.sos-gallery-nav{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid #ffffff40;border-radius:50%;background:#163b34;color:#fff;font:400 28px/1 var(--sans);cursor:pointer}
.sos-gallery-close:hover,.sos-gallery-nav:hover{background:#31574e}
.sos-gallery-close:focus-visible,.sos-gallery-nav:focus-visible{outline:2px solid #e4bd75;outline-offset:4px}
.sos-gallery-close{margin-left:auto}
.sos-gallery-figure{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;min-height:0;margin:0;touch-action:pan-y pinch-zoom}
.sos-gallery-image{width:auto;max-width:min(100%,1000px);height:auto;max-height:min(700px,calc(100vh - 150px));max-height:min(700px,calc(100dvh - 150px));object-fit:contain;min-height:0;border-radius:8px;touch-action:pan-y pinch-zoom}
.sos-gallery-caption{max-width:900px;margin:14px 0 0;color:#f0f1eb;text-align:center;font-size:14px;line-height:1.5}
.sos-gallery-nav{position:absolute;top:50%;transform:translateY(-50%)}
.sos-gallery-prev{left:14px}.sos-gallery-next{right:14px}
.sos-gallery-dialog [hidden]{display:none!important}
@media(max-width:780px){
 .entry-shell.sos-journal-shell{padding-top:32px;max-width:680px}
 .sos-news-journal{grid-template-columns:1fr;gap:16px}
 .sos-journal-date{flex-direction:row;gap:7px;justify-content:flex-start;text-align:left;border-top:0;padding:0}
 .sos-journal-day{font-size:23px}.sos-journal-month{margin-top:0}.sos-journal-year{font-size:14px}
 .sos-journal-paper{padding:26px 24px 28px}
 .entry-shell .sos-journal-heading h1{font-size:29px}
 .sos-journal-paper .entry-content{font-size:17px;line-height:1.75}
 .sos-journal-paper .entry-content .wp-block-gallery.has-nested-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4))){grid-template-rows:145px 145px;gap:8px}
}
@media(max-width:480px){
 .entry-shell.sos-journal-shell{width:calc(100% - 28px);padding-bottom:44px}
 .sos-journal-date{padding-left:4px}
 .sos-journal-paper{padding:24px 20px 26px}
 .entry-shell .sos-journal-heading h1{font-size:28px;line-height:1.25}
 .sos-journal-kicker{font-size:10px;letter-spacing:.09em}
 .sos-journal-heading{padding-bottom:19px;margin-bottom:22px}
 .sos-journal-paper .entry-content .wp-block-gallery.has-nested-images:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4))){grid-template-rows:130px 130px}
 .sos-journal-paper .entry-content .wp-block-gallery.has-nested-images>figure.wp-block-image>figcaption{font-size:11px;padding:22px 8px 8px}
 dialog.sos-gallery-dialog{padding:12px 12px 80px}
 .sos-gallery-toolbar{margin-bottom:10px}
 .sos-gallery-image{max-height:calc(100vh - 210px);max-height:calc(100dvh - 210px)}
 .sos-gallery-caption{font-size:13px;max-height:66px;overflow:auto}
 .sos-gallery-nav{top:auto;bottom:16px;transform:none}
 .sos-gallery-prev{left:calc(50% - 60px)}.sos-gallery-next{right:calc(50% - 60px)}
}
