/* Katholon 3.81.0-r1 — Google Maps canonical layout; MB06 removes conflicting editorial grids. */
.mass-map-page-255,.mass-map-page-384{width:100%;max-width:none;margin:0;padding:0;background:#fbf4e8;color:#321216}
.mass-map-page-255 :where(*):not(#tlm-google-map-3804 *){box-sizing:border-box}
.mass-map-hero-255{position:relative;overflow:hidden;padding:clamp(1.2rem,2.8vw,2.6rem) clamp(1rem,3vw,2.2rem);background:linear-gradient(135deg,#5d0812,#8e1420 48%,#d6b26e);color:#fff}
.mass-map-hero-255:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 24%,rgba(255,224,157,.18),transparent 33%);pointer-events:none}
.mass-map-hero-grid-3722,.mass-map-hero-grid-383{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);gap:1.2rem;align-items:center;width:97%;max-width:none;margin-inline:auto}
.mass-map-hero-255 .eyebrow,.mass-map-submit-launch-384 .eyebrow{margin:0 0 .5rem;color:#ffe4a3;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.mass-map-hero-255 h1{margin:.1rem 0 .65rem;font-size:clamp(2.15rem,4.5vw,4.6rem);line-height:1.02}
.mass-map-hero-255 p{max-width:1180px;margin:.45rem 0;font-size:1.05rem;line-height:1.7}
.mass-map-hero-image-3722,.mass-map-hero-image-383{overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.26);border-radius:18px;background:#3b0a0d;box-shadow:0 18px 44px rgba(0,0,0,.22)}
.mass-map-hero-image-3722 img,.mass-map-hero-image-383 img{display:block;width:100%;height:clamp(300px,31vw,515px);object-fit:cover;object-position:center 50%}
.mass-map-hero-image-3722 figcaption,.mass-map-hero-image-383 figcaption{padding:.55rem .75rem;color:#f8e5c6;font-size:.82rem;line-height:1.45}
.mass-map-coverage-3722,.mass-map-coverage-383{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:.65rem;max-width:1050px;margin-top:1.15rem}
.mass-map-stat-3722{padding:.72rem .82rem;border:1px solid rgba(255,255,255,.23);border-radius:13px;background:rgba(54,5,10,.28)}
.mass-map-stat-3722 strong{display:block;font-size:1.35rem}.mass-map-stat-3722 span{display:block;color:#ffe7b1;font-size:.78rem;line-height:1.3}
.mass-map-legend-3722,.mass-map-legend-383{display:flex;gap:.65rem;flex-wrap:wrap;margin:.85rem 0 0}
.mass-map-legend-3722 span,.mass-map-legend-383 span{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .55rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(44,4,9,.18);font-size:.84rem}
.mass-map-legend-3722 i,.mass-map-legend-383 i{width:11px;height:11px;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:var(--pin)}

.mass-map-toolbar-255,.mass-map-toolbar-384{position:sticky;top:0;z-index:500;display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(4,minmax(150px,.55fr));gap:.7rem;width:100%;padding:1rem clamp(1rem,2.4vw,2rem);border-bottom:1px solid rgba(94,42,28,.18);background:rgba(255,248,237,.97);box-shadow:0 7px 20px rgba(51,19,13,.08);backdrop-filter:blur(8px)}
.mass-map-toolbar-255 input,.mass-map-toolbar-255 select,.mass-map-toolbar-384 input,.mass-map-toolbar-384 select{width:100%;min-width:0;padding:.8rem 1rem;border:1px solid rgba(94,42,28,.24);border-radius:999px;background:#fff;color:#321216;font:inherit}
.mass-map-toolbar-255 input:focus,.mass-map-toolbar-255 select:focus,.mass-map-toolbar-384 input:focus,.mass-map-toolbar-384 select:focus{outline:3px solid rgba(139,16,27,.16);border-color:#8b101b}

.mass-map-grid-255{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,450px);gap:0;width:100%;min-width:0;margin:0;padding:0;--tlm-map-height:max(620px,calc(100dvh - 150px))}
#tlm-google-map-3804{position:relative;z-index:1;width:100%;min-width:0;height:var(--tlm-map-height,max(620px,calc(100vh - 150px)));padding:0;margin:0;overflow:hidden;background:#e5e7eb}
.mass-map-provider-error-384{display:grid;height:100%;min-height:0;padding:2rem;place-content:center;text-align:center;background:linear-gradient(135deg,#ede1cf,#fff8ed)}
.mass-map-provider-error-384 h2{margin:.2rem 0;color:#74111a}.mass-map-provider-error-384 p{max-width:620px;line-height:1.6}
.mass-map-side-255{height:var(--tlm-map-height,max(620px,calc(100vh - 150px)));min-width:0;min-height:0;overflow:auto;padding:1rem;border-left:1px solid rgba(94,42,28,.18);background:#fffdf8;scrollbar-gutter:stable}
.mass-map-count-255{display:block;margin-bottom:.75rem;color:#7c101a;font-weight:900}.mass-map-count-detail-3722{display:block;margin:-.45rem 0 .85rem;color:#6b5542;font-size:.82rem;line-height:1.45}

.mass-location-card-255{padding:.85rem .9rem;margin:.65rem 0;border:1px solid rgba(94,42,28,.16);border-left:5px solid var(--community-color,#7c101a);border-radius:16px;background:#fff8ed;box-shadow:0 10px 20px rgba(45,19,9,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.mass-location-card-255:hover,.mass-location-card-255:focus-within,.mass-location-card-255.is-active-384{transform:translateY(-1px);border-color:var(--community-color);box-shadow:0 12px 28px rgba(45,19,9,.13)}
.mass-location-card-255 strong{display:block;color:#4e0b12;font-size:1.02rem;line-height:1.25}.mass-location-card-255 span{display:block;margin:.2rem 0;color:#5c4631;font-size:.91rem}
.mass-location-card-255 .badge{display:inline-flex;margin:.2rem .25rem .25rem 0;padding:.18rem .48rem;border-radius:999px;background:var(--community-color,#8c111d);color:#fff;font-size:.73rem;font-weight:800}.mass-location-card-255 .badge.approximate-384{border:1px dashed currentColor;background:#fff;color:#765d48}
.mass-location-card-255 .coordinate-note-3722{font-size:.76rem;color:#796d62}.mass-location-card-255 .mass-card-actions-384{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.48rem}
.mass-location-card-255 a,.mass-location-card-255 button{display:inline-flex;padding:.38rem .58rem;border:1px solid rgba(124,16,26,.18);border-radius:999px;background:#fff;color:#8c111d;font:inherit;font-size:.82rem;font-weight:800;text-decoration:none;cursor:pointer}
.mass-location-card-255 .mass-card-actions-384 .primary-384{background:var(--community-color,#7c101a);color:#fff}
.mass-location-card-255[data-category="Diocesan / approved"]{--community-color:#216b3d}.mass-location-card-255[data-category="Ecclesia Dei institutes"]{--community-color:#9a6a12}.mass-location-card-255[data-category="FSSPX / SSPX"]{--community-color:#7c101a}.mass-location-card-255[data-category="Other"]{--community-color:#67547d}
.mass-map-load-more-384{display:block;width:100%;margin:1rem 0;padding:.72rem;border:1px solid rgba(124,16,26,.22);border-radius:999px;background:#fff4e5;color:#74111a;font:inherit;font-weight:900;cursor:pointer}

/* Google InfoWindows: concise hover popup and fuller click popup. */
.tlm-hover-popup-384{max-width:285px;padding:.05rem;color:#331616}.tlm-hover-popup-384 strong{display:block;margin-bottom:.2rem;color:#6f1019;font-size:.94rem}.tlm-hover-popup-384 span,.tlm-hover-popup-384 em{display:block;margin:.08rem 0;font-size:.78rem;line-height:1.35}.tlm-hover-popup-384 em{margin-top:.25rem;color:#79624f;font-size:.71rem}
.tlm-click-popup-384{min-width:245px;max-width:360px}.tlm-click-popup-384 h3{margin:0 0 .42rem;color:#6f1019;font-size:1.05rem}.tlm-click-popup-384 dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .55rem;margin:.45rem 0}.tlm-click-popup-384 dt{font-size:.76rem;font-weight:900;color:#6d5542}.tlm-click-popup-384 dd{margin:0;font-size:.8rem}.tlm-click-popup-384 .pin-note-384{padding:.42rem .5rem;border-radius:9px;background:#f5ead8;color:#705d4b;font-size:.74rem;line-height:1.4}.tlm-popup-actions-384{display:flex;gap:.42rem;flex-wrap:wrap;margin-top:.55rem}.tlm-popup-actions-384 a{display:inline-flex;padding:.38rem .58rem;border-radius:999px;background:#7c101a;color:#fff!important;font-size:.76rem;font-weight:900;text-decoration:none}.tlm-popup-actions-384 a.secondary-384{background:#f1e2ca;color:#6f1019!important}

.mass-map-before-travel-383{width:97%;max-width:none;margin:1.25rem auto}.mass-map-before-travel-383 .mass-map-note-255{padding:1.15rem 1.3rem;border:1px solid rgba(94,42,28,.16);border-radius:18px;background:#fffdf8;box-shadow:0 10px 26px rgba(64,27,17,.05);font-size:.92rem;line-height:1.6}.mass-map-before-travel-383 h2{margin:.05rem 0 .35rem;color:#6f1019}
.mass-map-submit-launch-384{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;width:97%;margin:1.25rem auto;padding:1rem 1.25rem;border:1px solid rgba(94,42,28,.16);border-radius:18px;background:linear-gradient(135deg,#fffdf8,#f6e7d0);box-shadow:0 10px 26px rgba(64,27,17,.05)}
.mass-map-submit-launch-384 .eyebrow{color:#8a151f}.mass-map-submit-launch-384 h2{margin:.08rem 0 .28rem;color:#501019;font-size:1.35rem}.mass-map-submit-launch-384 p{max-width:900px;margin:.15rem 0;line-height:1.55}.mass-map-submit-launch-384 button{flex:0 0 auto;padding:.72rem 1rem;border:0;border-radius:999px;background:#7d111b;color:#fff;font:inherit;font-weight:900;cursor:pointer}
.mass-map-submit-dialog-384{width:min(960px,94vw);max-height:90vh;padding:0;border:0;border-radius:22px;background:#fffaf2;color:#321216;box-shadow:0 28px 90px rgba(20,5,5,.36)}.mass-map-submit-dialog-384::backdrop{background:rgba(30,8,10,.66);backdrop-filter:blur(3px)}
.mass-map-submit-dialog-shell-384{position:relative;max-height:90vh;overflow:auto;padding:clamp(1rem,2.5vw,2rem)}.mass-map-submit-close-384{position:absolute;top:.65rem;right:.75rem;width:38px;height:38px;border:0;border-radius:50%;background:#721019;color:#fff;font:700 1.5rem/1 sans-serif;cursor:pointer}
.mass-map-submit-intro-383 .eyebrow{margin:0 0 .35rem;color:#8a151f;font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.mass-map-submit-intro-383 h2{margin:.15rem 0 .6rem;padding-right:2.5rem;color:#501019;font-size:clamp(1.65rem,2.8vw,2.6rem)}.mass-map-submit-intro-383 p{line-height:1.65}.mass-map-submit-privacy-383{font-size:.86rem;color:#6f5a47}
.mass-map-submission-form-383{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.mass-map-submission-form-383 label{display:grid;gap:.28rem;color:#4d291e;font-size:.83rem;font-weight:800}.mass-map-submission-form-383 input,.mass-map-submission-form-383 select,.mass-map-submission-form-383 textarea{width:100%;padding:.72rem .82rem;border:1px solid rgba(94,42,28,.22);border-radius:12px;background:#fff;color:#321216;font:inherit;font-weight:400}.mass-map-submission-form-383 input:focus,.mass-map-submission-form-383 select:focus,.mass-map-submission-form-383 textarea:focus{outline:3px solid rgba(151,25,37,.18);border-color:#8b101b}.mass-map-submission-form-383 .form-span-2{grid-column:1/-1}.mass-map-honeypot-383{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.mass-map-submit-actions-383{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.mass-map-submit-actions-383 button{padding:.72rem 1.05rem;border:0;border-radius:999px;background:#7d111b;color:#fff;font:inherit;font-weight:900;cursor:pointer}.mass-map-submit-actions-383 button[disabled]{opacity:.55;cursor:wait}.mass-map-submit-actions-383 p{margin:0;font-size:.9rem}.mass-map-submit-actions-383 [data-state="success"]{color:#216b3d}.mass-map-submit-actions-383 [data-state="error"]{color:#9a1521}

@media(max-width:1120px){.mass-map-hero-grid-3722,.mass-map-hero-grid-383{grid-template-columns:1fr}.mass-map-hero-image-3722,.mass-map-hero-image-383{max-width:none}.mass-map-hero-image-3722 img,.mass-map-hero-image-383 img{height:clamp(280px,52vw,500px)}.mass-map-coverage-3722,.mass-map-coverage-383{grid-template-columns:repeat(2,minmax(145px,1fr))}}
@media(max-width:980px){.mass-map-toolbar-255,.mass-map-toolbar-384{grid-template-columns:1fr 1fr}.mass-map-grid-255{grid-template-columns:minmax(0,1fr);--tlm-map-height:max(480px,70dvh)}.mass-map-side-255{height:auto;min-height:0;max-height:780px;border-top:1px solid rgba(94,42,28,.18);border-left:0}}
@media(max-width:650px){.mass-map-hero-grid-3722,.mass-map-hero-grid-383,.mass-map-grid-255,.mass-map-before-travel-383,.mass-map-submit-launch-384{width:100%}.mass-map-toolbar-255,.mass-map-toolbar-384{position:static;grid-template-columns:1fr}.mass-map-coverage-3722,.mass-map-coverage-383{grid-template-columns:1fr 1fr}.mass-map-hero-255{padding:1.2rem .8rem}.mass-map-grid-255{--tlm-map-height:max(420px,62dvh)}.mass-map-submit-launch-384{align-items:flex-start;flex-direction:column;border-radius:0;border-inline:0}.mass-map-submission-form-383{grid-template-columns:1fr}.mass-map-submission-form-383 .form-span-2{grid-column:auto}}


/* R1: selected venue details live only inside Google InfoWindows; the directory starts immediately. */
.mass-map-side-255{contain:layout paint style}
.mass-location-card-255{content-visibility:auto;contain-intrinsic-size:210px}
@media(prefers-reduced-motion:reduce){.mass-location-card-255{transition:none!important}}

/* Katholon 3.81.0-R1 audit and static-coordinate refinements */
.mass-map-page-3810 .mass-map-audit-status-3810{width:97%;margin:.6rem auto;padding:.65rem 1rem;border:1px solid rgba(94,42,28,.18);border-radius:12px;background:#fff8ed;color:#5b241f;font-size:.86rem}
.mass-map-audit-status-3810[hidden]{display:none!important}
.mass-map-page-3810 .mass-location-card-255[data-coordinate-precision="static-locality-fallback"]{border-style:dashed}
.mass-map-page-3810 #tlm-google-map-3804[data-audit-placeholder]{display:grid;place-content:center;text-align:center;padding:2rem;background:linear-gradient(135deg,#e9dfcf,#fff8ed);color:#6f1019}

/* Source details belong to each canonical directory record. */
.mass-location-card-255 .mass-schedule-93{line-height:1.55;white-space:normal}.mass-location-card-255 .mass-source-93{display:block;color:#657079;font-size:11px;line-height:1.4;margin:5px 0}.mass-map-fssp-93{margin:14px 0 20px;padding:14px 18px;border-left:3px solid #9a6a12;background:#faf6ec;color:#394b58;font:14px/1.65 Georgia,serif}.mass-map-fssp-93 a{color:inherit;text-decoration:underline}

/* HM2 color picker: the same colors as CATEGORY_COLOURS and Google map markers. */
.community-picker-hm2{position:relative;min-width:0;width:100%;z-index:30}
.community-trigger-hm2{display:flex!important;align-items:center;gap:.65rem;width:100%;min-height:46px;max-width:100%;padding:.65rem 2rem .65rem .75rem!important;text-align:left;border:1px solid #cbbda5!important;background:#fff!important;color:#382f28!important;border-radius:999px;position:relative;font:inherit!important}
.community-trigger-hm2>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.community-trigger-hm2:after{content:'▾';position:absolute;right:.7rem;color:#74582c}
.community-swatches-hm2{display:flex;gap:3px;flex:none;align-items:center}
.community-swatches-hm2 i{width:10px;height:10px;border-radius:50%;display:block;box-shadow:0 0 0 1px #0002}
.community-options-hm2{position:absolute;top:calc(100% + 5px);left:0;width:max(100%,300px);max-width:min(460px,84vw);max-height:360px;overflow:auto;background:#fffdf9;box-shadow:0 12px 28px #33200c30;border:1px solid #c9b697;border-radius:10px;padding:5px;z-index:80;box-sizing:border-box}
.community-options-hm2[hidden]{display:none}
.community-options-hm2 [role=option]{display:flex;align-items:center;gap:.7rem;padding:.65rem .7rem;border-radius:6px;color:#382f28;font-size:.85rem;line-height:1.4;cursor:pointer}
.community-options-hm2 [role=option].is-focused{background:#f1e5cf;outline:1px solid #c09a59}
.community-options-hm2 [role=option][aria-selected=true]{font-weight:700;background:#f3e6dc}
.community-options-hm2 [role=option][aria-selected=true]:after{content:'✓';margin-left:auto;color:#771d28}
.mass-map-toolbar-255{overflow:visible!important}
@media(min-width:981px){.mass-map-toolbar-255{grid-template-columns:minmax(220px,1fr) minmax(140px,.55fr) minmax(150px,.55fr) minmax(290px,.9fr) minmax(150px,.55fr)}}
.mass-accuracy-hm2{width:92%;margin:.6rem auto;font-size:.8rem;color:#665d51}
.mass-accuracy-hm2 summary{cursor:pointer}
[data-hm2-precision]{margin:.6rem 0;font-size:.8rem;line-height:1.6;color:#665d51;max-width:100%}
