/* Cristo Obrero: paleta cálida, tipografía editorial y componentes compartidos. */
:root{--cream:#f6f3ec;--paper:#fffdf7;--olive:#435747;--olive-dark:#2b3c30;--gold:#88602f;--ink:#28342b;--muted:#62665b;--line:#dcded2;--soft:#e9ecdf;--radius:18px;--shadow:0 16px 48px #2b3c300c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(2.8rem,4.8vw,4.7rem)}h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}h3{font-size:1.8rem}p{color:var(--muted)}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #986b2e}::selection{background:#d9dfc4;color:#24362a}[hidden]{display:none!important}.container{width:min(1220px,calc(100% - 96px));margin-inline:auto}.preserve-lines{white-space:pre-line}.eyebrow{font:600 .72rem/1.7 "Segoe UI",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--olive);margin-bottom:22px}.lead{font-size:1.08rem;max-width:540px;line-height:1.85}.small-note{font-size:.85rem;color:var(--muted)}.text-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;color:var(--olive);font-weight:600;font-size:.9rem}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:13px 22px;border:1px solid var(--olive);border-radius:5px;background:var(--olive);color:white;font-size:.87rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--olive-dark);transform:translateY(-1px)}.button-light{background:var(--paper);color:var(--olive);border-color:var(--paper)}.button-light:hover{background:#e8ecd8}.button-secondary{background:transparent;color:var(--olive)}.button-secondary:hover{background:var(--soft)}.button-danger{background:#8d3a32;border-color:#8d3a32}.button-danger:hover{background:#722c25}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--olive);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
.topline{background:var(--olive);color:#f5f4eb;min-height:35px;display:flex;justify-content:space-between;align-items:center;padding:5px 48px;font-size:.7rem;letter-spacing:.04em}.topline a{padding-block:3px}.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto;padding:24px 48px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-cross{font-size:40px;color:var(--gold);line-height:1}.brand strong{display:block;font:400 1.8rem/1.1 Georgia,serif;letter-spacing:-.04em}.brand small{display:block;font-size:.54rem;letter-spacing:.14em;margin-top:7px;color:var(--muted)}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{font-size:.85rem;padding:10px 0;position:relative}.site-header nav a:hover{color:var(--olive);text-decoration:underline;text-underline-offset:8px}.site-header nav a[aria-current]{font-weight:700}.site-header nav a[aria-current]:after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--gold)}.header-action{border:1px solid #a5b29f;border-radius:4px;padding:11px 15px;font-size:.8rem;color:var(--olive);white-space:nowrap}.menu-toggle{border:1px solid var(--line);background:var(--paper);border-radius:4px;min-height:44px;padding:8px 12px;color:var(--olive)}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:38px;padding-bottom:70px}.hero-copy{padding-top:12px}.hero .eyebrow{font-size:.65rem;margin-bottom:26px}.hero h1{font-size:clamp(2.6rem,4.7vw,4.5rem);margin-bottom:26px;line-height:1.08}.hero .lead{font-size:1rem;max-width:420px;margin-bottom:30px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:16px;margin-top:45px}.hero-note>span{font-size:30px;color:var(--gold)}.hero-note p{font-size:.75rem;line-height:1.7;margin:0}.hero-visual{position:relative;padding-left:4px}.hero-photo{height:540px;border-radius:220px 220px 12px 12px;overflow:hidden;position:relative;background:#d8d7cd;box-shadow:var(--shadow)}.hero-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1b2b24a8)}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:48% 50%}.photo-label{position:absolute;left:26px;bottom:24px;font-size:.76rem;letter-spacing:.02em;color:#fff;z-index:1}.hero-stamp{position:absolute;left:-30px;bottom:60px;background:var(--cream);border:1px solid var(--line);border-radius:100%;width:132px;height:132px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;outline:8px solid var(--cream)}.hero-stamp>span:first-child{font-size:30px;color:var(--gold);line-height:1}.hero-stamp>span:last-child{text-align:center;font-size:.54rem;letter-spacing:.1em;font-weight:600;color:var(--olive)}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.quick-links>a{display:flex;align-items:center;gap:15px;padding:25px 26px;position:relative}.quick-links>a:not(:last-child):after{content:"";position:absolute;right:0;height:44px;width:1px;background:var(--line)}.quick-links>a>span:last-child{margin-left:auto;color:var(--gold)}.quick-links strong{font-size:.89rem;font-weight:600;display:block}.quick-links small{font-size:.71rem;color:var(--muted);display:block;margin-top:5px}.quick-icon{font-size:30px;color:var(--gold)}.quick-links a:hover{background:var(--soft)}.welcome-section{text-align:center;padding:90px 0 65px;max-width:710px}.welcome-section .eyebrow{margin-bottom:16px}.welcome-section h2{margin-bottom:26px}.welcome-section>p:not(.eyebrow){font-size:1.02rem;line-height:1.9}.welcome-section .text-link{margin-top:12px}.patron-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-top:35px;padding-bottom:90px}.patron-photo{position:relative;max-width:450px}.patron-photo img{width:100%;height:500px;object-fit:cover;object-position:center 42%;border-radius:8px}.patron-photo:has(.photo-label):after{content:"";position:absolute;inset:70% 0 0;border-radius:8px;background:linear-gradient(transparent,#1b2b2480)}.patron-copy p:not(.eyebrow){font-size:.97rem;line-height:1.9}.patron-copy h2{margin-bottom:25px}.patron-copy .text-link{margin-top:15px}.schedule-section{background:var(--soft);padding:65px 0;margin-top:0}.schedule-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.schedule-grid h2{margin-bottom:25px}.schedule-grid>div>p:not(.eyebrow){max-width:350px}.schedule-panel{background:var(--paper);border:1px solid #d6dccb;padding:30px 36px;border-radius:8px}.schedule-panel .eyebrow{margin-bottom:20px}.schedule-lines{white-space:pre-line;font-size:.93rem;line-height:2.2}.special-schedule{margin-top:20px;border-top:1px solid var(--line);padding-top:22px}.special-schedule h3{font-family:"Segoe UI",sans-serif;font-size:.85rem;font-weight:600;letter-spacing:0;margin-bottom:12px}.special-schedule p{font-size:.82rem;margin:0;line-height:1.8}.news-section{padding:85px 0 65px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading .small-note{margin-bottom:8px}.articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.article-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}.article-card>img{width:100%;height:260px;object-fit:cover;object-position:center 32%}.article-card>div:not(.article-symbol){padding:28px 30px}.article-card .eyebrow{font-size:.61rem;margin-bottom:16px}.article-card h3{font-size:1.8rem;line-height:1.2;margin-bottom:15px}.article-card p:not(.eyebrow){font-size:.86rem;line-height:1.8}.article-symbol{display:grid;place-items:center;height:180px;background:var(--soft);color:var(--gold);font-size:50px}.empty-state{border:1px dashed #b8c1af;padding:25px;border-radius:8px}.visit-band{background:var(--olive);color:white;padding:45px 50px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px;margin-bottom:85px}.visit-band h2{font-size:2.35rem;margin-bottom:15px}.visit-band .eyebrow{color:#dfd9bd;margin-bottom:15px}.visit-band p{color:#e2e6dc;margin-bottom:0}.visit-band .button{flex-shrink:0}.site-footer{border-top:1px solid var(--line);max-width:1440px;margin:auto;padding:45px 48px 20px}.footer-top{display:flex;gap:35px;align-items:center;justify-content:space-between;padding-bottom:38px}.footer-top p{font-size:.86rem;margin:0}.footer-top>.text-link{font-size:.79rem}.footer-bottom{display:flex;gap:24px;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:.65rem;color:var(--muted)}.footer-bottom a{min-height:30px}.footer-bottom a:hover{text-decoration:underline}
.page-intro{padding-top:60px;padding-bottom:55px}.page-intro .eyebrow{margin-bottom:20px}.page-intro h1{margin-bottom:25px}.page-intro .lead{max-width:700px}.about-image{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-bottom:70px}.about-image img{width:100%;height:450px;object-fit:cover;border-radius:8px}.about-image h2{font-size:2.8rem}.quiet-quote{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:18px;align-items:center}.quiet-quote>span{font-size:28px;color:var(--gold)}.quiet-quote p{font-family:Georgia,serif;font-size:1.1rem;margin:0;color:var(--olive);font-style:italic}.gallery-section{padding-top:25px;padding-bottom:90px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-photo{border:0;padding:0;background:transparent;text-align:left;border-radius:6px;overflow:hidden;position:relative}.gallery-photo img{height:260px;width:100%;object-fit:cover;transition:transform .4s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo>span{position:absolute;bottom:0;left:0;right:0;padding:12px 15px;font-size:.68rem;color:white;background:#24372ab0}.sacrament-section{display:grid;grid-template-columns:70px 1fr .8fr;gap:45px;align-items:center;padding:85px 0}.sacrament-number{font-size:50px;color:var(--gold)}.sacrament-note{background:var(--paper);border-left:3px solid var(--gold);padding:30px}.sacrament-note p{font-size:.9rem}.sacrament-note p:last-child{margin-bottom:0}.pastoral-section{padding-bottom:90px}.pastoral-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:15px}.pastoral-grid article{border-top:1px solid var(--line);padding-top:25px}.pastoral-grid article>span{font-size:.73rem;color:var(--gold)}.pastoral-grid h3{font-size:1.8rem;margin-top:22px}.pastoral-grid p{font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:65px}.address-card,.secretary-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:38px}.address-card h2,.secretary-card h2{font-size:2.2rem;line-height:1.2}.address-card h2{max-width:400px}.contact-channels{border-top:1px solid var(--line);padding-top:18px;margin-top:15px}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:52px;padding:9px 0;font-weight:600;font-size:.82rem;overflow-wrap:anywhere}.contact-link span{font-weight:400;color:var(--muted)}.contact-link:hover{color:var(--gold)}.secretary-card{background:#edeede}.secretary-card>p{font-size:.95rem;line-height:1.9}.directions-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:85px 0}.directions-heading h2{margin-bottom:26px}.directions-heading>p{max-width:410px}.destination-label{display:flex;gap:20px;margin-top:35px;align-items:center;font-size:.75rem;color:var(--muted)}.destination-label>span:first-child{font-size:34px;color:var(--gold)}.destination-label strong{font-size:.93rem;color:var(--ink);font-weight:500}.directions-form{background:var(--paper);border:1px solid var(--line);padding:32px;border-radius:8px}.directions-form label,.comment-form label{display:block;font-size:.82rem;font-weight:600;margin-bottom:9px}.directions-form input[type=text],.comment-form input,.comment-form textarea{width:100%;background:var(--cream);border:1px solid #b6c0b0;min-height:48px;padding:12px 15px;border-radius:4px;color:var(--ink)}.location-button{background:none;border:0;padding:5px 0;font-size:.75rem;margin-top:6px;text-align:left}.directions-form fieldset{border:0;margin:25px 0;padding:0}.directions-form legend{font-size:.82rem;font-weight:600;margin-bottom:12px}.transport-options{display:flex;gap:8px;flex-wrap:wrap}.transport-options label{font-size:.74rem;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;gap:5px;margin:0;cursor:pointer;min-height:44px}.transport-options label:has(input:checked){border-color:var(--olive);background:var(--soft)}.transport-options input{accent-color:var(--olive)}.directions-form>.button{width:100%}.form-note{font-size:.72rem;margin-top:18px;line-height:1.7}.form-status{font-size:.84rem;line-height:1.6;color:var(--olive);margin-top:16px;margin-bottom:0}.form-status.error{color:#8d332b}.custom-section{padding:45px 0;border-top:1px solid var(--line)}.custom-section.with-photo{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.custom-section img{width:100%;max-height:400px;object-fit:cover;border-radius:8px}.custom-section p{line-height:1.9}.dynamic-sections:not(:empty){padding-bottom:20px}.article-container{max-width:820px;padding-top:30px;padding-bottom:90px}.back-link{margin-bottom:40px}.article-full h1{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:35px}.article-cover{width:100%;max-height:480px;object-fit:cover;border-radius:8px;margin-bottom:35px}.prose p{font-size:1.07rem;line-height:1.95;margin-bottom:25px}.comments-section{margin-top:60px;border-top:1px solid var(--line);padding-top:40px}.comments-section h2{font-size:2.4rem}.comment-card{padding:22px 0;border-bottom:1px solid var(--line)}.comment-card strong{font-size:.87rem}.comment-card p{white-space:pre-line;margin-top:10px;margin-bottom:0}.comment-form{margin-top:32px;max-width:600px}.comment-form input{margin-bottom:22px}.comment-form textarea{resize:vertical}.music-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:14px;padding:11px 18px;background:var(--paper);border:1px solid #b8c4b0;border-radius:10px;box-shadow:0 8px 40px #14271822;max-width:calc(100% - 28px);font-size:.73rem}.music-bar>span:first-child{font-size:24px;color:var(--gold)}.music-bar>span:nth-child(2){max-width:200px;overflow-wrap:anywhere}.music-bar button{background:var(--olive);color:#fff;border:0;border-radius:4px;padding:8px 12px;min-height:44px;white-space:nowrap;font-size:.73rem}.music-bar input{width:70px;accent-color:var(--olive)}.volume-label{font-size:.65rem}
dialog{border:1px solid var(--line);border-radius:12px;padding:35px;background:var(--paper);color:var(--ink);max-width:min(600px,calc(100vw - 30px));max-height:90vh;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#1b2b24b3;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:var(--paper);color:var(--olive);font-size:25px;width:44px;height:44px;border-radius:100%;z-index:2}.photo-dialog{padding:12px;max-width:min(1000px,calc(100vw - 30px))}.photo-dialog img{max-height:75vh;margin:auto;object-fit:contain}.photo-dialog p{font-size:.8rem;padding:12px 10px 0;margin:0}.notice-dialog h2{font-size:2.3rem}.notice-dialog .eyebrow{margin-top:15px}.notice-dialog>p:not(.eyebrow){line-height:1.85;margin-bottom:25px}
/* Panel de edición */
.editor-body{background:#edf0e6}.editor-header{background:var(--paper);padding:20px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.editor-header-actions{display:flex;gap:15px;align-items:center}.editor-shell{width:min(1250px,calc(100% - 60px));margin:40px auto 80px}.login-panel{max-width:520px;margin:65px auto;background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:12px}.login-panel h2{font-size:2.8rem}.login-panel label{display:block;margin-bottom:10px;font-size:.85rem}.login-panel input{width:100%;min-height:50px;border:1px solid #b8c4b0;padding:12px;border-radius:4px;margin-bottom:24px}.login-panel .button{width:100%}.editor-toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:30px;position:sticky;top:0;z-index:6;background:#edf0e6;padding:12px 0;border-bottom:1px solid var(--line)}.editor-toolbar h1{font-size:2.8rem;margin:0}.editor-toolbar p{font-size:.8rem;margin:8px 0 0}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.editor-layout{display:grid;grid-template-columns:210px 1fr;gap:35px}.editor-tabs{display:flex;flex-direction:column;gap:5px;align-self:start;position:sticky;top:120px}.editor-tabs button{border:0;text-align:left;background:transparent;padding:14px 16px;border-radius:6px;font-size:.87rem;color:var(--muted);min-height:48px}.editor-tabs button[aria-selected=true]{background:var(--olive);color:#fff}.editor-tabs button:hover:not([aria-selected=true]){background:#dfe5d6}.editor-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:36px}.editor-panel h2{font-size:2.1rem;margin-bottom:12px}.editor-panel>p{font-size:.87rem;max-width:700px}.editor-panel label{display:block;font-size:.83rem;font-weight:600;margin-bottom:9px}.editor-panel input:not([type=checkbox]),.editor-panel textarea,.editor-panel select,.edit-dialog input,.edit-dialog textarea,.edit-dialog select{width:100%;border:1px solid #b8c4b0;border-radius:5px;min-height:46px;padding:10px 12px;background:#fff;color:var(--ink)}.editor-panel textarea,.edit-dialog textarea{resize:vertical;line-height:1.65}.field{margin-top:24px}.field small{font-size:.73rem;color:var(--muted);display:block;margin-top:6px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field-preview{max-height:180px;border-radius:6px;object-fit:contain;margin-top:12px;background:var(--cream)}.editor-section-divider{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.editor-section-divider h3{font-size:1.5rem;letter-spacing:-.025em}.item-list{margin:25px 0}.editor-item{display:flex;gap:20px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:18px;margin-top:12px}.editor-item>img{width:75px;height:70px;border-radius:4px;object-fit:cover}.editor-item-text{flex:1;min-width:0}.editor-item strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.editor-item p{font-size:.75rem;margin:5px 0 0;overflow-wrap:anywhere}.item-actions{display:flex;gap:5px;flex-wrap:wrap}.small-button{border:1px solid #b5c0ae;border-radius:4px;padding:8px 12px;min-height:44px;color:var(--olive);background:var(--paper);font-size:.75rem}.small-button:hover{background:var(--soft)}.status-pill{display:inline-flex;font-size:.65rem;border-radius:20px;background:var(--soft);padding:2px 9px;color:var(--olive)}.checkbox-label{display:flex!important;gap:12px;align-items:center;min-height:44px}.checkbox-label input{width:20px;height:20px;accent-color:var(--olive)}.media-library{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.media-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--cream)}.media-card img{height:150px;width:100%;object-fit:cover}.media-card p{font-size:.68rem;margin:10px;overflow-wrap:anywhere}.media-card audio{width:100%;margin-top:15px}.upload-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border:1px dashed #a5b29f;padding:20px;border-radius:8px;margin-top:25px}.upload-row input{flex:1;min-width:180px;max-width:100%}.edit-dialog{width:600px;padding:35px;overflow:auto}.edit-dialog h2{font-size:2.1rem}.edit-dialog label{display:block;font-size:.8rem;margin:20px 0 9px;font-weight:600}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.editor-message{padding:12px 16px;min-height:45px;font-size:.85rem;border-radius:6px;border:1px solid #b8c4b0;background:#f8fbf0;position:sticky;top:94px;z-index:5;overflow-wrap:anywhere}.editor-message.error{border-color:#bc7e72;background:#fff4ef;color:#8d332b}.editor-message:empty{display:none}.local-note{font-size:.72rem;color:var(--muted);margin-top:20px}.unsaved-indicator{font-size:.73rem;color:#876326}.editor-item textarea{font-size:.85rem}.gallery-editor{display:grid;grid-template-columns:1fr;gap:15px}.gallery-editor .editor-item{margin:0}.gallery-editor input{font-size:.75rem}.comment-moderation{align-items:start}.comment-moderation .editor-item-text input{margin-bottom:10px}.comment-moderation textarea{min-height:100px}
.menu-toggle{display:none}
/* Edición de formato, identidad y colecciones. */
.rich-editor{border:1px solid #b8c4b0;border-radius:7px;overflow:hidden;background:#fff;margin-top:8px}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:9px;background:#f0f2e9;border-bottom:1px solid #d7decd}.rich-toolbar select{width:auto;max-width:100%;min-height:38px;padding:6px 8px;font-size:.72rem;border:1px solid #b8c4b0;border-radius:4px;background:#fff}.rich-toolbar .rich-size{width:65px;min-height:38px;padding:6px 7px;font-size:.76rem}.rich-toolbar .rich-color{width:42px;height:38px;min-height:38px;padding:4px}.rich-tool{min-height:38px;min-width:36px;border:1px solid #b8c4b0;background:#fff;color:#2b3c30;border-radius:4px;padding:6px 10px;font-size:.75rem}.rich-tool:hover,.rich-tool[aria-pressed=true]{background:#d8e1cd;border-color:#435747}.bold-tool{font-weight:800}.italic-tool{font-style:italic}.underline-tool{text-decoration:underline}.rich-mount .tiptap{min-height:150px;max-height:500px;overflow:auto;padding:18px;color:#28342b;line-height:1.75;outline-offset:-3px;font-family:"Segoe UI",sans-serif;font-size:16px;overflow-wrap:anywhere;white-space:pre-wrap}.rich-mount .tiptap p{margin:0 0 .8em;color:inherit;line-height:inherit}.rich-mount .tiptap p:last-child{margin-bottom:0}.rich-mount .tiptap h2{font-family:Georgia,serif;font-size:30px;letter-spacing:-.025em;line-height:1.25;margin:1em 0 .5em}.rich-mount .tiptap h3{font-family:Georgia,serif;font-size:23px;letter-spacing:-.02em;line-height:1.3;margin:1em 0 .5em}.rich-mount .tiptap ul,.rich-mount .tiptap ol{padding-left:1.5em;margin:.6em 0}.rich-mount .tiptap li>p{margin:.2em 0}.rich-mount .tiptap blockquote{border-left:3px solid #88602f;padding-left:18px;margin-inline:0}.palette-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.palette-field label{font-size:.78rem}.color-controls{display:flex;gap:9px;align-items:center}.color-controls input[type=color]{width:56px;min-width:56px;min-height:46px;padding:5px}.color-controls input[type=text]{min-width:0;flex:1;font-family:monospace;font-size:.85rem}.typography-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.type-field{border:1px solid #dcded2;border-radius:8px;padding:18px}.type-field h4{margin:0 0 18px;font-size:.85rem;font-weight:600}.type-field label{font-size:.72rem;margin-top:15px}.type-field input{font-size:.85rem}.theme-preview{background:var(--cream);border:1px solid var(--soft);border-radius:9px;padding:30px;margin:30px 0 20px;color:var(--ink)}.theme-preview .eyebrow{color:var(--olive)}.theme-preview-title{font-family:var(--preview-title-font),serif;font-size:var(--preview-title-size);line-height:1.15;letter-spacing:-.035em;margin-bottom:18px}.theme-preview-subtitle{font-family:var(--preview-subtitle-font),serif;font-size:var(--preview-subtitle-size);line-height:1.25;margin-bottom:18px}.theme-preview p:not(.eyebrow){font-family:var(--preview-body-font),sans-serif;font-size:var(--preview-body-size);color:var(--muted);line-height:1.8}.theme-preview-button{display:inline-block;padding:12px 18px;border-radius:5px;background:var(--olive);color:var(--on-primary);font-size:.8rem}.collection-dialog{width:900px;max-width:calc(100vw - 30px)}.collection-dialog .fields-grid label{margin-top:20px}.collection-dialog .checkbox-label input[type=checkbox],.collection-dialog .checkbox-label input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:#435747}.collection-dialog .upload-row label{margin:0}.collection-dialog .upload-row input[type=file]{width:auto;max-width:100%;flex:1;font-size:.75rem}.collection-dialog .upload-row small{font-size:.7rem;color:#62665b}.collection-dialog audio{width:100%;margin-top:15px}.align-bottom{display:flex;align-items:end;padding-top:20px}.album-photo-list{display:flex;flex-direction:column;gap:15px;margin:20px 0}.album-photo-row{display:grid;grid-template-columns:100px 1fr;gap:18px;border:1px solid #dcded2;border-radius:7px;padding:16px}.album-photo-row img{width:100%;height:110px;object-fit:cover;border-radius:4px}.album-photo-row label{font-size:.75rem;margin:0 0 7px}.album-photo-row .checkbox-label{margin-top:8px}.album-photo-row .item-actions{grid-column:1/-1}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:90px}.collection-card{border:1px solid var(--line);border-radius:9px;background:var(--paper);overflow:hidden}.collection-card>a>img{width:100%;height:245px;object-fit:cover}.collection-card>div{padding:27px}.collection-card h2{font-size:1.9rem!important;line-height:1.2}.collection-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}.collection-card .eyebrow{font-size:.65rem;margin-bottom:15px}.collection-card p:not(.eyebrow){line-height:1.8}.collection-empty{grid-column:1/-1;text-align:center;background:var(--soft);padding:65px 35px;border-radius:10px;max-width:900px;margin:auto;width:100%}.collection-empty>span{font-size:40px;color:var(--gold);display:block;margin-bottom:20px}.collection-empty h2{font-size:2.6rem!important}.collection-empty p{max-width:560px;margin:20px auto 0}.collection-detail{padding-top:35px;padding-bottom:85px}.collection-detail>.eyebrow{margin-top:35px}.collection-detail h1{max-width:900px}.collection-description{max-width:800px;margin-bottom:40px}.sunday-archive{padding-bottom:85px;max-width:1050px}.sunday-card{display:grid;grid-template-columns:200px 1fr;gap:35px;padding:35px 0;border-top:1px solid var(--line)}.sunday-date{font-size:.9rem;color:var(--muted);display:flex;flex-direction:column;gap:12px}.sunday-date>span{color:var(--gold);font-size:35px}.sunday-card h2{font-size:2.3rem!important;margin-bottom:18px}.sunday-card .eyebrow{margin-bottom:14px}.sunday-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sunday-badges>span{border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:.7rem;color:var(--olive);background:var(--paper)}.sunday-detail{max-width:900px;padding-top:35px;padding-bottom:90px}.sunday-detail>.eyebrow{margin-top:35px}.sunday-detail h1{margin-bottom:30px}.gospel-reading,.homily-reading{padding-top:45px;margin-top:30px;border-top:1px solid var(--line)}.scripture-reference{font-weight:600;color:var(--olive);font-size:1rem}.homily-files{border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:30px;margin-top:40px}.homily-files h2{font-size:2rem!important}.homily-files label{display:block;margin-bottom:10px;font-size:.9rem}.homily-files audio{width:100%;display:block;margin-bottom:22px}.homily-files .button{margin-top:10px}.sunday-archive h2 a:hover{text-decoration:underline;text-underline-offset:7px}.site-header nav{gap:21px}.site-header nav a{white-space:nowrap}.site-header .header-action{display:none}
@media(max-width:1100px) and (min-width:761px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;justify-content:center}.site-header .brand{margin:auto}.typography-fields{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.palette-fields,.typography-fields{grid-template-columns:1fr}.rich-toolbar{gap:5px;padding:7px}.rich-toolbar select{font-size:.68rem;min-height:42px}.rich-toolbar .rich-size{min-height:42px}.rich-tool{min-height:42px;font-size:.7rem;padding:6px 9px}.rich-mount .tiptap{padding:15px;min-height:140px}.theme-preview{padding:25px 20px}.collection-grid{grid-template-columns:1fr;padding-bottom:50px}.collection-card>a>img{height:235px}.collection-empty{padding:45px 25px}.collection-empty h2{font-size:2rem!important}.collection-detail{padding-bottom:50px}.collection-dialog{max-width:calc(100vw - 16px);padding:28px 18px}.album-photo-row{grid-template-columns:75px 1fr;gap:12px;padding:13px}.album-photo-row img{height:90px}.album-photo-row label{font-size:.68rem}.sunday-card{grid-template-columns:1fr;gap:20px;padding:28px 0}.sunday-date{flex-direction:row;align-items:center;font-size:.8rem}.sunday-date>span{font-size:26px}.sunday-card h2{font-size:2rem!important}.sunday-archive,.sunday-detail{padding-bottom:50px}.homily-files{padding:25px 20px}.collection-dialog .fields-grid{gap:0}.align-bottom{padding-top:12px}.editor-tabs{grid-template-columns:repeat(3,1fr)}.site-header nav{gap:0}}
@media(min-width:1500px){.hero{gap:90px}.hero-photo{height:590px}}
@media(max-width:1100px){.container{width:calc(100% - 60px)}.site-header{padding:22px 30px}.topline{padding-inline:30px}.site-header nav{gap:20px}.header-action{display:none}.hero{gap:40px}.hero-photo{height:490px}.hero h1{font-size:3.4rem}.hero-actions{gap:12px}.hero-stamp{width:110px;height:110px;left:-20px}.quick-links>a{padding:22px 15px;gap:10px}.quick-links small{font-size:.65rem}.patron-section,.schedule-grid{gap:55px}.directions-section{gap:45px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer-top{flex-wrap:wrap}.sacrament-section{gap:25px;grid-template-columns:45px 1fr 1fr}.editor-shell{width:calc(100% - 40px)}.editor-layout{grid-template-columns:170px 1fr;gap:20px}.editor-panel{padding:25px}.media-library{grid-template-columns:repeat(2,1fr)}.editor-toolbar h1{font-size:2.3rem}}
@media(max-width:760px){html{scroll-padding-top:20px}.container{width:calc(100% - 40px)}.topline{padding-inline:20px;font-size:.61rem}.topline>span{display:none}.topline{justify-content:center}.site-header{padding:20px;flex-wrap:wrap;gap:15px;min-height:85px}.brand strong{font-size:1.65rem}.brand small{font-size:.49rem}.brand-cross{font-size:33px}.site-header nav{width:100%;flex-wrap:wrap;gap:0;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.site-header nav a{padding:12px 8px;font-size:.8rem}.js .menu-toggle{display:block}.js #main-nav:not(.is-open){display:none}.hero{grid-template-columns:1fr;padding-top:25px;gap:30px;padding-bottom:45px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.25rem,8.5vw,3.4rem);max-width:550px}.hero .eyebrow{font-size:.61rem;margin-bottom:20px}.hero .lead{font-size:1rem;margin-bottom:22px}.hero-note{margin-top:25px}.hero-visual{padding-left:25px}.hero-photo{height:420px;border-radius:160px 160px 8px 8px}.hero-stamp{left:0;bottom:32px;width:100px;height:100px;outline-width:6px}.hero-stamp>span:last-child{font-size:.45rem}.hero-stamp>span:first-child{font-size:25px}.photo-label{font-size:.65rem;left:25px;bottom:18px}.quick-links{grid-template-columns:1fr}.quick-links>a{padding:20px 12px}.quick-links>a:not(:last-child):after{right:12px;bottom:0;width:calc(100% - 24px);height:1px}.quick-links small{font-size:.72rem}.welcome-section{padding:60px 0 35px}.welcome-section>p:not(.eyebrow){font-size:.95rem}.patron-section{grid-template-columns:1fr;gap:35px;padding-top:25px;padding-bottom:55px}.patron-photo{max-width:100%;width:100%}.patron-photo img{height:440px;object-position:center 30%}.patron-copy .eyebrow{margin-bottom:18px}.patron-copy h2{font-size:2.7rem}.schedule-section{padding:45px 0}.schedule-grid{grid-template-columns:1fr;gap:25px}.schedule-panel{padding:25px 22px}.schedule-lines{font-size:.82rem;line-height:2.15}.schedule-grid h2 br{display:none}.news-section{padding:55px 0 35px}.section-heading{display:block;margin-bottom:25px}.section-heading .small-note{display:block;margin-top:20px}.articles-grid{grid-template-columns:1fr;gap:25px}.article-card>img{height:220px}.article-card>div:not(.article-symbol){padding:25px}.visit-band{padding:30px 25px;display:block;margin-bottom:50px}.visit-band h2{font-size:2.2rem}.visit-band .button{margin-top:25px}.site-footer{padding:35px 20px 20px}.footer-top{display:block;padding-bottom:25px}.footer-top p{margin-top:20px}.footer-top>.text-link{margin-top:10px}.footer-bottom{flex-wrap:wrap;justify-content:start;gap:6px 20px;font-size:.65rem}.footer-bottom>span:last-child{width:100%;margin-top:10px}.page-intro{padding-top:35px;padding-bottom:35px}.page-intro h1{font-size:3rem}.page-intro .lead{font-size:.98rem}.about-image{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.about-image img{height:310px}.about-image h2{font-size:2.5rem}.gallery-section{padding-bottom:45px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-photo img{height:230px}.gallery-photo>span{font-size:.6rem;padding:10px}.sacrament-section{grid-template-columns:1fr;gap:20px;padding:50px 0}.sacrament-number{font-size:35px}.sacrament-note{padding:25px}.pastoral-section{padding-bottom:50px}.pastoral-grid{grid-template-columns:1fr;gap:20px}.pastoral-grid h3{margin-top:15px}.contact-grid{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.address-card,.secretary-card{padding:28px 24px}.address-card h2,.secretary-card h2{font-size:2.1rem}.directions-section{grid-template-columns:1fr;gap:25px;padding:50px 0}.directions-form{padding:25px 20px}.custom-section.with-photo{grid-template-columns:1fr;gap:25px}.article-container{padding-top:20px;padding-bottom:50px}.back-link{margin-bottom:25px}.article-full h1{font-size:2.7rem}.prose p{font-size:1rem}.comments-section{padding-top:30px;margin-top:40px}.music-bar{bottom:10px;padding:8px 12px;gap:8px;flex-wrap:wrap;width:max-content;max-width:calc(100% - 24px)}.music-bar>span:nth-child(2){max-width:125px;font-size:.66rem}.music-bar input{width:55px}.volume-label{display:none}.editor-header{padding:15px 20px}.editor-header .brand small{display:none}.editor-header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.editor-header-actions .text-link{font-size:.73rem}.editor-header-actions .small-button{font-size:.7rem}.editor-shell{width:calc(100% - 24px);margin-top:20px}.login-panel{padding:28px 24px;margin:30px auto}.login-panel h2{font-size:2.3rem}.editor-toolbar{position:static;display:block;padding:10px 0 20px}.editor-toolbar h1{font-size:2.3rem}.toolbar-actions{margin-top:18px;gap:8px}.toolbar-actions .button{font-size:.72rem;padding:10px 13px;gap:8px}.editor-layout{grid-template-columns:1fr;gap:15px}.editor-tabs{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.editor-tabs button{font-size:.7rem;padding:10px;text-align:center;min-height:46px}.editor-panel{padding:25px 20px}.editor-panel h2{font-size:2rem}.fields-grid{grid-template-columns:1fr;gap:0}.editor-message{position:static;margin-bottom:15px}.editor-item{flex-wrap:wrap;gap:12px;padding:14px}.editor-item>.item-actions{width:100%}.media-library{gap:10px}.media-card img{height:130px}.edit-dialog{padding:28px 20px}.dialog-actions{flex-wrap:wrap}.field{margin-top:20px}.comment-moderation .editor-item-text{flex-basis:100%}}
@media(max-width:380px){.container{width:calc(100% - 30px)}.hero h1{font-size:2.25rem}.hero-photo{height:360px}.hero-actions{align-items:start;flex-direction:column}.schedule-panel{padding:22px 16px}.gallery-photo img{height:190px}.music-bar>span:nth-child(2){max-width:90px}.music-bar input{width:42px}.transport-options label{padding:8px;font-size:.7rem}.editor-tabs{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Compact audio stays on the left; the footer keeps its own clear access. */
.music-bar{left:16px;right:auto;bottom:16px;transform:none;width:max-content;max-width:min(360px,calc(100% - 32px));padding:8px 12px;gap:8px;flex-wrap:nowrap;border-radius:16px;box-shadow:0 5px 25px #1b2b2420}
.music-bar>span:nth-child(2){max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}
.music-bar button{min-height:44px;padding:6px 10px;white-space:nowrap;font-size:.74rem}
.music-bar input{width:58px;min-height:44px}.music-bar .volume-label{display:none}
body:has(#music-bar:not([hidden])) .site-footer{padding-bottom:110px}
.footer-bottom{align-items:center;flex-wrap:wrap}.footer-bottom>span:last-child{width:auto;margin:0}
.footer-bottom .editor-access-link{order:3;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1px solid var(--olive);border-radius:8px;color:var(--olive);font-size:.8rem;font-weight:600;background:var(--paper)}
.footer-bottom .editor-access-link:hover{background:var(--soft)}
.owner-recovery{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.owner-recovery summary{cursor:pointer;min-height:44px;font-size:.9rem}.owner-recovery .small-note{margin-top:12px}
#password-panel{max-width:560px}#password-form .small-button{margin-top:12px}#credential-password{font-family:monospace;font-size:1rem}#create-editor-form{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}
@media(max-width:760px){.music-bar{left:12px;bottom:12px;max-width:calc(100% - 24px)}.music-bar>span:nth-child(2){display:none}.music-bar input{width:62px}.footer-bottom{gap:12px}.footer-bottom>span:first-child{flex-basis:100%}.footer-bottom .editor-access-link{margin-left:auto}.footer-bottom>span:last-child{width:auto;margin:0}body:has(#music-bar:not([hidden])) .site-footer{padding-bottom:100px}}

/* Small photographs travel with the heading, independently of cover photos. */
h1.title-with-image,h2.title-with-image,h3.title-with-image,#title-image-preview-heading.title-with-image{display:flex;align-items:center;gap:18px;max-width:100%}
.title-with-image>.title-label{display:block;min-width:0;overflow-wrap:anywhere;font:inherit;line-height:inherit}
.title-with-image>.title-thumbnail{flex:0 0 auto;width:80px;height:80px;max-width:none;aspect-ratio:1;object-fit:cover;border-radius:8px;margin:0;box-shadow:0 2px 12px #28342b12}
.title-image-rectangle>.title-thumbnail{width:120px;aspect-ratio:3/2}
.title-image-right>.title-thumbnail{order:2}.title-image-right>.title-label{order:1}
.welcome-section .title-with-image{justify-content:center}.title-image-preview{border:1px solid var(--line);border-radius:10px;padding:24px;margin-top:24px;background:var(--paper)}
#title-image-preview-heading{font-family:Georgia,serif;font-size:2rem;line-height:1.2;color:var(--ink)}
.rich-content [style*="text-align:justify"],.ProseMirror [style*="text-align: justify"]{hyphens:auto}
@media(max-width:760px){h1.title-with-image,h2.title-with-image,h3.title-with-image,#title-image-preview-heading.title-with-image{gap:12px}.title-with-image>.title-thumbnail{width:56px;height:56px}.title-image-rectangle>.title-thumbnail{width:84px}.title-image-preview{padding:18px}#title-image-preview-heading{font-size:1.65rem}}

/* Library usage and removal controls. */
.media-card-info{padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.media-card-info .media-file-name{padding:0;margin:0;overflow-wrap:anywhere;max-width:100%}.media-card-info .small-note{margin:0}.media-card .media-remove{min-height:44px;margin-top:4px;width:100%;white-space:normal}.media-remove:disabled{opacity:.55;cursor:not-allowed}.media-uses{width:100%;font-size:.78rem;overflow-wrap:anywhere}.media-uses summary{cursor:pointer;min-height:35px;display:flex;align-items:center}.media-uses ul{padding-left:18px;margin:8px 0}.media-uses li{margin:5px 0}.media-pending{min-height:120px;display:grid;place-items:center;background:var(--soft);font-size:.85rem}.retired-originals{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:18px}.retired-originals>summary{cursor:pointer;min-height:44px}.retired-media-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.retired-media-row .small-button{min-height:44px;flex-shrink:0}.media-help{margin-block:20px}
@media(max-width:760px){.media-card-info{padding:12px}.retired-media-row{flex-wrap:wrap}.retired-media-row>span{max-width:100%}}

/* Shared contact details remain readable on every public page. */
.activity-shortcuts{display:flex;flex-wrap:wrap;gap:12px;padding:24px 0}.activity-shortcuts p{flex-basis:100%;margin:0;color:var(--olive);font-weight:600}.activity-shortcuts a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 15px;border:1px solid var(--olive);border-radius:5px;color:var(--olive);font-size:.9rem;background:var(--paper)}.activity-shortcuts a:hover{background:var(--soft)}
@media(max-width:480px){.activity-shortcuts{gap:10px}.activity-shortcuts a{width:100%}}
.footer-contact{padding:28px 0;border-top:1px solid var(--line)}
body:not(.editor-body) .site-footer .footer-contact h2{font-size:1.35rem;margin:0 0 22px;line-height:1.3}
body:not(.editor-body) .site-footer .footer-contact h3{font-size:1rem;margin:0 0 10px;line-height:1.4}
.footer-contact-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:30px;font-size:.85rem;line-height:1.75}
.footer-contact address{font-style:normal;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}
.footer-contact-grid p{margin:0}.footer-contact nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;overflow-wrap:anywhere}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}.footer-contact a:hover{text-decoration:underline}
.footer-contact .social-link{gap:10px;padding:4px 10px 4px 0;font-weight:600}.social-icon{flex:0 0 24px;display:block}.social-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
@media(max-width:760px){.footer-contact-grid{grid-template-columns:1fr;gap:22px}.footer-contact nav{gap:0}.footer-contact{padding:25px 0}}
