/* Editorial tools and public gallery; existing desktop chrome stays intact. */
.editor-page .account-layout{display:block;min-height:0;padding:28px max(16px,4vw);background:var(--paper)}
.editor-page .account-card{max-width:1320px;width:100%;margin:auto;padding:24px;background:var(--paper);color:var(--ink)}
.editor-page #account-name{font-size:21px;margin-bottom:4px}
.editor-page #account-role{color:var(--muted)}
.editor-page .account-return{margin-top:20px;display:inline-block}
.editor-tabs,.editor-actions,.editor-inline,.editor-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.editor-tabs{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.editor-tabs button,.editor-media-item button{border:1px solid var(--line);background:var(--header-bg);color:var(--ink);padding:9px 13px;border-radius:6px;min-height:40px}
.editor-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
#editor-status{margin:16px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.editor-heading{justify-content:space-between;margin-bottom:18px}
.editor-heading h2{margin:0}
.editor-box{border:1px solid var(--line);padding:22px;margin:20px 0;border-radius:10px;background:var(--header-bg)}
.editor-box h3{margin:0 0 15px;font-size:23px}
.editor-box label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0;flex:1}
.editor-box input,.editor-box textarea,.editor-box select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:10px 12px;border-radius:5px;width:100%;min-width:0}
.editor-box textarea{resize:vertical;white-space:pre-wrap}
.editor-box input:focus-visible,.editor-box select:focus-visible,.editor-box textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.editor-box input[type=checkbox],.editor-box input[type=radio]{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0}
.editor-inline{align-items:flex-end}
.editor-inline .button{margin-bottom:14px}
.editor-actions{margin-top:18px}
.editor-actions .button:not(.gold),.editor-inline .button:not(.gold){border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.editor-actions .danger{color:#c13150}
.editor-entry-list{display:grid;gap:8px}
.editor-entry-list>button{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:14px 18px;color:var(--ink);background:var(--header-bg);border:1px solid var(--line);border-radius:7px;overflow-wrap:anywhere}
.editor-entry-list small{white-space:nowrap;font-size:14px}
.editor-table-wrap{overflow-x:auto}
.editor-table{width:100%;border-collapse:collapse}
.editor-table th{font-weight:400;min-width:86px;font-size:15px}
.editor-table th:first-child{text-align:left;min-width:150px}
.editor-table td,.editor-table th{padding:12px 8px;border-bottom:1px solid var(--line)}
.editor-table td{text-align:center}
.editor-table input[type=checkbox]{margin:0;display:inline-block}
.editor-notice{padding:14px;background:var(--paper)}
.editor-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.editor-media-item{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere;padding:10px;border:1px solid var(--line);border-radius:7px}
.editor-media-item img,.editor-media-item video{width:100%;height:135px;object-fit:contain;background:var(--paper)}
.editor-media-item label{display:flex;flex-direction:row;align-items:center;margin:0}
#temporary-password{overflow-wrap:anywhere;white-space:pre-wrap}
#galeria{grid-column:1/-1}
.parish-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery-thumb{display:block;position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--header-bg);color:var(--ink)}
.gallery-thumb img,.gallery-thumb video{width:100%;height:100%;object-fit:cover}
.gallery-play{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 5px black;font-size:32px}
.gallery-lightbox{width:96vw;max-width:1500px;max-height:96dvh;padding:12px 16px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.gallery-lightbox::backdrop{background:#070e16ed}
.lightbox-tools{display:flex;justify-content:space-between;align-items:center;gap:14px}
.lightbox-tools button,.lightbox-stage>button{border:0;background:var(--header-bg);color:var(--ink);min-width:44px;min-height:44px;border-radius:7px;font-size:28px}
.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:10px 0}
#lightbox-content{display:grid;place-items:center;min-width:0}
#lightbox-content img,#lightbox-content video{width:100%;height:72dvh;object-fit:contain}
#lightbox-caption{text-align:center;margin:8px 0;overflow-wrap:anywhere}
.news-video{object-fit:contain;background:var(--header-bg)}
@media(max-width:1199px){
 .header .menu-button{order:0;min-width:44px;min-height:44px}
 .header .header-mark{order:1}
 .header .header-actions{order:2;margin-left:auto}
 .header nav#main-nav{order:3}
}
@media(max-width:900px){.parish-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-media{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .editor-page .account-card{padding:16px}
 .editor-box{padding:14px}
 .editor-inline{display:block}
 .editor-heading{align-items:stretch}
 .editor-heading label{width:100%}
 .editor-actions .button{min-height:44px}
 .editor-entry-list>button{flex-direction:column;gap:4px}
 .parish-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .gallery-thumb{border-radius:9px}
 .gallery-lightbox{padding:8px;width:100%;max-height:100dvh}
 .lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:3px}
 .lightbox-stage>button{min-width:36px;min-height:48px}
 #lightbox-content img,#lightbox-content video{height:65dvh}
 .editor-box input,.editor-box textarea,.editor-box select{font-size:16px}
}
.editor-page #editor-root .button{width:auto;margin:0}
.editor-page #editor-root .editor-inline{display:flex;gap:12px;align-items:flex-end}
.editor-page #editor-root .editor-inline>label{flex:1 1 210px}
.editor-page #editor-root .editor-inline>.button{margin-bottom:14px}
@media(max-width:600px){.editor-page #editor-root .editor-inline{display:block}.editor-page #editor-root .editor-actions>.button{width:100%}}

/* Community directory, detail page and administration. */
.community-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.community-card{display:block;border:1px solid var(--line);background:var(--header-bg);padding:26px;border-radius:9px;overflow-wrap:anywhere}
.community-card h2{font-size:25px}.community-card p{font-size:17px;color:var(--muted);margin:0;white-space:pre-wrap}
.community-card:hover{border-color:var(--gold)}
.community-page h1{font-size:clamp(30px,4vw,48px);margin:22px 0 28px}
.community-description,.community-body{white-space:pre-wrap;overflow-wrap:anywhere}
.community-description{max-width:900px;margin-bottom:40px}
.community-news-list{display:grid;gap:16px;margin:24px 0 40px}
.community-news-list .detail-card h3{margin:0 0 14px;font-size:26px}
.community-news-list summary{cursor:pointer;color:var(--gold);font-size:14px}
.community-news-list details[open] summary{margin-bottom:18px}
.community-gallery-section{padding:15px 0 30px}
.community-editor-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:24px;align-items:start}
.community-editor-layout .editor-box{margin-top:0}
#community-list{min-width:0}#community-list button{flex-direction:column;gap:4px}#community-list small{white-space:normal}
#community-form-slot{min-width:0}
@media(max-width:900px){.community-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.community-editor-layout{grid-template-columns:1fr}}
@media(max-width:600px){.community-directory{grid-template-columns:1fr}.community-card{padding:22px}}

/* Standalone albums and accessible public filter controls. */
.album-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 40px}
.album-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--header-bg);color:var(--ink)}
.album-card>img,.album-card>video,.album-cover-empty{width:100%;height:210px;object-fit:cover;background:var(--header-bg)}
.album-cover-empty{display:grid;place-items:center;font-size:60px;color:var(--gold)}
.album-card>div:not(.album-cover-empty){padding:22px}
.album-card h2{font-size:25px;margin-bottom:12px}.album-card p{font-size:17px;overflow-wrap:anywhere}
.album-card span{font-size:15px;color:var(--muted)}.album-card:hover{border-color:var(--gold)}
.album-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0}
.album-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.album-filters select{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:10px}
.album-library-list{display:grid;gap:8px;margin-top:18px}
.album-library-list button{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-align:left;padding:12px;overflow-wrap:anywhere}
#album-filter-status{font-size:14px;color:var(--muted)}
@media(max-width:900px){.album-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.album-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.album-directory{grid-template-columns:1fr}.album-filters select{font-size:16px}.album-card>img,.album-card>video{height:220px}}

.album-card h2{overflow-wrap:anywhere}

/* Dated parish announcements and liturgy */
#weekly-form fieldset{border:0;padding:0;margin:0;min-width:0}
.intention-editor-row{border:1px solid var(--line);border-radius:8px;padding:15px;margin-bottom:14px}
.intention-editor-row textarea{width:100%;min-width:0}
.weekly-announcement{padding:26px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.weekly-announcement h2{font-size:28px}.weekly-body{white-space:pre-wrap;line-height:1.85}
.week-navigation{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
.week-navigation label{display:flex;flex-direction:column;gap:5px;font-size:16px}
.week-navigation input{padding:10px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;font:inherit;min-width:0}
.week-navigation .button{background:var(--paper);border-color:var(--line);color:var(--ink)}
.weekly-period{font-family:Georgia,serif;font-size:22px}.liturgy-day{font-size:25px;margin:30px 0 8px}
.liturgy-row{padding:19px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.liturgy-row h3{font-size:21px;margin:0 0 6px}.liturgy-row time{color:var(--gold)}
.liturgy-row ol{padding-left:23px;margin:12px 0}.liturgy-row li{padding:4px 0;white-space:pre-wrap}
.weekly-empty-intention{font-size:16px;color:var(--muted);margin:6px 0}
.weekly-intentions-card .liturgy-row h3{font-size:18px}
.weekly-intentions-card .liturgy-row{font-size:17px;padding:15px 0}
.home-weekly{padding-top:30px;padding-bottom:35px}.home-weekly .weekly-announcement h2{font-size:24px}
.mass-shortcut{padding-left:19px;font-size:17px}.mass-shortcut li{padding:5px 0}
@media(max-width:600px){.week-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.week-navigation label{grid-column:1/-1;grid-row:1}.week-navigation input{font-size:16px;width:100%}.weekly-period{font-size:19px}.weekly-announcement h2{font-size:25px}}
@media print{.header,footer,.week-navigation,.skip,#search-dialog{display:none!important}body{background:white!important;color:black!important}.container{max-width:none;width:100%}.section{padding:0}#weekly-items article{break-inside:avoid}.weekly-body{color:black!important}.weekly-period{font-size:16pt}h1{font-size:24pt}.liturgy-row h3{font-size:14pt}.liturgy-day{font-size:16pt}a{color:inherit;text-decoration:none}}

.liturgy-day::first-letter{text-transform:uppercase}

/* Keep media out of the arrow column; a single item uses the full stage. */
#lightbox-content{grid-column:2;grid-row:1}
.lightbox-stage>button[hidden]+#lightbox-content{grid-column:1 / -1}

.users-list{display:grid;gap:10px;margin:22px 0}
.user-list-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:20px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--header-bg);color:var(--ink)}
.user-list-item:hover{border-color:var(--gold)}.user-list-name{display:block;font-size:18px}.user-list-item small{display:block;color:var(--muted);margin-top:4px}.user-list-item span{overflow-wrap:anywhere}
#user-details h2{overflow-wrap:anywhere}#users-back{margin-bottom:10px;border-color:var(--line);color:var(--ink);background:var(--paper)}
@media(max-width:700px){.user-list-item{grid-template-columns:minmax(0,1fr);gap:7px}.user-list-item small{font-size:13px}}

.my-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:24px}
.my-account-grid>.editor-box{margin:0}.my-account-grid input{min-width:0}
@media(max-width:800px){.my-account-grid{grid-template-columns:minmax(0,1fr)}}

.lightbox-stage>button{font-size:11px;padding:2px;white-space:nowrap}
.carousel-controls .round{width:auto;min-width:64px;border-radius:5px;padding:0 10px;font-size:12px}
.carousel-footer,.carousel-controls{flex-wrap:wrap}

.editor-page #editor-root .account-status-actions>.button{width:180px;min-height:44px;justify-content:center;padding:10px 14px;margin:0;border-radius:6px}
.editor-page #editor-root .button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;color:var(--muted);background:var(--paper);border-color:var(--line)}
@media(max-width:600px){.editor-page #editor-root .account-status-actions>.button{width:100%}}

.account-status-box #temporary-password:empty{display:none}

.activity-editor-list,.public-activities{display:grid;gap:18px;margin:22px 0}.public-activities{grid-template-columns:repeat(2,minmax(0,1fr))}.public-activities>.editor-box{margin:0}.activity-editor-list .editor-box{margin:0}
.activity-description{margin:20px 0 24px}.public-participation-form{max-width:760px}.participation-counter{color:var(--gold);font-size:18px}.form-honeypot{display:none}
.survey-options{border:0;margin:0 0 22px;padding:0}.survey-options label{display:flex;flex-direction:row;align-items:center;gap:12px}.survey-options input{width:20px!important;height:20px;accent-color:var(--gold)}
.survey-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,2fr) 40px;align-items:center;gap:12px;margin:16px 0}.survey-result progress{width:100%;accent-color:var(--gold)}
.response-card{overflow-wrap:anywhere}.response-card select{max-width:260px}.editor-check{flex-direction:row!important;align-items:center;gap:10px!important}
.parish-service-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.parish-service-links a{border:1px solid var(--line);border-radius:7px;background:var(--header-bg);color:var(--ink);padding:22px;text-align:center}.parish-service-links a:hover{border-color:var(--gold)}
@media(max-width:800px){.parish-service-links{grid-template-columns:repeat(2,minmax(0,1fr))}.public-activities{grid-template-columns:1fr}.survey-result{grid-template-columns:minmax(0,1fr) 40px}.survey-result progress{grid-row:2;grid-column:1/-1}}

.parish-service-links a{display:flex;align-items:center;justify-content:center;min-height:110px}

.homepage-media-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.homepage-preview{max-width:800px;margin:20px 0;background:var(--navy-deep);border:1px solid var(--line)}
.homepage-preview img,.homepage-preview video{width:100%;height:240px;object-fit:cover;display:block}
.homepage-order-list{display:grid;gap:8px;max-width:800px}
.homepage-order-row{display:grid!important;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:16px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:5px;margin:0!important}
.homepage-order-row input{margin:0!important;text-transform:uppercase;text-align:center}
.homepage-order-preview{display:grid;gap:10px;max-width:800px}
.homepage-preview-row{display:flex;gap:10px}
.homepage-preview-row>span{flex:1;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}
.homepage-preview-row small{display:block;color:var(--gold)}
@media(max-width:600px){.homepage-media-fields{grid-template-columns:minmax(0,1fr)}.homepage-preview img,.homepage-preview video{height:180px}.homepage-order-row{grid-template-columns:minmax(0,1fr) 70px;padding:8px}.homepage-preview-row>span{padding:8px;font-size:12px}}

.homepage-loop{display:flex!important;align-items:center;gap:12px}.homepage-loop input{width:20px!important;height:20px!important;margin:0!important}.homepage-upload-status{color:var(--gold);margin:12px 0}

.homepage-preview>p{padding:12px;color:#fff;margin:0;font-size:13px}
/* CMS dashboard: account actions separate from editorial modules */
.cms-admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 0}.cms-admin-top h2{font-size:25px;margin:3px 0}.cms-admin-label{font-size:15px;letter-spacing:.1em;color:var(--muted)}.cms-account-nav{display:flex;gap:10px;flex-wrap:wrap}.cms-account-nav button{background:var(--header-bg);border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:10px 14px}.cms-account-nav button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cms-modules-help{color:var(--muted);font-size:14px}.cms-modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:20px 0}.cms-module-card{display:flex;flex-direction:column;gap:9px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--header-bg);color:var(--ink);padding:22px;min-height:110px}.cms-module-card:hover,.cms-module-card:focus-visible{border-color:var(--gold);outline-offset:2px}.cms-module-card strong{font-size:17px}.cms-module-card span{font-size:16px;color:var(--muted)}

/* Central CMS navigation: module editors are opened from the catalog. */
.editor-tabs [data-tab]:not([data-tab="modules"]):not([data-tab="homepage"]) { display: none !important; }

/* Keep editorial panel centered when the vertical scrollbar changes. */
html:has(.account-page) { scrollbar-gutter: stable; }
.editor-page .account-card { margin-inline: auto; min-width: 0; }
.editor-page #editor-root, .editor-page #editor-view { min-width: 0; max-width: 100%; }

.cms-confirm-dialog{width:min(460px,calc(100vw - 32px));max-width:460px;border:1px solid var(--line);border-radius:12px;padding:26px;background:var(--paper);color:var(--ink);box-shadow:0 18px 60px #0005}
.cms-confirm-dialog::backdrop{background:#07141dbb}
.cms-confirm-dialog h2{font-size:22px;margin:0 0 12px}
.cms-confirm-dialog p{font-size:15px;line-height:1.6;margin:0 0 24px}
.cms-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.cms-confirm-actions button{min-height:42px;padding:10px 18px;border-radius:6px;border:1px solid var(--line);background:var(--header-bg);color:var(--ink)}
.cms-confirm-actions .cms-confirm-danger{background:#922f37;color:white;border-color:#922f37}
.cms-confirm-actions .cms-confirm-primary{background:var(--navy);color:white;border-color:var(--navy)}
html[data-theme=dark] .cms-confirm-dialog{background:#192f3d;color:#f2f5f6;border-color:#718797}
html[data-theme=dark] .cms-confirm-actions button{background:#273d4c;color:#fff;border-color:#718797}
html[data-theme=dark] .cms-confirm-actions .cms-confirm-danger{background:#ac4148;border-color:#ac4148}
.cms-module-search-label{display:block;max-width:480px;margin-top:20px;color:var(--ink)}
.cms-module-search-label input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}
.cms-module-card[hidden]{display:none!important}
.cms-module-title{font-size:17px!important;color:var(--ink)!important}
.cms-module-picker label{display:block;margin-bottom:22px}
.cms-module-picker select{display:block;margin-top:8px;width:100%;padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}

/* Homepage background editor: keep looping control at the left and live note readable. */
#homepage-form .homepage-media-fields>.homepage-loop{grid-column:1 / -1;display:inline-flex!important;flex-direction:row!important;justify-self:start;align-self:center;justify-content:flex-start;align-items:center;flex:0 0 auto!important;width:max-content;max-width:100%;gap:10px;margin:0 0 4px}
#homepage-form .homepage-media-fields>.homepage-loop input{flex:0 0 20px!important;margin:0!important;width:20px!important;height:20px!important}
#homepage-form .homepage-preview.is-camera-note{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:16px 18px;max-width:800px;color:var(--ink)}
#homepage-form .homepage-preview.is-camera-note .homepage-camera-note{color:var(--ink);font-size:14px;line-height:1.6;overflow-wrap:anywhere}

.builder-save-status{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--ink)}.builder-save-status[data-state=success]{color:var(--gold)}.builder-save-status[data-state=error]{color:#b03b32}.builder-save-status[hidden]{display:none}
/* Keep the new 1..6x height selector compact inside a draggable tile. */
#homepage-form .builder-tile select.builder-height{width:auto;min-width:124px;max-width:145px;flex:0 0 auto;padding:7px 10px;min-height:38px;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;cursor:pointer}
html[data-theme=dark] #homepage-form .builder-tile select.builder-height{background:#203747;color:#e4e8eb;border-color:#506273}
/* Drop targets between homepage tiles and an explicit new row at the bottom. */
#builder-board{position:relative}
#builder-board .builder-insertion-line{position:absolute;height:5px;border-radius:5px;background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,transparent);z-index:6;pointer-events:none}
#builder-new-row{margin-top:14px;min-height:66px;padding:16px;text-align:center;display:grid;place-items:center;border:2px dashed var(--gold);border-radius:9px;color:var(--muted);background:transparent;font-size:14px}
#builder-new-row.drop-target{background:color-mix(in srgb,var(--gold) 14%,transparent);border-style:solid;color:var(--ink);outline:2px solid var(--gold);outline-offset:2px}
#builder-board.is-dragging .builder-tile:not(.dragging){outline-offset:0}

/* News editor publication controls and lightweight text preview. */
.news-editor-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.news-editor-extras>.news-check{grid-column:1/-1;flex-direction:row!important;align-items:center;gap:12px}
.news-editor-extras>small{grid-column:1/-1;color:var(--muted);font-size:12px}
.news-format-tools{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}
.news-format-tools button{padding:7px 10px;border-radius:5px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.news-format-tools button:hover{border-color:var(--gold)}
.news-content-preview{padding:16px 20px;margin:10px 0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.news-content-preview[hidden]{display:none}
.news-content-preview a{color:var(--gold);text-decoration:underline}
.news-content-preview p{margin-bottom:10px}
@media(max-width:650px){.news-editor-extras{grid-template-columns:1fr}}

.news-facebook-config{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;background:var(--paper)}
.news-facebook-config label{flex:1 1 280px;display:grid;gap:5px}
.news-facebook-config input{font:inherit;background:var(--paper);color:var(--ink);padding:9px;border-radius:5px;border:1px solid var(--line);min-width:0;width:100%}
.news-facebook-config small,.news-facebook-config p{flex-basis:100%;margin:0;color:var(--muted)}

/* Visual editorial text — formatting is visible while typing. */
.news-wysiwyg{min-height:230px;max-height:65vh;overflow-y:auto;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;outline:none}
.news-wysiwyg:focus{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 16%,transparent)}
.news-wysiwyg h3{font:inherit;font-size:19px;margin:13px 0 7px}
.news-wysiwyg p{margin:0 0 10px}
.news-wysiwyg ul{padding-left:26px}
.news-wysiwyg a{color:var(--gold);text-decoration:underline}
.news-editor-extras>.news-pin-description{grid-column:1/-1;margin-top:-8px}

/* Word-like complete rich text editor, Quill Snow locally bundled. */
.news-word-toolbar.ql-toolbar.ql-snow{border:1px solid var(--line);border-radius:9px 9px 0 0;background:var(--paper);display:flex;flex-wrap:wrap;gap:6px;padding:11px;align-items:center}
.news-word-toolbar .ql-formats{display:inline-flex;align-items:center;gap:3px;margin-right:4px!important;border-right:1px solid var(--line);padding-right:8px}
.news-word-toolbar .ql-picker{color:var(--ink)}
.news-word-toolbar .ql-stroke{stroke:var(--ink)}
.news-word-toolbar .ql-fill{fill:var(--ink)}
.news-word-toolbar .news-history-button{width:30px;height:29px;font-size:23px;line-height:1;color:var(--ink)}
.news-editor-canvas.ql-container.ql-snow{border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;background:var(--paper);color:var(--ink);font:15px/1.7 Lato,Arial,sans-serif}
.news-editor-canvas .ql-editor{min-height:300px;max-height:65vh;overflow-y:auto;padding:18px 20px;font-size:15px;line-height:1.75}
.news-editor-canvas .ql-editor:focus{outline:2px solid var(--gold);outline-offset:-2px}
.news-editor-canvas .ql-editor h1,.news-editor-canvas .ql-editor h2,.news-editor-canvas .ql-editor h3{font-family:Lato,Arial,sans-serif}
.news-editor-canvas .ql-editor p{margin:0}
.news-editor-preview-actions{margin:10px 0}
#news-editor-status{color:var(--muted);font-size:12px;margin:6px 0 0}
html[data-theme=dark] .news-word-toolbar.ql-toolbar.ql-snow,html[data-theme=dark] .news-editor-canvas.ql-container.ql-snow{background:#192f3d;color:#f2f5f6;border-color:#586f7d}
html[data-theme=dark] .news-word-toolbar .ql-picker{color:#f2f5f6}
html[data-theme=dark] .news-word-toolbar .ql-stroke{stroke:#f2f5f6}
html[data-theme=dark] .news-word-toolbar .ql-fill{fill:#f2f5f6}
html[data-theme=dark] .news-word-toolbar .news-history-button{color:#f2f5f6}

/* Explicit per-file opt-in to the shared parish gallery. */

/* Keep each upload and its gallery decision together. */
#homepage-form .homepage-media-fields{align-items:start;gap:18px 22px}
#homepage-form .homepage-mode{grid-column:1 / -1;max-width:440px;width:100%;flex:none;margin:0}
.homepage-upload-field{display:flex;flex-direction:column;align-self:start;gap:8px;min-width:0}
#homepage-form .homepage-upload-field>label{flex:none;margin:0}
.homepage-video-options[hidden]{display:none}
.homepage-video-options{grid-column:1 / -1}
#homepage-form .homepage-video-options>.homepage-loop{flex:none;margin:0;justify-content:flex-start}
.homepage-saved-materials{margin:16px 0;max-width:900px}
.homepage-saved-materials>summary{color:var(--gold);font-size:14px;cursor:pointer;padding:8px 0}
.homepage-saved-list{display:grid;gap:10px;padding-top:8px}
.homepage-saved-material{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:6px}
.homepage-material-thumb{display:flex;align-items:center;justify-content:center;width:80px;height:60px;object-fit:cover;border-radius:4px;background:var(--paper);color:var(--muted);font-size:12px}
.homepage-material-info{min-width:0}
.homepage-material-name{display:block;font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.homepage-saved-material{grid-template-columns:56px minmax(0,1fr);gap:9px}.homepage-material-thumb{width:56px;height:48px}}

#homepage-form>.editor-actions:has(>#homepage-cancel-video):not(:has(>button:not([hidden]))){display:none}

.homepage-material-delete{margin-top:8px;padding:5px 10px;border:1px solid var(--line);border-radius:5px;color:#b64b3b;background:transparent;font:inherit;font-size:12px}
.homepage-material-delete:hover{border-color:currentColor}


/* PDF creation and reviewed PDF import for Mass intentions. */
.intentions-pdf-tools{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}
.intentions-pdf-tools h3{margin:0 0 6px;font:inherit;font-size:19px}
.intentions-pdf-tools p{margin:0 0 12px;color:var(--muted)}
.intentions-pdf-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1.4fr) auto auto;gap:12px;align-items:end}
.intentions-pdf-controls label:not(.button){display:grid;gap:6px;margin:0}
.intentions-pdf-controls input,.intentions-pdf-controls select,.intentions-import-grid input,.intentions-import-grid select,.intentions-import-grid textarea{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:9px}
.intentions-pdf-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.intentions-pdf-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.intentions-pdf-result{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.intentions-pdf-warnings{margin:0 0 14px;padding-left:22px;color:var(--muted)}
.intentions-import-list{display:grid;gap:14px;margin:14px 0}
.intentions-import-item{padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 94%,var(--gold) 6%)}
.intentions-import-item.is-duplicate{border-style:dashed}
.intentions-import-check{display:flex;flex-direction:row!important;align-items:center;gap:9px;margin:0 0 10px}
.intentions-import-check input{width:auto}
.intentions-duplicate{color:#9a6516!important}
.intentions-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.intentions-import-grid label{display:grid;gap:5px;margin:0}
.intentions-import-wide{grid-column:1/-1}
.intentions-pdf-success{color:var(--ink)!important}
.intentions-import-week,.liturgy-week{margin:16px 0;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 96%,var(--gold) 4%);overflow:hidden}
.intentions-import-week h4,.liturgy-week-heading{margin:0;padding:12px 14px;border-bottom:1px solid var(--line)}
.intentions-import-week h4,.liturgy-week-heading h3{font:inherit;font-size:17px;color:var(--ink)}
.liturgy-week-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.liturgy-week-heading h3{margin:0}
.liturgy-week-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.intentions-table-scroll{max-width:100%;overflow-x:auto}
.intentions-import-table,.liturgy-week-table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}
.liturgy-week-table{min-width:760px}
.intentions-import-table th,.intentions-import-table td,.liturgy-week-table th,.liturgy-week-table td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400}
.intentions-import-table th,.liturgy-week-table th{color:var(--muted);background:color-mix(in srgb,var(--paper) 90%,var(--gold) 10%)}
.intentions-import-table tr:last-child td,.liturgy-week-table tr:last-child td{border-bottom:0}
.intentions-import-table input:not([type=checkbox]),.intentions-import-table select,.intentions-import-table textarea{width:100%;min-width:110px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:7px}
.intentions-import-table textarea{min-width:230px;resize:vertical}
.intentions-import-table tr.is-duplicate{opacity:.68}
.intentions-week-actions{padding:12px 14px;border-top:1px solid var(--line)}
.liturgy-week-list{display:grid;gap:16px;margin-top:18px}
.liturgy-state{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}
.liturgy-state-draft{color:#8b5c15;border-color:#c7a565}
.liturgy-state-published{color:#3d7650;border-color:#82a88d}
html[data-theme=dark] .intentions-pdf-tools,html[data-theme=dark] .intentions-import-item,html[data-theme=dark] .intentions-import-week,html[data-theme=dark] .liturgy-week{background:#192f3d;border-color:#506273}
html[data-theme=dark] .intentions-pdf-controls input,html[data-theme=dark] .intentions-pdf-controls select,html[data-theme=dark] .intentions-import-grid input,html[data-theme=dark] .intentions-import-grid select,html[data-theme=dark] .intentions-import-grid textarea,html[data-theme=dark] .intentions-import-table input:not([type=checkbox]),html[data-theme=dark] .intentions-import-table select,html[data-theme=dark] .intentions-import-table textarea{background:#203747;color:#e4e8eb;border-color:#506273}
@media(max-width:850px){.intentions-pdf-controls{grid-template-columns:1fr 1fr}.intentions-import-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.intentions-pdf-controls,.intentions-import-grid{grid-template-columns:1fr}.intentions-import-wide{grid-column:auto}}

/* Parish-wide settings in the main editorial panel. */
.parish-information-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
#parish-information-form h3:not(:first-child){margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
#parish-information-form textarea{line-height:1.6}
@media(max-width:680px){.parish-information-days{grid-template-columns:1fr}}

/* Documented informational-page photo order and captions. */
.parish-page-images-edit{display:grid;gap:12px}
.parish-page-photo{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--paper)}
.parish-page-photo .editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.parish-page-photo .editor-actions button{min-width:0}
.parish-page-photo label{margin-bottom:8px}
.history-editor-list{display:grid;gap:16px;margin:16px 0}
.history-editor-row{border:1px solid var(--line);border-radius:8px;padding:15px;display:grid;gap:10px}
.history-editor-row textarea,.history-editor-row select{width:100%;max-width:100%;min-width:0}
/* The editor preview shares History's public row proportions. */
#static-page-preview-text .history-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;margin:20px 0}
#static-page-preview-text .history-row-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#static-page-preview-text .history-row-reverse .history-image-static{grid-column:2;grid-row:1}
#static-page-preview-text .history-row-reverse .history-row-text{grid-column:1;grid-row:1}
#static-page-preview-text .history-image-static{padding:0;border:0;background:none;cursor:zoom-in}
#static-page-preview-text .history-image-static img{width:100%;height:auto;max-height:520px;object-fit:contain}
@media(max-width:650px){#static-page-preview-text .history-row,#static-page-preview-text .history-row-reverse{display:flex;flex-direction:column}#static-page-preview-text .history-row .history-image-static{width:100%}}

.history-editor-add{display:block;width:100%;min-height:52px;margin:14px 0 8px;border:1px solid var(--gold);background:var(--header-bg);color:var(--ink);font-size:18px}
.history-editor-title{margin:8px 0}

/* Confirmation stays next to each save action throughout the editor. */
.cms-save-feedback{display:inline-block;vertical-align:middle;margin:8px 0 8px 12px;padding:7px 11px;border:1px solid var(--line);border-radius:6px;max-width:100%;overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.45}
.cms-save-feedback[data-state="error"]{border-color:#b03b32;color:#b03b32}
.cms-save-feedback[data-state="working"]{color:var(--muted)}
@media(max-width:650px){.cms-save-feedback{display:block;margin:8px 0 10px}}

#static-page-preview-text .history-row-date{font-size:clamp(19px,1.7vw,25px);font-weight:400;line-height:1.35;margin:0 0 14px;color:var(--ink)}

.history-source-edit{margin:26px 0 20px;padding:15px;border:1px solid var(--line);border-radius:8px}
.history-source-edit summary{cursor:pointer;font-size:18px}
.history-source-edit textarea{display:block;width:100%;min-width:0;min-height:280px;margin-top:10px;line-height:1.6}
