/* ============================================================
   PARISHES & CHAPELS PAGE (parishes.html)
   Banner, sub-menu and section headers: calendar.css + liturgy.css
   Search box and "Example" tag: eparchy.css
   ============================================================ */
.pa-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:20px}
.pa-tools .ep-search{flex:1;margin-bottom:0}
.pa-count{font-size:.85rem;font-weight:600;color:var(--muted)}

.pc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.pc{display:flex;flex-direction:column;gap:10px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:var(--radius);box-shadow:var(--frame);transition:box-shadow .2s,transform .2s}
.pc:hover{box-shadow:var(--frame);transform:none}
.lit-section.alt .pc{background:var(--bg)}
.pc.chapel{border-top-color:var(--gold)}
.pc.community{border-top-color:var(--malachite)}
.pc.sanctuary{border-top-color:var(--navy)}
.pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pc-head .sample-tag{margin-top:2px;flex:none}
.pc h3{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--ink);line-height:1.25}
html[lang="ti"] .pc h3{font-family:var(--ethiopic-serif)}
.pc-sub{font-size:.85rem;color:var(--muted);margin-top:2px}
.pc-facts{display:grid;gap:6px}
.pc-facts div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:.88rem}
.pc-facts dt{color:var(--muted);font-weight:600}
.pc-facts dd{color:var(--ink)}
html[lang="ti"] .pc-facts div{grid-template-columns:120px 1fr}
.pc-soon{font-size:.88rem;color:var(--muted);font-style:italic}
.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.pc-place{font-size:.85rem;color:var(--muted)}
.map-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;border-radius:var(--radius-1);border:1px solid var(--navy);color:var(--navy);font-size:.82rem;font-weight:600;transition:background-color .2s,color .2s}
.map-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.map-btn:hover{background:var(--pigment-lapis);color:var(--on-pigment);text-decoration:none}
@media (max-width:420px){ .pc-facts div{grid-template-columns:1fr;gap:0} }

/* Deanery filter */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.pa-deans{margin:-6px 0 22px}
.chip-filter{min-height:36px;padding:0 16px;border-radius:var(--radius-1);border:1px solid var(--line);background:var(--leaf);color:var(--navy);font-weight:600;font-size:.85rem;cursor:pointer}
.chip-filter:hover{border-color:var(--navy)}
.chip-filter[aria-pressed="true"]{background:var(--pigment-red);border-color:var(--red);color:var(--on-pigment)}
html[lang="ti"] .chip-filter{font-family:var(--ethiopic)}

/* ---------- Parishes: cards that open, the Mass-times line, the map ---------- */
.pc-open{display:flex;flex-direction:column;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:0 0 16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.pc-open:hover{transform:none;box-shadow:none}
.pc-open:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pc-open > :not(.pc-photo){margin-inline:18px}
.pc-photo{display:block;width:100%;min-height:150px;aspect-ratio:16/9;margin-bottom:12px;background:center/cover no-repeat var(--gold-wash)}
.pc-photo.is-empty{background:no-repeat center/34px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237a5320' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3v5M13.5 5.5h5M9 29V15l7-5 7 5v14zM14 29v-5h4v5'/%3E%3C/svg%3E"),linear-gradient(165deg,var(--leaf),var(--gold-wash))}
.pc-more{margin-top:auto;padding-top:10px;color:var(--navy);font-weight:700;font-size:.9rem}
.pa-dlg .bio-body h2{margin-bottom:10px}
.pa-dlg-facts{margin:10px 0 16px}
.pm-frame{margin-top:18px;border-radius:var(--radius-0);overflow:hidden;border:1px solid var(--gold-soft);aspect-ratio:16/9;background:var(--leaf)}
.pm-frame iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:640px){ .pm-frame{aspect-ratio:4/5} }
@media (prefers-reduced-motion:reduce){ .pc-open{transition:none} .pc-open:hover{transform:none} }

/* the times of prayer, the same in every parish */
.pa-mass{margin:14px 0 22px;padding:16px 20px 18px;background:var(--leaf);border:1px solid var(--gold-soft);border-top:4px solid var(--pigment-red);border-radius:0 var(--radius-0) var(--radius-0) 0}
.pa-times-t{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--ink);margin-bottom:10px}
html[lang="ti"] .pa-times-t{font-family:var(--ethiopic);font-weight:400}
.pa-times{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px 24px}
.pa-times div{display:flex;flex-direction:column;padding-left:12px;border-left:2px solid var(--gold-soft)}
.pa-times dt{font-weight:700;color:var(--red);font-size:.95rem}
.pa-times dd{margin:0;color:var(--ink)}
html[lang="ti"] .pa-times{font-family:var(--ethiopic)}

/* chapels grouped by parish */
.ch-group{margin-top:22px}
.ch-group-t{font-family:var(--serif);font-size:1.15rem;color:var(--ink);padding-bottom:6px;margin-bottom:12px;border-bottom:2px solid var(--gold-soft)}
html[lang="ti"] .ch-group-t{font-family:var(--ethiopic);font-weight:400}
.dean-chips{margin:4px 0 6px}

/* ---------- Sanctuaries: next pilgrimage, the year's pilgrimage days, gallery ---------- */
.sn-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:22px;margin:22px 0 30px;padding:20px;background:var(--parch);border:1px solid var(--gold-soft);border-radius:var(--radius-0)}
.sn-lead{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;font:inherit;color:var(--on-nave);cursor:pointer;padding:22px 24px;border:0;border-radius:var(--radius-0);background:var(--nave)}
.sn-lead:hover{box-shadow:var(--shadow-lg)}
.sn-lead:focus-visible,.sn-item:focus-visible,.sn-gal button:focus-visible,.sn-thumbs button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sn-k{color:var(--on-nave-gold);font-weight:700;font-size:.95rem}
.sn-name{font-family:var(--serif);font-size:1.6rem;line-height:1.2;margin-top:2px}
.sn-feast{opacity:.9}
.sn-date{margin-top:auto;padding-top:14px;font-weight:700}
.sn-in{display:inline-block;margin-top:6px;padding:3px 12px;border-radius:var(--radius-1);background:var(--pigment-red);font-weight:700;font-size:.92rem}
.sn-lead .sample-tag{align-self:flex-start;margin-top:8px;color:var(--on-nave-gold);border-color:var(--on-nave-gold)}
.sn-year-t{font-family:var(--serif);font-weight:700;font-size:1.1rem;color:var(--ink);margin-bottom:10px}
.sn-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:300px;overflow:auto}
.sn-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:8px 12px;background:var(--leaf);border:1px solid var(--line);border-radius:var(--radius-0)}
.sn-item:hover{border-color:var(--gold)}
.sn-day{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:56px;border-radius:var(--radius-1);background:var(--pigment-red);color:var(--on-pigment);line-height:1.1}
.sn-day b{font-size:1.3rem}
.sn-day small{font-size:.74rem}
.sn-it{display:flex;flex-direction:column;min-width:0}
.sn-it-n{font-weight:700;color:var(--ink)}
.sn-it-f{color:var(--muted);font-size:.9rem}
html[lang="ti"] .sn-next,html[lang="ti"] .sn-name,html[lang="ti"] .sn-year-t{font-family:var(--ethiopic);font-weight:400}
.pc-photo{position:relative}
.sn-count{position:absolute;right:10px;bottom:10px;padding:2px 10px;border-radius:var(--radius-1);background:color-mix(in srgb,var(--nave) 82%,transparent);color:var(--on-nave);font-size:.82rem;font-weight:700}
.sn-gal{position:relative;margin:0 0 10px;border-radius:var(--radius-0);overflow:hidden;background:var(--nave)}
.sn-main{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.sn-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:color-mix(in srgb,var(--leaf-raised) 90%,transparent);display:grid;place-items:center}
.sn-arrow svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sn-arrow.prev{left:10px} .sn-arrow.next{right:10px}
.sn-n{position:absolute;left:10px;bottom:10px;padding:2px 10px;border-radius:var(--radius-1);background:rgba(0,0,0,.6);color:var(--on-nave);font-size:.85rem}
.sn-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px}
.sn-thumbs button{flex:none;width:72px;height:52px;border-radius:var(--radius-1);border:2px solid transparent;background:center/cover no-repeat var(--leaf);cursor:pointer;opacity:.7}
.sn-thumbs button[aria-current="true"]{border-color:var(--red);opacity:1}
.sn-dlg .pc-sub{margin:-4px 0 8px}
@media (max-width:820px){ .sn-next{grid-template-columns:1fr} }

/* ---------- Seminary: houses, numbers, prayer, support ---------- */
.sm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.sm-nums{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sm-nums li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:22px 12px;background:var(--leaf);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--radius-0)}
.sm-nums li:nth-child(2){border-top-color:var(--navy)} .sm-nums li:nth-child(3){border-top-color:var(--red)}
.sm-n{font-family:var(--serif);font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem);line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.sm-nums span{color:var(--muted);font-weight:700}
html[lang="ti"] .sm-nums span{font-family:var(--ethiopic);font-weight:400}
.sm-pray-wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.sm-prayer{padding:clamp(22px,3vw,34px);background:var(--parch);border:1px solid var(--gold-soft);border-radius:var(--radius-0);box-shadow:inset 0 0 0 6px var(--leaf),inset 0 0 0 7px var(--gold-soft)}
.sm-prayer .section-title{color:var(--ink)}
.sm-prayer-text p{font-family:var(--serif);font-size:1.12rem;line-height:1.75;color:var(--ink);margin:0 0 6px}
html[lang="ti"] .sm-prayer-text p{font-family:var(--ethiopic)}
.sm-prayer-text p:last-child{font-style:italic;color:var(--rubric);margin-top:10px}
.sm-news h3{font-family:var(--serif);font-size:1.2rem;color:var(--ink);padding-bottom:6px;margin-bottom:10px;border-bottom:2px solid var(--gold-soft)}
html[lang="ti"] .sm-news h3{font-family:var(--ethiopic);font-weight:400}
.sm-news ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sm-news li{display:flex;flex-direction:column;gap:2px}
.sm-news time{color:var(--muted);font-size:.85rem}
.sm-news a{font-weight:700;color:var(--navy)}
.sm-dir{margin-top:10px;font-size:1rem}
.sm-dir a{color:var(--on-nave);text-decoration:underline}
.sm-dir-k{opacity:.85}
.sm-support{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:18px;padding:16px 22px;background:var(--leaf);border:1px solid var(--line);border-top:4px solid var(--pigment-red);border-radius:var(--radius-0)}
.sm-support p{margin:0;color:var(--ink)}
@media (max-width:900px){ .sm-nums{grid-template-columns:repeat(2,minmax(0,1fr))} .sm-pray-wrap{grid-template-columns:1fr} }
.sm-pray-wrap:has(> .sm-news[hidden]){grid-template-columns:minmax(0,760px);justify-content:center}

/* ---------- Religious orders ---------- */
.rl-grid{margin-top:8px}
.rl-empty{background:no-repeat center/40px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%237a5320' stroke-width='1.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='10' r='4'/%3E%3Ccircle cx='21' cy='10' r='4'/%3E%3Cpath d='M3 26c0-5 3.6-8 8-8s8 3 8 8M13 26c0-5 3.6-8 8-8s8 3 8 8'/%3E%3C/svg%3E"),linear-gradient(165deg,var(--leaf),var(--gold-wash)) !important}
.rl-type{position:absolute;left:10px;top:10px;padding:2px 10px;border-radius:var(--radius-1);background:var(--leaf);color:var(--navy);font-size:.8rem;font-weight:700}
.rl-type.type-women{color:var(--brass)}
.rl-houses{margin:0 0 14px;padding-left:18px;display:grid;gap:4px}
.rl-where{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px 24px}
.rl-where li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.rl-town{color:var(--ink-muted);font-family:var(--serif)}
.rl-link{font:inherit;color:var(--navy);font-weight:700;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:3px}
html[lang="ti"] .rl-where{font-family:var(--ethiopic)}

/* "Short history" in every pop-up */
.pp-hist{margin:16px 0 14px;padding:14px 18px;background:var(--parch);border-top:4px solid var(--gold-leaf);border-radius:0 var(--radius-0) var(--radius-0) 0}
.pp-hist h3{font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin:0 0 6px}
html[lang="ti"] .pp-hist h3{font-family:var(--ethiopic);font-weight:400}
.pp-hist p{margin:0 0 8px;line-height:1.7}
.pp-hist p:last-child{margin-bottom:0}

/* ---------- Catechists ---------- */
.ct-intro{margin-bottom:26px}
.ct-cards{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-card{padding:20px 18px;background:var(--leaf);border:1px solid var(--line);border-radius:var(--radius-0)}
.ct-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--parch);margin-bottom:12px}
.ct-ic svg{width:26px;height:26px;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ct-card h3{font-family:var(--serif);font-size:1.12rem;color:var(--ink);margin-bottom:6px}
.ct-card p{color:var(--muted);line-height:1.6}
html[lang="ti"] .ct-card h3{font-family:var(--ethiopic);font-weight:400}
.ct-nums{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-deans{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px}
.ct-deans li{display:flex;flex-direction:column;padding:8px 0 8px 12px;border-left:3px solid var(--gold-soft)}
.ct-deans b{color:var(--ink);font-family:var(--serif)}
.ct-deans span{color:var(--muted);font-size:.92rem}
.ct-steps{grid-template-columns:repeat(3,1fr)}
.ct-steps::before{left:16.6%;right:16.6%}
.ct-steps::after{left:16.6%;width:calc(66.8% * var(--progress))}
.ct-day{margin-top:10px;font-weight:700;color:var(--brass)}
.ct-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin-top:18px}
.ct-ph{aspect-ratio:4/3;border:0;border-radius:var(--radius-0);background:center/cover no-repeat var(--leaf);cursor:pointer}
.ct-ph:hover{filter:brightness(1.06)}
.ct-ph:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ct-cap{color:var(--muted);text-align:center;margin-top:6px}
.ct-thank{text-align:center;max-width:720px;margin:0 auto 22px}
.ct-thank h2{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--ink);margin-bottom:8px}
html[lang="ti"] .ct-thank h2{font-family:var(--ethiopic-serif)}
.ct-thank p{margin-bottom:12px;line-height:1.7}
.ct-find{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
@media (max-width:900px){ .ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))} .ct-nums,.ct-deans{grid-template-columns:1fr} }
@media (max-width:520px){ .ct-cards{grid-template-columns:1fr} }

/* ---------- Parish councils: the statute ---------- */
.pcn-doc{display:flex;gap:18px;align-items:flex-start;padding:24px;background:var(--leaf);border:1px solid var(--line);border-top:4px solid var(--gold-leaf);border-radius:var(--radius-0)}
.pcn-doc .ct-ic{flex:none;margin:0}
.pcn-doc h2{font-family:var(--serif);font-size:1.4rem;color:var(--ink);margin-bottom:6px}
html[lang="ti"] .pcn-doc h2{font-family:var(--ethiopic-serif)}
.pcn-doc p{line-height:1.7}
.pcn-doc-btn{margin-top:12px}

/* ---------- Blessed Memory: the book of remembrance ---------- */
.bm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 20px;margin-top:20px}
.bm-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font:inherit;color:inherit;background:none;border:0;padding:8px;cursor:pointer;border-radius:var(--radius-0)}
.bm-card .bi-arch{max-width:150px;margin-bottom:8px}
.bm-card:hover .bi-arch.sepia,.bm-card:focus-visible .bi-arch.sepia{filter:none}
.bm-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.bm-card strong{font-family:var(--serif);color:var(--navy);font-size:1.05rem;line-height:1.3}
html[lang="ti"] .bm-card strong{font-family:var(--ethiopic);font-weight:400}
.bm-card .bi-order{font-size:.8rem;color:var(--gold);font-weight:700}
.bm-card .bi-yrs{color:var(--muted);font-size:.88rem}
.bm-tools{margin-bottom:12px}
#bm-dlg .bi-sheet-head{display:flex;gap:18px;align-items:center;margin-bottom:12px}
#bm-dlg .bi-sheet-head .bi-arch{width:110px;flex:none}
.bm-pc{display:grid;grid-template-columns:220px minmax(0,720px);justify-content:center;gap:clamp(20px,4vw,52px);align-items:center}
@media (max-width:760px){ .bm-pc{grid-template-columns:1fr} }

/* ---------- Divine Liturgy ---------- */
.dl-steps{grid-template-columns:repeat(6,1fr)}
.dl-steps::before{left:8.3%;right:8.3%}
.dl-steps::after{left:8.3%;width:calc(83.4% * var(--progress))}
.dl-gz{font-family:var(--ethiopic);color:var(--red);font-size:1.25rem;margin:0 0 2px}
.dl-panel .more{display:inline-block;margin-top:10px;font-weight:700}
.dl-panel .sample-tag{margin-left:8px}
.dl-follow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 26px;margin-top:22px;padding:22px 26px;border-radius:var(--radius-0);color:var(--on-nave);background:var(--nave)}
.dl-follow h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:4px}
html[lang="ti"] .dl-follow h3{font-family:var(--ethiopic-serif)}
.dl-follow p{max-width:60ch;opacity:.92;line-height:1.6}
.dl-ana{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:10px}
.dl-ana-b{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:12px 14px;background:var(--leaf);border:1px solid var(--line);border-radius:var(--radius-0)}
.dl-ana-b:hover{border-color:var(--gold)}
.dl-ana-b:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.dl-ana-n{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--parch);color:var(--red);font-weight:700;font-family:var(--serif)}
.dl-ana-t{display:flex;flex-direction:column;min-width:0}
.dl-ana-t b{font-family:var(--ethiopic);font-weight:400;font-size:1.08rem;color:var(--ink)}
.dl-ana-t small{color:var(--muted);font-size:.85rem}
.dl-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;align-items:start}
.dl-sunday{padding:20px 22px;background:var(--parch);border:1px solid var(--gold-soft);border-radius:var(--radius-0)}
.dl-sun-date{color:var(--red);font-weight:700}
.dl-sun-name{font-family:var(--serif);font-size:1.3rem;margin:4px 0 8px}
.dl-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;margin-top:18px}
.dl-video{margin:0}
.dl-video iframe,.dl-vbtn{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius-0)}
.dl-vbtn{background:center/cover no-repeat var(--nave);cursor:pointer;position:relative}
.dl-vbtn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.dl-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:color-mix(in srgb,var(--pigment-red) 92%,transparent);display:grid;place-items:center;box-shadow:none}
.dl-play svg{width:30px;height:30px;fill:var(--on-pigment);margin-left:4px}
.dl-video figcaption{margin-top:6px;color:var(--muted)}
.dl-gloss{margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:10px 26px}
.dl-gloss div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.dl-gloss dt{font-family:var(--ethiopic);font-size:1.15rem;color:var(--red)}
.dl-gloss dd{margin:0;line-height:1.55}
@media (max-width:700px){ .dl-steps button > span:not(.st-n){font-size:.66rem} }

/* ---------- Divine Office: the clock; prayer books; reader badges ---------- */
.do-clock-wrap{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;margin-top:16px}
.do-clock{margin:0}
.do-clock svg{display:block;width:100%;height:auto;overflow:visible}
.do-face{fill:var(--lapis);stroke:var(--gold);stroke-width:2}
.do-day{fill:var(--gold-wash)}
.do-tick{stroke:var(--gold);stroke-width:2}
.do-hand{stroke:var(--red);stroke-width:3;stroke-linecap:round}
.do-pin{fill:var(--red)}
.do-h{cursor:pointer;outline:none}
.do-h circle{fill:var(--on-pigment);stroke:var(--navy);stroke-width:2;transition:transform .2s}
.do-h.is-off circle{stroke:var(--red);stroke-width:3}
.do-h text{font:700 11px var(--serif);fill:var(--navy);pointer-events:none}
.do-h .do-lab{font:400 13px var(--ethiopic);fill:var(--ink)}
.do-h.is-sel circle{fill:var(--red);stroke:var(--red)}
.do-h.is-sel text:not(.do-lab){fill:var(--on-pigment)}
.do-h.is-now circle{filter:drop-shadow(0 0 6px rgba(240,181,69,.95))}
.do-h:focus-visible circle{stroke:var(--gold);stroke-width:4}
.do-panel{padding:22px 24px;background:var(--leaf);border:1px solid var(--line);border-top:4px solid var(--pigment-red);border-radius:var(--radius-0)}
.do-panel h3{font-family:var(--serif);font-size:1.3rem;margin:0 0 6px}
.do-panel p{line-height:1.7;margin-bottom:10px}
.do-panel .btn{margin-top:6px}
.do-panel .sample-tag{margin-right:10px}
.do-now{display:inline-block;padding:2px 10px;border-radius:var(--radius-1);background:var(--gold);color:var(--on-pigment);font-weight:700;font-size:.85rem}
.do-key{margin:14px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.qd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 8px}
.qd-time{font-weight:700;color:var(--navy)}
.qd-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-1);border:1px solid var(--line);background:var(--leaf);color:var(--muted);font-size:.82rem;font-weight:700}
.qd-badge.is-off{border-color:var(--red);color:var(--ink-muted);background:var(--leaf)}
.do-chant{margin-top:16px;color:var(--muted)}
.pb-shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:18px}
.pb-book{position:relative;display:flex;flex-direction:column;gap:6px;min-height:200px;padding:22px 20px 18px 34px;border-radius:var(--radius-1) var(--radius-0) var(--radius-0) var(--radius-1);background:var(--pigment-red);color:var(--on-pigment);text-decoration:none;box-shadow:none}
.pb-shelf li:nth-child(3n+2) .pb-book{background:var(--pigment-lapis)}
.pb-shelf li:nth-child(3n) .pb-book{background:var(--pigment-ochre)}
.pb-spine{position:absolute;left:10px;top:10px;bottom:10px;width:6px;border-radius:var(--radius-1);background:repeating-linear-gradient(180deg,var(--gold-soft) 0 6px,transparent 6px 12px)}
.pb-gz{font-family:var(--ethiopic);font-weight:400;font-size:1.5rem;line-height:1.3}
.pb-name{opacity:.9}
.pb-book .more{margin-top:auto;color:var(--on-nave);font-weight:700}
.pb-book:hover{transform:none}
.pb-book:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media (max-width:800px){ .do-clock-wrap{grid-template-columns:1fr} .do-clock{max-width:360px;margin:0 auto} }
