/* Bounded VNLS presentation corrections. Existing Kirygma tokens and components. */
.vnls-parish .archive-page,.vnls-sermon .sermon-page{width:calc(100% - 64px);margin-inline:auto;max-width:1280px}
.vnls-parish .p2-history{max-width:1080px}
.vnls-parish .archive-page{padding-top:40px}
.vnls-parish .site-footer,body:has(main.p2-page) .site-footer{padding-inline:32px;padding-bottom:104px}
.vnls-parish .page-heading h1,.vnls-parish .p2-page h1{font:400 48px/1.12 var(--k-font-reading);letter-spacing:-.02em;margin:8px 0 20px}
.vnls-parish .page-heading,.vnls-parish .p2-history-heading{margin-bottom:24px}
.vnls-parish .page-heading .intro,.vnls-parish .p2-lead{font:400 21px/1.5 var(--k-font-reading)}
.vnls-parish .page-heading{padding-bottom:20px}
.vnls-parish .p2-home h2,.vnls-parish .parish-section>h2{font-size:30px;font-weight:400}
.vnls-parish .school-directions h2{font-family:var(--k-font-reading);font-weight:400}
.vnls-parish .school-directions svg,.vnls-parish .media-entry>svg{box-sizing:content-box;width:22px;height:22px;padding:10px;border-radius:50%;background:var(--k-color-activeBackground);color:var(--k-color-accent)}
.vnls-parish .school-directions{gap:32px}
.vnls-parish .school-entry{max-width:960px}
.vnls-parish .school-entry .eyebrow{margin:0 0 8px}
.vnls-parish .school-entry h3{margin:0 0 14px}
.vnls-parish .school-entry p{margin:0 0 12px}
.vnls-sermon-list .media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.vnls-sermon-list .media-entry{grid-template-columns:42px minmax(0,1fr);gap:20px;align-items:start;padding-block:28px;max-width:none}
.vnls-sermon-list .media-entry h2{font:400 28px/1.25 var(--k-font-reading);margin:8px 0 14px}
.vnls-sermon-list .media-entry h2 a{text-decoration:none}
.vnls-sermon-list .media-entry h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.vnls-sermon-list .media-entry p{margin:0 0 12px}
.vnls-sermon-list .sermon-list-play{font-size:16px;font-weight:600}
.vnls-sermon-list .media-entry summary{font-size:14px;color:var(--k-color-mutedText)}
.vnls-sermon-list .sermon-list-meta{font-size:14px;gap:6px 12px}
.vnls-parish .school-photo{max-width:880px;margin:28px 0}
.school-opening{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;align-items:center;padding-bottom:12px}
.school-opening>.page-heading{grid-column:1;grid-row:1;align-self:end;border:0;margin:0;padding:0}
.school-opening>.archive-notice{grid-column:1;grid-row:2;align-self:start;margin:0}
.vnls-parish .school-opening>.school-photo{grid-column:2;grid-row:1/3;margin:0;max-width:none}
.vnls-parish .school-photo img,.vnls-parish .p2-home .p2-temple img,.vnls-parish .p2-page figure img{width:100%;height:auto;max-height:none;object-fit:contain}
.vnls-parish .p2-community figure{width:100%}
.vnls-photo-link{position:relative;display:block;line-height:0;border-radius:var(--k-radius-control);overflow:hidden;cursor:zoom-in}
.vnls-photo-link:after{content:'↗';position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--k-color-surface);color:var(--k-color-accent);font:20px/1 var(--k-font-ui);box-shadow:var(--k-shadow-media);pointer-events:none}
.vnls-photo-link:focus-visible{outline:3px solid var(--k-color-accent);outline-offset:4px}
.vnls-photo-viewer{padding:16px;border:0;border-radius:var(--k-radius-control);background:var(--k-color-surface);color:var(--k-color-text);max-width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);width:fit-content;overflow:auto}
.vnls-photo-viewer::backdrop{background:rgba(24,32,40,.8)}
.vnls-photo-viewer header{display:flex;justify-content:flex-end;padding-bottom:12px}
.vnls-photo-viewer button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid var(--k-color-controlBorder);border-radius:var(--k-radius-control);background:var(--k-color-surface);color:var(--k-color-accent);font:16px/1.4 var(--k-font-ui)}
.vnls-photo-viewer figure{margin:0}.vnls-photo-viewer img{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 180px);height:auto;object-fit:contain;margin:auto}
.vnls-photo-viewer figcaption{font:14px/1.5 var(--k-font-ui);margin-top:12px;max-width:80ch}
/* The launcher belongs to the host; Drawer markup, calendar and scroller stay intact. */
.vnls-parish .schedule-fab{top:auto;right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:none;z-index:44}
.vnls-parish[data-r1-dock="ultra"].has-mini-player .schedule-fab{bottom:calc(56px + env(safe-area-inset-bottom,0px))}
.vnls-parish[data-r1-dock="compact"].has-mini-player .schedule-fab{bottom:var(--r1-compact-reserve,104px)}
/* Phone review: controls stay together; the title uses the full second row.
 * Close-and-stop remains in Expanded; collapse never pauses playback. */
body[data-r1-dock="compact"] .mini-player{grid-template-columns:48px 44px minmax(0,1fr) 124px 44px 44px;grid-template-rows:48px 20px;min-height:calc(80px + var(--sermon-safe-bottom));column-gap:8px;row-gap:0}
.mini-player #mini-close-button{display:none}
.mini-player #mini-play-button{grid-column:1;grid-row:1}
.mini-player #mini-backward-button{grid-column:2;grid-row:1}
.mini-player .mini-player__summary{grid-column:3;grid-row:1}
.mini-player .mini-player__expand{grid-column:4;grid-row:1}
.mini-player .r1-mini-collapse{grid-column:6;grid-row:1}
/* Timecode starts the first prose line; a 44px transparent hit target is retained. */
.sermon-content .transcript-segment,.reader-content .transcript-segment{display:flow-root;min-height:44px;margin:0 -8px 8px;padding:6px 8px;border-radius:6px}
.sermon-content .transcript-segment__rail,.reader-content .transcript-segment__rail{float:left;display:block;min-height:0;height:1.61em;margin:0 8px 0 0;line-height:1.61;font-size:inherit}
.sermon-content .transcript-timecode,.reader-content .transcript-timecode{position:relative;display:inline-block;min-width:44px;min-height:0;height:100%;padding:0;vertical-align:baseline;font:650 13px/1 var(--sermon-ui);text-align:left}
.transcript-timecode:after{content:'';position:absolute;inset:calc((100% - 44px)/2) -2px;min-height:44px}
.sermon-content .transcript-segment__body,.reader-content .transcript-segment__body{display:block}
.sermon-content .transcript-segment__body p,.reader-content .transcript-segment__body p{margin:0;line-height:1.61}
.sermon-content .transcript-now,.reader-content .transcript-now{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1099px){.vnls-parish .archive-page,.vnls-sermon .sermon-page{width:calc(100% - 48px)}.vnls-sermon-list .media-list{gap:0 28px}.vnls-parish .page-heading h1,.vnls-parish .p2-page h1{font-size:40px}}
@media(max-width:767px){
 .vnls-parish .archive-page,.vnls-sermon .sermon-page{width:calc(100% - 32px);margin-inline:auto;padding-left:0;padding-right:0;padding-top:26px}
 .vnls-parish .site-footer,body:has(main.p2-page) .site-footer{padding-inline:16px}
 .vnls-parish .page-heading h1,.vnls-parish .p2-page h1{font-size:34px;margin-bottom:16px}
 .vnls-parish .page-heading .intro,.vnls-parish .p2-lead{font-size:19px;line-height:1.5}
 .vnls-parish .p2-history-heading h1{font-size:34px}
 .vnls-parish .p2-home-hero{gap:20px}
 .vnls-parish .p2-community{gap:20px}
 .vnls-parish .p2-community figure{max-width:none}
 .vnls-parish .school-photo{width:100%;max-width:none;margin:24px 0}
 .school-opening{grid-template-columns:1fr;gap:20px;padding-bottom:0}
 .school-opening>.page-heading,.school-opening>.archive-notice,.vnls-parish .school-opening>.school-photo{grid-column:1;grid-row:auto;margin:0}
 .vnls-parish .school-directions{gap:16px;margin:28px 0}
 .vnls-parish .school-directions>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:center;padding-top:16px}
 .vnls-parish .school-directions h2{font-size:23px;margin:0}
 .vnls-parish .archive-notice{padding:14px 16px}
 .vnls-sermon-list .media-list{grid-template-columns:1fr}
 .vnls-sermon-list .media-entry{gap:14px;padding-block:24px}
 .vnls-sermon-list .media-entry h2{font-size:26px}
 .vnls-parish .schedule-fab{right:12px}
 body[data-r1-dock="compact"] .mini-player{grid-template-columns:48px 44px minmax(0,1fr) 44px 44px 44px;column-gap:4px}
 .mini-player .mini-player__expand{grid-column:4;grid-row:1}
 .mini-player .mini-player__summary{grid-column:3;grid-row:1}
 .mini-player .r1-mini-collapse{grid-column:6;grid-row:1}
 .mini-player #mini-play-button,.mini-player #mini-backward-button{grid-row:1}
 .mini-player .mini-player__expand-label{display:none}
 .vnls-photo-viewer{padding:12px}
}
@media(max-width:359px){.vnls-parish .page-heading h1,.vnls-parish .p2-page h1{font-size:32px}}
/* Surface-only R1 finish: retain every accepted size, position and interaction. */
.vnls-sermon :is(.sermon-expand-button,.mini-player__expand,.r1-mini-collapse){border-color:var(--k-color-border);border-radius:var(--k-radius-control);box-shadow:none}
.vnls-sermon .mini-player__expand{background:var(--k-color-surface);color:var(--k-color-accent)}
.vnls-sermon .mini-player__expand svg{fill:var(--k-color-accent)}
.vnls-sermon .sermon-skip-button{color:var(--k-color-accent)}
