/* MissaMap shared presentation. Brand and map runtime artwork are not restyled. */
:root {
  --ed-paper:#f9f8f5; --ed-ink:#202f3b; --ed-muted:#63706e; --ed-line:#d9ddd4;
  --ed-wine:#792638; --ed-green:#2d493f; --ed-gold:#967540;
  --ed-serif:Georgia,'Noto Serif KR','Nanum Myeongjo',Batang,'Yu Mincho',serif;
  --mm-bg:#fff; --mm-bg-soft:#f9f8f5; --mm-ink-900:#202f3b; --mm-ink-700:#44524f;
  --mm-ink-600:#586761; --mm-ink-500:#68746c; --mm-navy-900:#202f3b; --mm-navy-800:#2d493f;
  --mm-navy-700:#37594e; --mm-navy-100:#e7ece6; --mm-navy-50:#f2f4ee;
  --mm-line-200:#e5e7df; --mm-line-300:#c5cbbf; --mm-sky-100:#f0f2eb;
  --mm-burgundy-600:#792638; --mm-burgundy-700:#5f1d2b; --mm-burgundy-50:#f8eff0;
  --mm-gold-600:#967540; --mm-gold-500:#b69351; --mm-focus:#9a7954;
  --mm-radius-sm:5px; --mm-radius-md:7px; --mm-radius-lg:9px;
  --mm-shadow-sm:0 2px 6px #24342805; --mm-shadow-md:0 5px 18px #24342809;
  --mm-bottom-height:68px;
}
html {scroll-padding-top:96px}
body:is(.mm-home,.mm-site) {background:var(--ed-paper);color:var(--ed-ink);font-size:15px;line-height:1.75}
body:is(.mm-home,.mm-site) [hidden] {display:none!important}
body:is(.mm-home,.mm-site) :focus-visible {outline:2px solid #977442;outline-offset:4px}
body:is(.mm-home,.mm-site) :is(button,a,select) {touch-action:manipulation}
body:is(.mm-home,.mm-site) :is(button,input,select,textarea) {font-family:inherit}
body:is(.mm-home,.mm-site) a {text-underline-offset:4px}
body:is(.mm-home,.mm-site) .container {width:min(100% - 96px,1248px);margin-inline:auto}
body:is(.mm-home,.mm-site) .site-header {position:sticky;top:0;z-index:40;border-bottom:1px solid var(--ed-line);background:#f9f8f5f5;backdrop-filter:blur(12px);box-shadow:none}
body:is(.mm-home,.mm-site) .header-inner {display:flex;align-items:center;min-height:82px;gap:22px}
body:is(.mm-home,.mm-site) .brand {display:flex;align-items:center;min-height:44px;flex:0 0 auto;text-decoration:none}
body:is(.mm-home,.mm-site) .brand img {display:block;width:148px;height:auto}
body:is(.mm-home,.mm-site) .brand-tagline {display:none}
body:is(.mm-home,.mm-site) .desktop-nav {display:flex;align-items:center;gap:7px;margin-left:auto}
body:is(.mm-home,.mm-site) .desktop-nav a {display:flex;align-items:center;gap:6px;min-height:46px;padding:8px;border:0;border-bottom:1px solid transparent;color:#4d5856;font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap;border-radius:0;background:transparent}
body:is(.mm-home,.mm-site) .desktop-nav a img {width:16px;height:16px;opacity:.75;object-fit:contain}
body:is(.mm-home,.mm-site) .desktop-nav a:hover,body:is(.mm-home,.mm-site) .desktop-nav a.is-current {color:var(--ed-wine);border-bottom-color:var(--ed-wine);background:transparent}
body:is(.mm-home,.mm-site) .header-actions {display:flex;align-items:center;gap:10px;margin-left:12px}
body:is(.mm-home,.mm-site) .header-search,body:is(.mm-home,.mm-site) .icon-button,body:is(.mm-home,.mm-site) .menu-toggle {display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:5px;cursor:pointer;flex-shrink:0}
body:is(.mm-home,.mm-site) .header-search img,body:is(.mm-home,.mm-site) .menu-toggle img {width:21px;height:21px}
body:is(.mm-home,.mm-site) .icon-button img {width:23px;height:23px}
body:is(.mm-home,.mm-site) .header-search:hover,body:is(.mm-home,.mm-site) .icon-button:hover,body:is(.mm-home,.mm-site) .menu-toggle:hover {background:#ecefe6}
body:is(.mm-home,.mm-site) .language-control {display:inline-flex;align-items:center;gap:5px;min-height:44px}
body:is(.mm-home,.mm-site) .language-icon {width:16px;height:16px;opacity:.8}
body:is(.mm-home,.mm-site) .language-control select {min-height:44px;max-width:112px;padding:6px;border:0;border-radius:4px;color:#43554e;background:transparent;font-size:11px;font-weight:500}
body:is(.mm-home,.mm-site) .login-link {display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:42px;min-width:80px;padding:8px 14px;background:transparent;border:1px solid #bbc3b8;border-radius:5px;color:#263f35!important;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;transform:none}
body:is(.mm-home,.mm-site) .login-link img {width:17px;height:17px;filter:none}
body:is(.mm-home,.mm-site) .login-link:hover {background:#ecf0e7;transform:none}
body:is(.mm-home,.mm-site) .menu-toggle {display:none}
body:is(.mm-home,.mm-site) .menu-dialog {position:fixed;inset:0 0 0 auto;width:min(410px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:27px;border:0;border-left:1px solid #d7ddd0;border-radius:0;background:var(--ed-paper);color:var(--ed-ink);box-shadow:-12px 0 60px #0c26282a;overflow:auto}
body:is(.mm-home,.mm-site) .menu-dialog::backdrop {background:#13232180;backdrop-filter:blur(3px)}
body:is(.mm-home,.mm-site) .menu-head {display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ed-line);padding-bottom:20px}
body:is(.mm-home,.mm-site) .menu-head strong {font:600 26px Georgia,serif;display:block}
body:is(.mm-home,.mm-site) .menu-head span {display:block;font-size:11px;color:var(--ed-muted);margin-top:4px}
body:is(.mm-home,.mm-site) .mobile-nav {display:grid;margin:20px 0}
body:is(.mm-home,.mm-site) .mobile-nav a {display:flex;align-items:center;min-height:54px;padding:10px 2px;border-bottom:1px solid var(--ed-line);font-size:15px;color:var(--ed-ink);text-decoration:none}
body:is(.mm-home,.mm-site) .mobile-nav a:hover {color:var(--ed-wine)}
body:is(.mm-home,.mm-site) .site-footer {border-top:1px solid var(--ed-line);background:#f2f3ed;padding:40px 0 22px}
body:is(.mm-home,.mm-site) .footer-main {display:flex;align-items:center;justify-content:space-between;gap:32px}
body:is(.mm-home,.mm-site) .footer-brand {display:flex;flex-direction:column;gap:10px;flex-shrink:0;text-decoration:none;color:#647169}
body:is(.mm-home,.mm-site) .footer-brand img {width:143px;height:auto}
body:is(.mm-home,.mm-site) .footer-brand span {font-size:10px}
body:is(.mm-home,.mm-site) .footer-nav {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px 18px;max-width:650px}
body:is(.mm-home,.mm-site) .footer-nav a {display:inline-flex;align-items:center;min-height:40px;color:#536459;font-size:11px;text-decoration:none}
body:is(.mm-home,.mm-site) .footer-nav a:hover {text-decoration:underline}
body:is(.mm-home,.mm-site) .footer-meta {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:17px;border-top:1px solid var(--ed-line);color:#657166;font-size:10px}
body:is(.mm-home,.mm-site) .footer-meta p {margin:0}
body:is(.mm-home,.mm-site) .footer-meta a {color:inherit}
.mm-bottom-nav {display:none}
.mm-ui-icon {display:inline-block;object-fit:contain;vertical-align:-.18em;flex-shrink:0}
body:is(.mm-home,.mm-site) :is(.mm-btn,.pt-btn) {min-height:44px;gap:8px;border-radius:5px;padding:10px 17px;line-height:1.45;white-space:normal;text-align:center;align-items:center;justify-content:center;font-size:13px;box-shadow:none}
body:is(.mm-home,.mm-site) .mm-btn-primary {background:var(--ed-wine);border-color:var(--ed-wine);color:white}
body:is(.mm-home,.mm-site) .mm-btn-primary:hover {background:#5e1b2a;border-color:#5e1b2a}
body:is(.mm-home,.mm-site) .mm-btn-primary img {filter:brightness(0) invert(1)}
body:is(.mm-home,.mm-site) .mm-btn-secondary {background:#fff;border-color:#c0c9bb;color:#294238}
body:is(.mm-home,.mm-site) :is(.mm-input,.mm-select,.mm-textarea) {border-color:#bbc5b6;border-radius:5px;min-height:46px;background:#fff}
body:is(.mm-home,.mm-site) :is(.mm-page-header h1,.directory-hero h1,.place-hero h1,.mm-member-title) {font-family:var(--ed-serif);font-weight:600;letter-spacing:-.045em;line-height:1.4;color:var(--ed-ink)}
.mm-page,.directory-shell,.place-shell {padding-top:48px;padding-bottom:64px}
.mm-page-header {border-color:var(--ed-line);margin-bottom:28px;padding-bottom:24px}
.mm-page-lede {font-size:14px;color:var(--ed-muted)}
.mm-page-content {font-size:15px;line-height:1.9;overflow-wrap:anywhere}
/* Pilgrimage: one illustrated introduction, then actual walking routes. */
body .mm-page-pilgrimage {max-width:1120px}
body .mm-page-pilgrimage .mm-page-header {display:grid;grid-template-columns:1fr .75fr;gap:14px 60px;align-content:center;position:relative;isolation:isolate;min-height:350px;padding:40px 42px;margin:0 0 38px;border:1px solid #d9dfd1;border-radius:7px;background:#f0f1e8;overflow:hidden}
.mm-page-pilgrimage .mm-page-header::after {position:absolute;z-index:-1;inset:0 0 0 57%;background:url('pilgrimage/missamap-neighborhood-pilgrimage.webp') center/cover;content:''}
body .mm-page-pilgrimage .mm-page-header h1 {grid-column:1;margin:0;font-size:39px}
body .mm-page-pilgrimage .mm-page-header>p {grid-column:1;margin:0}
body .mm-page-pilgrimage .mm-page-lede {font-size:14px;line-height:1.9;max-width:460px}
body .mm-page-pilgrimage .mm-page-header .mm-btn {margin-top:8px}
body .mm-pilgrimage-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;counter-reset:routes}
body .mm-pilgrimage-card {position:relative;padding:28px;border:1px solid var(--ed-line);border-radius:6px;box-shadow:none;counter-increment:routes;background:#fff}
.mm-pilgrimage-card::before {content:'0' counter(routes);display:block;font:italic 34px Georgia,serif;color:#9d7a45;margin-bottom:20px}
body .mm-pilgrimage-card>a {display:block;min-height:44px;font-size:20px;font-weight:600;color:var(--ed-ink);text-decoration:none;line-height:1.5}
.mm-pilgrimage-card>a:hover {text-decoration:underline}
body .mm-pilgrimage-meta {font-size:12px;color:#586a5e}
body .mm-pilgrimage-card p {font-size:13px;line-height:1.9;color:#627163}
.mm-pilgrimage-detail .mm-page-header {background:transparent;border:0;border-bottom:1px solid #b9c4b3;border-radius:0;padding:0 0 32px}
.mm-pilgrimage-detail .mm-pilgrimage-description {font-size:15px;line-height:1.9}
body .mm-pilgrimage-stops ol {padding:0;list-style:none;border-left:1px solid #b8c5b0;margin-left:12px}
body .mm-pilgrimage-stops li {position:relative;padding:22px 26px;border:0;border-bottom:1px solid #e0e5d9;border-radius:0;background:transparent;margin:0}
.mm-pilgrimage-stops li::before {position:absolute;left:-5px;top:32px;width:9px;height:9px;border:2px solid var(--ed-paper);border-radius:50%;background:var(--ed-wine);box-shadow:0 0 0 1px var(--ed-wine);content:''}
.mm-pilgrimage-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mm-pilgrimage-actions button {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 19px;border:1px solid #b5c2b0;border-radius:5px;background:white;cursor:pointer}
/* Directory: keep the actual seal and efficient live filters. */
body .directory-hero {border:0;border-bottom:1px solid #bdc6b6;border-radius:0;padding:12px 0 30px;background:none;box-shadow:none;gap:30px}
body .directory-hero h1 {font-size:44px}
body .directory-seal-figure {background:transparent;border:0;box-shadow:none;padding:0}
body .directory-contact {background:transparent;border:0;border-bottom:1px solid var(--ed-line);border-radius:0;padding:22px 0;gap:24px}
body .directory-tools {border:1px solid var(--ed-line);border-radius:6px;box-shadow:none;background:#f0f3eb;padding:25px}
body .directory-search-input {min-height:46px;border-radius:5px;border-color:#b3c0ab}
body .directory-filter-chip {min-height:40px;border-radius:5px;background:#fff;border-color:#c8d0c1;font-size:12px}
body .directory-filter-chip[aria-current=true] {background:#2d493f;border-color:#2d493f;color:#fff}
body .directory-category-section {border:0;border-top:1px solid #c4cdbd;border-radius:0;padding-top:24px;background:transparent;box-shadow:none}
body .directory-list a {min-height:48px;border-radius:3px;font-size:13px;background:white;border-color:#e0e5d9}
/* Place information: strongest emphasis belongs to the next Mass. */
body .place-hero {border:0;border-bottom:1px solid #bdc7b7;border-radius:0;background:transparent;box-shadow:none;padding:22px 0 30px}
body .place-hero h1 {font-size:42px}
body .place-section-nav ul {gap:4px 12px}
body .place-section-nav a {padding:7px 4px;border:0;border-bottom:1px solid #cbd1c3;border-radius:0;background:transparent;font-size:12px;font-weight:500}
body .place-primary>section.next-mass-panel {padding:28px;border:1px solid #d7ddcf;border-top:3px solid var(--ed-wine);border-radius:6px;box-shadow:none}
body .mass-time {font:500 46px/1.3 Georgia,serif;color:var(--ed-wine)}
body .place-sidebar>section,body .place-sidebar>details {border-radius:6px;box-shadow:none;padding:20px;border-color:var(--ed-line)}
/* Place detail: keep the practical information rail visually connected. */
body .place-sidebar {gap:0}
body .place-sidebar>section,body .place-sidebar>details {border-radius:0;box-shadow:none}
body .place-sidebar>*+* {border-top-width:0}
body .place-sidebar>*:first-child {border-top-left-radius:6px;border-top-right-radius:6px}
body .place-sidebar>*:last-child {border-bottom-left-radius:6px;border-bottom-right-radius:6px}
body .save-place-action {display:block;margin:20px 0 0;padding:16px 18px;border:1px solid var(--ed-line);border-left:3px solid var(--ed-wine);border-radius:6px;background:#f0f3eb}
body .location-map-attribution {display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:14px 0 0}
body .location-map-attribution>a:first-child {min-width:0;color:var(--ed-muted);font-size:12px;line-height:1.5}
body .location-map-attribution .map-open-link {flex:0 0 auto}
body .location-map-section>summary,body .parking-section>summary,body .facility-verification-panel>summary {display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:var(--ed-green);font-size:13px;font-weight:650;line-height:1.45}
body .location-map-section>summary::-webkit-details-marker,body .parking-section>summary::-webkit-details-marker,body .facility-verification-panel>summary::-webkit-details-marker {display:none}
body .information-details>summary {min-height:44px;padding:9px 0;line-height:1.45}
body .passport-place-entry {display:grid;gap:10px}
body .passport-place-prompt {margin:0;font-weight:650}
body .passport-place-actions {display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body .passport-place-actions a,body .passport-place-actions button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #c5cbbf;border-radius:5px;background:#fff;color:var(--ed-green);font:inherit;font-size:13px;font-weight:650;line-height:1.45;text-decoration:none;cursor:pointer}
body .passport-place-actions a:hover,body .passport-place-actions a:focus-visible,body .passport-place-actions button:hover:not(:disabled),body .passport-place-actions button:focus-visible {border-color:var(--ed-green);background:#f2f4ee}
body #record-passport {border-color:var(--ed-wine);background:var(--ed-wine);color:#fff}
body #record-passport:hover,body #record-passport:focus-visible {border-color:var(--ed-wine);background:#5f1d2b;color:#fff}
body .passport-place-login-note {margin:0;color:var(--ed-muted);font-size:12px}
body .passport-place-results {min-height:1.4em}
body .mm-member-save-message {margin:0;color:var(--ed-green);font-size:12px}
body .mm-member-save-message[data-tone="error"] {color:#8b2f2f}
body .contribution-status-line {display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:16px 0 0;color:var(--ed-muted);font-size:13px}
body .contribution-status-dot {width:7px;height:7px;border-radius:50%;background:var(--ed-green);flex:0 0 auto}
body .contribution-status-line[data-quality="stale"] .contribution-status-dot {background:var(--ed-gold)}
body .contribution-status-line[data-quality="unverified"] .contribution-status-dot,body .contribution-status-line[data-quality="unknown"] .contribution-status-dot {background:#8b6b3d}
body .contribution-status-line strong {color:var(--ed-ink);font-weight:650}
body .contribution-status-meta:before {content:'·';margin-right:10px;color:#aeb6aa}
body .place-article>#photos,body .place-article>.information-details,body .place-article>.diocese-section,body .place-article>#contribute {max-width:46rem}
body .place-article>#photos,body .place-article>.diocese-section {margin-top:32px;padding-top:28px;border-top:1px solid var(--ed-line)}
body .place-article>.information-details {margin-top:20px;padding:16px 18px;border:1px solid var(--ed-line);border-radius:6px;background:#f0f3eb}
body .information-details summary {cursor:pointer;color:var(--ed-green);font-weight:650}
body .quality-details {display:grid;gap:6px;margin:16px 0 0}
body .quality-details div {display:grid;grid-template-columns:minmax(8rem,.65fr) 1fr;gap:12px}
body .quality-details dt {color:var(--ed-muted)}
body .quality-details dd {margin:0;color:var(--ed-ink)}
body .contribution-change-details {margin-top:20px;padding-top:16px;border-top:1px solid var(--ed-line)}
body .contribution-change-details>summary {display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--ed-green);font-weight:650}
body .contribution-change-details[open]>summary {margin-bottom:16px}
body .place-article h2 {font-size:21px;font-weight:600}
body .place-description {font-size:14px;line-height:1.9}
body .place-action-group {gap:10px;margin-top:20px}
body .place-secondary-actions {gap:12px;margin-top:2px}
body .place-secondary-actions .mm-btn {background:transparent;border-color:transparent;padding-inline:2px;font-size:13px;line-height:1.45}
body .place-action-group .directions-link img {filter:brightness(0) invert(1)}
body .place-mobile-actions {display:none}
/* Authentication/account: readable forms, comfortable targets, no auth changes. */
body .mm-auth-page {width:min(100% - 40px,500px);min-height:610px;padding:60px 0 72px}
.mm-auth-page .mm-page-article {background:#fff;border:1px solid var(--ed-line);border-radius:7px;padding:36px}
.mm-auth-page .mm-page-header {padding-bottom:23px;margin-bottom:26px}
.mm-auth-page .mm-page-header h1 {font-size:34px}
.mm-auth-page .mm-page-content {font-size:13px}
.mm-auth-page .mm-field {margin:18px 0}
.mm-auth-page form .mm-btn {width:100%;margin:8px 0 4px}
.mm-auth-page .mm-label {font-size:12px;font-weight:500}
.mm-auth-page .mm-page-content>p {margin:16px 0 0}
body .mm-member-hero {border-radius:6px;background:#eef1e8;border:1px solid #d7decd;box-shadow:none}
body .mm-member-quick-card,body .mm-member-card {border-radius:6px;border-color:var(--ed-line);box-shadow:none}
body .mm-member-quick-card:hover {transform:none;background:#f0f3ea}
body .pt-hero,body .pt-card {border-radius:7px;background:#f1f3ec;box-shadow:none}
body .pt-hero-figure {margin:24px 0 0}
body .pt-hero-figure img {display:block;width:100%;max-width:768px;height:auto;border-radius:7px;background:#e7ebdf}
body .pt-hero-figure figcaption {margin-top:8px;color:#4c5a4a;font-size:13px;line-height:1.6}
body .mm-page-pilgrim-type {max-width:60rem}
body .mm-page-pilgrim-type .pt-section>.pt-copy {max-width:44rem}
body .mm-page-pilgrim-type .pt-cta {background:var(--mm-navy-900,#0b2d5b)}
body .mm-page-pilgrim-type .pt-cta:hover,body .mm-page-pilgrim-type .pt-cta:focus-visible {background:#123a72;color:#fff}
@media (min-width:900px) {
 body .mm-page-pilgrim-type .pt-hero {display:grid;grid-template-columns:1.05fr .95fr;gap:24px 44px;align-items:center;padding:40px 40px 36px}
 body .mm-page-pilgrim-type .pt-hero-figure {margin:0}
 body .mm-page-pilgrim-type .pt-section .pt-btn {display:inline-flex;width:auto;min-width:220px}
}
/* 업데이트 소식 */
.footer-updates {margin:30px 0 0}
.footer-updates a {display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:8px 14px 8px 9px;border:1px solid #dbe2ee;border-radius:999px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 1px 2px rgba(16,38,73,.05);transition:border-color .15s,box-shadow .15s,transform .15s}
.footer-updates a:hover {border-color:#bfcde3;box-shadow:0 4px 12px rgba(16,38,73,.09);transform:translateY(-1px)}
.footer-updates-icon {display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#e8eefb;color:var(--mm-navy-900,#0b2d5b);flex:none}
.footer-updates-label {font-weight:700;color:var(--mm-navy-900,#0b2d5b);font-size:12px;letter-spacing:.01em;flex:none}
.footer-updates time {color:var(--ed-muted);font-size:12px;flex:none}
.footer-updates-title {min-width:0;font-size:12.5px;color:#253044;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-updates-arrow {width:14px;height:14px;opacity:.5;flex:none}
@media (max-width:640px) {
 .footer-updates a {width:100%;padding-right:12px}
}
.updates-list {list-style:none;margin:0;padding:0}
.updates-item {padding:20px 0;border-bottom:1px solid var(--ed-line)}
.updates-item:last-child {border-bottom:0;padding-bottom:4px}
.updates-item time {display:block;color:var(--ed-muted);font-size:13px;letter-spacing:.02em}
.updates-item h2 {margin:4px 0 8px;font-size:19px}
.updates-item .updates-body {font-size:15px;line-height:1.9}
.updates-item .updates-body>:first-child {margin-top:0}
.updates-item .updates-body>:last-child {margin-bottom:0}
.updates-empty {color:var(--ed-muted);font-size:14px}
.updates-pagination {margin-top:24px}
.updates-pagination ul {display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.updates-pagination .page-numbers {display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--ed-line);border-radius:6px;color:inherit;text-decoration:none}
.updates-pagination .page-numbers.current {background:var(--mm-navy-900,#0b2d5b);border-color:var(--mm-navy-900,#0b2d5b);color:#fff}
.legal-shell,.mm-page:has(.legal-section) {max-width:820px}
/* Only outer map geometry changes. Markers and generated runtime are untouched. */
body.mm-map-view .site-footer {display:none}
body.mm-map-view .map-app {height:calc(100dvh - 83px);grid-template-rows:auto minmax(0,1fr)}
body.mm-map-view .map-toolbar {box-shadow:none;background:var(--ed-paper)}
body.mm-map-view .map-filter-chip {min-height:38px;border-radius:5px;border-color:#bbc7b2}
body.mm-map-view .map-filter-chip[aria-pressed=true] {background:#2d493f;border-color:#2d493f}
body.mm-map-view .results-panel {background:#fafbf7}
body.mm-map-view .map-toolbar .mm-btn {min-height:44px;border-radius:5px}
@media (max-width:1150px) {
 body:is(.mm-home,.mm-site) .desktop-nav {gap:0}
 body:is(.mm-home,.mm-site) .desktop-nav a {font-size:11px;padding:8px 6px}
 body:is(.mm-home,.mm-site) .desktop-nav a img {display:none}
 body:is(.mm-home,.mm-site) .header-search {display:none}
 body:is(.mm-home,.mm-site) .header-actions {gap:6px;margin-left:0}
}
@media (max-width:960px) {
 body:is(.mm-home,.mm-site) .desktop-nav {display:none}
 body:is(.mm-home,.mm-site) .menu-toggle {display:grid}
 body:is(.mm-home,.mm-site) .header-actions {margin-left:auto}
 body:is(.mm-home,.mm-site) .header-search {display:grid}
}
@media (max-width:800px) {
 html {scroll-padding-top:82px}
 body:is(.mm-home,.mm-site) {padding-bottom:calc(var(--mm-bottom-height) + env(safe-area-inset-bottom));font-size:14px}
 body:is(.mm-home,.mm-site) .container {width:calc(100% - 40px)}
 body:is(.mm-home,.mm-site) .header-inner {min-height:65px;gap:12px}
 body:is(.mm-home,.mm-site) .brand img {width:134px}
 body:is(.mm-home,.mm-site) .header-actions {gap:2px}
 body:is(.mm-home,.mm-site) .login-link,body:is(.mm-home,.mm-site) .header-search {display:none}
 body:is(.mm-home,.mm-site) .language-control select {max-width:89px;font-size:11px;padding-inline:2px}
 body:is(.mm-home,.mm-site) .language-icon {width:15px;height:15px}
 body:is(.mm-home,.mm-site) .site-footer {padding:28px 0 20px}
 body:is(.mm-home,.mm-site) .footer-main {flex-direction:column;align-items:flex-start;gap:20px}
 body:is(.mm-home,.mm-site) .footer-nav {justify-content:flex-start;gap:0 18px}
 body:is(.mm-home,.mm-site) .footer-nav a {font-size:10px}
 body:is(.mm-home,.mm-site) .footer-meta {align-items:flex-start;gap:12px;flex-direction:column;margin-top:15px;padding-top:15px}
 .mm-bottom-nav {position:fixed;z-index:45;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:var(--mm-bottom-height);padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #d0d8c7;background:#fffffff5;backdrop-filter:blur(15px);box-shadow:0 -3px 16px #1d2f2206}
 .mm-bottom-nav>a {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:55px;color:#697368!important;text-decoration:none;font-size:10px;font-weight:500;line-height:1.4;border-radius:6px;padding:5px 0}
  .mm-bottom-nav>a img, .mm-bottom-nav>a svg {display:block;width:22px;height:22px}
  .mm-bottom-nav>a img {opacity:.65}
  .mm-bottom-nav>a[aria-current=page] {color:#792638!important;background:#f8f0f0}
  .mm-bottom-nav>a[aria-current=page] img {opacity:1;filter:invert(19%) sepia(25%) saturate(2247%) hue-rotate(305deg) brightness(90%)}
 .mm-page,.directory-shell,.place-shell {width:calc(100% - 40px);padding-top:28px;padding-bottom:40px}
 body .mm-page-header h1,body .directory-hero h1,body .place-hero h1,body .mm-member-title {font-size:31px;line-height:1.4}
 body .mm-page-pilgrimage .mm-page-header {display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:26px 23px 215px;gap:15px}
 .mm-page-pilgrimage .mm-page-header::after {inset:auto 0 0;height:190px;background-position:center 45%}
 body .mm-page-pilgrimage .mm-page-header h1 {font-size:31px}
 body .mm-page-pilgrimage .mm-page-lede {font-size:13px;margin:0}
 body .mm-pilgrimage-list {grid-template-columns:1fr;gap:20px}
 body .mm-pilgrimage-card {padding:23px}
 body .mm-pilgrimage-card>a {font-size:19px}
 body .directory-hero {gap:20px;padding-top:4px;padding-bottom:24px}
 body .directory-contact {gap:18px}
 body .directory-tools {padding:18px}
 body .directory-search-row {display:flex;flex-wrap:wrap;gap:8px}
 body .directory-search-label {width:100%}
 body .directory-search-input {min-width:0;flex:1}
 body .directory-list a {font-size:12px}
 body .place-hero {padding-top:8px;padding-bottom:24px}
 body .place-primary>section.next-mass-panel {padding:22px}
 body .place-action-group {gap:8px}
 body .place-action-group>.mm-btn {flex:1 1 auto}
 body .place-mobile-actions {position:static;display:flex;gap:10px;margin:28px 0 0;padding:0;border:0;background:none}
 body .place-mobile-actions .mm-btn {flex:1;min-width:0}
 body .mm-auth-page {min-height:550px;padding:32px 0 40px}
 .mm-auth-page .mm-page-article {padding:26px 23px}
 .mm-auth-page .mm-page-header h1 {font-size:29px}
 body .mm-member-hero {padding:25px 23px}
 body.mm-map-view .map-app {height:calc(100dvh - 66px - var(--mm-bottom-height) - env(safe-area-inset-bottom));min-height:400px}
 body.mm-map-view .map-toolbar-inner {flex-wrap:nowrap;width:calc(100% - 24px);gap:7px}
 body.mm-map-view .map-searchbox {flex:1;min-width:0}
 body.mm-map-view .map-searchbox .mm-btn {padding:10px;min-width:44px}
 body.mm-map-view .map-searchbox .mm-btn span {display:none}
 body.mm-map-view .map-search-input {min-height:44px;font-size:13px}
 body.mm-map-view .map-locate {flex:0 0 44px;width:44px;padding:8px}
 body.mm-map-view .map-locate span {display:none}
 body.mm-map-view .map-filter-row {width:100%;padding:3px 12px 10px;flex-wrap:nowrap;overflow:auto;scrollbar-width:none;gap:6px}
 body.mm-map-view .map-filter-label {display:none}
 body.mm-map-view .map-filter-chip {flex-shrink:0;min-height:38px;font-size:11px;padding:7px 11px}
 body.mm-map-view .results-panel {border-radius:18px 18px 0 0;padding:0 18px 18px;max-height:55%;box-shadow:0 -4px 24px #21392720}
 body.mm-map-view .results-panel[data-sheet-state=peek] {max-height:24%}
 body.mm-map-view .results-panel[data-sheet-state=intermediate] {max-height:48%}
 body.mm-map-view .results-panel[data-sheet-state=expanded] {max-height:92%}
 body.mm-map-view #pilgrimage-bar {bottom:calc(var(--mm-bottom-height) + env(safe-area-inset-bottom));z-index:46}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto} body:is(.mm-home,.mm-site) * {animation:none!important;transition:none!important}}
