/* Branch mobile styles. Shared footer is in albert-mobile.css. */
:root { --ad-branches-mobile-css: 1; }

.ad-mobile-directory { display: none; }

@media (max-width: 849px) {
.ad-mobile-directory-ready .ad-desktop-tree-source { display: none !important; }

.ad-mobile-directory-ready .ad-mobile-directory { display: block; }

.ad-branch-page #content { padding-top: 24px; padding-bottom: 24px; }

.ad-branch-page .header-main::after { display: none; }

.ad-branch-page .header-main .nav-icon > a { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }

.ad-mobile-directory-ready #content > .row-main > .col { padding-bottom: 0; }

.ad-mobile-directory { max-width: 620px; margin: 0 auto; color: #4a4744; }

.ad-mobile-directory *, .ad-mobile-directory *::before, .ad-mobile-directory *::after { box-sizing: border-box; }

.ad-mobile-breadcrumb { margin: 0 0 16px; text-align: center; font-size: 12px; line-height: 1.6; color: #7b746d; }

.ad-mobile-title { margin: 0 0 12px; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(27px, 7vw, 36px); line-height: 1.15; text-align: center; color: #7d433b; }

.ad-mobile-intro { margin: 0 0 24px; text-align: center; font-size: 14px; line-height: 1.6; }

.ad-mobile-search-label { display: block; font-size: 13px; font-weight: 400; color: #4a4744; }

.ad-mobile-search { display: block; width: 100%; min-height: 48px; margin: 8px 0 0; border: 1px solid #b7a994; border-radius: 4px; padding: 10px 12px; background: #fffdf8; color: #4a4744; font-size: 16px; box-shadow: none; }

.ad-mobile-count { margin: 12px 0; font-size: 12px; color: #6f6963; }

.ad-mobile-people { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }

.ad-mobile-people > .ad-mobile-person { margin: 0; padding: 0; }

.ad-mobile-person[hidden] { display: none !important; }

.ad-mobile-directory .ad-mobile-person-button {
    display: flex; align-items: center; gap: 14px; width: 100%; min-width: 0;
    margin: 0; padding: 16px; border: 1px solid #d8c7ad; border-radius: 5px;
    background: #fbf7ef; color: #4a4744; text-align: left;
    font-family: "Libre Baskerville", Georgia, serif; font-weight: 400;
    font-size: 14px; line-height: 1.5; letter-spacing: normal; text-transform: none;
    white-space: normal; box-shadow: none; cursor: pointer;
  }

.ad-mobile-person-button:hover { background: #f3ecdf; }

.ad-mobile-person-button:focus-visible, .ad-mobile-search:focus-visible { outline: 2px solid #7d433b; outline-offset: 3px; }

.ad-mobile-portrait { display: block; flex: 0 0 76px; width: 76px; height: 76px; object-fit: cover; }

.ad-mobile-person-copy { display: block; flex: 1; min-width: 0; }

.ad-mobile-person-copy > span { display: block; overflow-wrap: anywhere; }

.ad-mobile-person-name { font-family: "Cormorant Garamond", Georgia, serif; font-size: 24px; font-weight: 600; line-height: 1.12; }

.ad-mobile-person-years { margin-top: 5px; font-size: 13px; color: #8f5a50; }

.ad-mobile-person-parents { margin-top: 7px; font-size: 12px; line-height: 1.6; color: #6f6963; }

.ad-mobile-person-action { margin-top: 8px; font-size: 12px; color: #7d433b; }

.ad-branch-page .person-profile-panel { box-sizing: border-box; width: 100%; max-width: 560px; padding: 64px 22px 32px; padding-bottom: max(32px, env(safe-area-inset-bottom)); overscroll-behavior: contain; }

.ad-branch-page .person-profile-close { top: 12px; right: 12px; width: 44px; height: 44px; }

.ad-branch-page .person-profile-header { gap: 16px; padding-right: 0; }

.ad-branch-page .person-profile-photo { flex-basis: 84px; width: 84px; height: 84px; }

.ad-branch-page .person-profile-identity { min-width: 0; overflow-wrap: anywhere; }

.ad-branch-page .person-profile-identity h2 { font-size: 27px; line-height: 1.15; }

.ad-branch-page .person-profile-descendants { grid-template-columns: 1fr; }

.ad-memorial-page .jm-intro-copy { padding: 20px 0; }

.ad-memorial-page .jm-intro-copy h1 { font-size: 30px; line-height: 1.15; text-align: center; }

.ad-memorial-page .jm-intro-copy p { font-size: 15px; line-height: 1.75; }

.ad-memorial-page .jm-facts-box { margin: 0 auto 24px; max-width: 100%; }

.ad-memorial-page .jm-contact-callout { flex-direction: column; gap: 16px; text-align: center; }

.ad-memorial-page .jm-contact-button { display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0 auto; white-space: normal; line-height: 1.5; }
}

@media (max-width: 379px) {
.ad-mobile-directory .ad-mobile-person-button { padding: 12px; gap: 12px; }

.ad-mobile-portrait { flex-basis: 62px; width: 62px; height: 62px; }

.ad-mobile-person-name { font-size: 22px; }
}
