.temple-navbar .temple-name, .wrap-content, .detail-heading { overflow-wrap: anywhere; }
.temple-navbar .temple-nav .nav-link { min-height: 2.75rem; display: inline-flex; align-items: center; }
.temple-navbar .nav-search { min-width: 0; }
.temple-navbar .nav-search input { min-width: 0; }
.temple-navbar .nav-link.active { font-weight: 700; text-decoration: underline; text-underline-offset: .35em; }
.temple-navbar .nav-search .btn, .temple-filter .btn,
.temple-action-row .btn, .temple-register-table a, .temple-back-link,
.temple-linked-list a, .temple-page-header a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.temple-navbar :focus-visible, main .temple-filter :focus-visible,
main .temple-panel :focus-visible, main .temple-register-table :focus-visible,
main .temple-action-row :focus-visible, main .temple-back-link:focus-visible,
main .temple-page-header :focus-visible { outline: 3px solid #0a58ca; outline-offset: 2px; }
main .temple-panel, main .detail-heading, main .temple-identity-cell { min-width: 0; }
main .temple-panel .card-body, main .temple-register-table td,
main .temple-register-table th, main .temple-facts dd { overflow-wrap: anywhere; }
main .temple-filter .form-control, main .temple-filter .form-select { max-width: 100%; }
main .temple-filter, main .temple-panel { border-radius: .75rem; }
main .temple-filter { padding: 1rem; background: var(--bs-tertiary-bg); }
main .temple-page-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
main .temple-eyebrow { font-size: .875rem; font-weight: 600; color: var(--bs-secondary-color); margin-bottom: .25rem; }
main .temple-quiet-link, main .temple-back-link { font-size: .925rem; }
main .temple-back-link { margin-bottom: .5rem; }
main .temple-reading { display: block; color: var(--bs-secondary-color); font-size: .875rem; font-weight: 400; }
main .temple-result-count { color: var(--bs-secondary-color); font-size: .925rem; margin-bottom: .75rem; }
main .temple-selection-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; margin-bottom: .5rem; }
main .temple-register-table { margin-bottom: 0; }
main .temple-register-table .temple-identity-cell { font-weight: 600; }
main .temple-register-table .temple-identity-cell a { font-size: 1.05rem; }
main .temple-current-list .temple-classification-name { display: block; }
main .temple-mobile-only { display: none; }
main .temple-register-table .form-check-input { width: 1.25rem; height: 1.25rem; cursor: pointer; }
main .temple-secondary-details summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; color: var(--bs-link-color); }
main .temple-secondary-details summary::before { content: "▸"; margin-right: .4rem; }
main .temple-secondary-details[open] summary::before { content: "▾"; }
main .temple-status { display: inline-block; border: 1px solid var(--bs-border-color); border-radius: 50rem; background: var(--bs-tertiary-bg); padding: .2rem .65rem; font-size: .875rem; font-weight: 600; }
main .temple-status-living { border-color: var(--bs-success-border-subtle); background: var(--bs-success-bg-subtle); }
main .temple-status-deceased { border-color: var(--bs-secondary-border-subtle); background: var(--bs-secondary-bg-subtle); }
main .temple-section { margin-top: 2rem; }
main .temple-quick-actions { margin-bottom: .75rem; }
main .temple-section-nav { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin-bottom: 1rem; }
main .temple-section-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .25rem .65rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: 50rem; font-size: .875rem; }
main .temple-panel [id$="-title"], main .temple-section [id$="-title"] { scroll-margin-top: 1rem; }
main .temple-dharma-layout [id^="dharma-"] { scroll-margin-top: 1rem; }
main .temple-section-priority { padding: 1rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; background: var(--bs-tertiary-bg); margin-top: 0; margin-bottom: 1.5rem; }
main .temple-action-row { display: flex; flex-wrap: wrap; gap: .5rem; }
main .temple-panel .card-body > h2:first-child { margin-bottom: 1rem; }
main .temple-facts { display: grid; grid-template-columns: minmax(5rem, 7rem) minmax(0, 1fr); gap: .5rem 1rem; }
main .temple-facts dt { color: var(--bs-secondary-color); font-weight: 500; }
main .temple-facts dd { margin-bottom: 0; }
main .temple-linked-list { list-style: none; padding: 0; margin: 0; }
main .temple-linked-list li + li { border-top: 1px solid var(--bs-border-color); }
main .temple-empty { color: var(--bs-secondary-color); }
main .form-errors, main .errorlist { color: #b02a37; }
main .pagination .page-link { min-height: 2.75rem; display: inline-flex; align-items: center; }

@media (max-width: 991.98px) {
  main .temple-dharma-layout { display: flex; flex-direction: column; gap: 1rem; }
  main .temple-dharma-summary { order: 0; }
  main .temple-dharma-tools { display: contents; }
  main .temple-dharma-tools #dharma-search { order: 1; }
  main .temple-dharma-compare { order: 2; }
  main .temple-dharma-tools #dharma-manual { order: 3; }
  main .temple-dharma-cancel { order: 4; }
  .temple-navbar .temple-nav { order: 3; width: 100%; }
  .temple-navbar .nav-search { order: 4; width: 100%; }
  .temple-navbar .nav-search input { flex: 1; }
  main .temple-table-wrap { overflow-x: visible; }
  main .temple-register-table, main .temple-register-table tbody { display: block; width: 100%; }
  main .temple-register-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  main .temple-register-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--bs-border-color); border-radius: .75rem; margin-bottom: .75rem; padding: .65rem; }
  main .temple-register-table td, main .temple-register-table th[scope="row"] { display: block; width: 100%; min-width: 0; border: 0; padding: .35rem .5rem; font-weight: 400; }
  main .temple-register-table th.temple-identity-cell { font-weight: 600; }
  main .temple-register-table td::before, main .temple-register-table th[scope="row"]::before { content: attr(data-label); display: block; font-weight: 600; font-size: .8rem; color: var(--bs-secondary-color); }
  main .temple-register-table .temple-identity-cell { grid-column: 1 / -1; grid-row: 1; font-weight: 600; }
  main .temple-register-table .temple-identity-cell::before, main .temple-register-table .temple-select-cell::before, main .temple-register-table td[colspan]::before { content: none; }
  main .temple-register-table .temple-select-cell { grid-column: 1 / -1; grid-row: 2; }
  main .temple-register-table td[colspan] { grid-column: 1 / -1; }
  main .pagination { justify-content: center; gap: .25rem; }
}
@media (max-width: 575.98px) {
  main .temple-list-filter { --bs-gutter-x: .5rem; --bs-gutter-y: .4rem; padding: .65rem; margin-bottom: .75rem !important; }
  main .temple-list-filter > div:nth-child(2), main .temple-list-filter > div:nth-child(3),
  main .temple-list-filter > div:nth-child(4) { flex: 0 0 50%; width: 50%; }
  main .temple-list-filter .filter-actions { width: 100%; }
  main .temple-list-filter .form-label { margin-bottom: .15rem; font-size: .875rem; }
  main .temple-selection-heading { gap: .15rem; margin-bottom: .25rem; }
  main .temple-selection-heading .small { font-size: .75rem; }
  main .temple-mobile-only { display: inline; }
  main .temple-desktop-only { display: none; }
  main .temple-page-header { margin-bottom: 1rem; }
  main .temple-section { margin-top: 1.25rem; }
  main .temple-panel .card-body { padding: .85rem; }
  main .temple-register-table tr { grid-template-columns: minmax(0, 1fr); padding: .35rem .5rem; margin-bottom: .5rem; }
  main .temple-register-table td, main .temple-register-table th[scope="row"] { padding: .2rem .4rem; }
  main .temple-register-table td:not(.temple-select-cell) { font-size: .9rem; color: var(--bs-secondary-color); }
  main .temple-register-table .temple-identity-cell a { font-size: 1rem; }
  main .temple-register-table .temple-select-cell { justify-self: start; }
  main .temple-current-list tr.temple-household-card,
  main .temple-person-list tr.temple-person-card { gap: 0 .4rem; align-items: center; padding: .4rem .5rem; }
  main .temple-current-list tr.temple-household-card { grid-template-columns: 2.75rem minmax(0, 1fr) minmax(0, 1fr); }
  main .temple-current-list .temple-select-cell { grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 2.75rem; min-height: 2.75rem; padding: 0; }
  main .temple-current-list .temple-identity-cell { grid-column: 2 / -1; grid-row: 1; }
  main .temple-current-list .temple-list-district { grid-column: 1 / 3; grid-row: 2; }
  main .temple-current-list .temple-list-classification { grid-column: 3; grid-row: 2; }
  main .temple-current-list .temple-list-head { grid-column: 1 / -1; grid-row: 3; }
  main .temple-current-list .temple-list-address { grid-column: 1 / -1; grid-row: 4; }
  main .temple-current-list .temple-list-members { grid-column: 1 / 3; grid-row: 5; }
  main .temple-current-list .temple-list-contacts { grid-column: 3; grid-row: 5; }
  main .temple-current-list .temple-classification-name { display: inline; }
  main .temple-current-list .temple-classification-name + .temple-classification-name::before { content: "・"; }
  main .temple-current-list .temple-list-head, main .temple-current-list .temple-list-address,
  main .temple-current-list .temple-list-members, main .temple-current-list .temple-list-contacts { font-size: .85rem; }
  main .temple-current-list .temple-list-address, main .temple-person-list .temple-person-address { line-height: 1.35; }
  main .temple-current-list .temple-list-address > div, main .temple-person-list .temple-person-address > div { overflow-wrap: anywhere; }
  main .temple-current-list .temple-list-members summary, main .temple-current-list .temple-list-contacts summary,
  main .temple-person-list .temple-person-contacts summary { font-size: .85rem; }
  main .temple-current-list .temple-mobile-meta, main .temple-person-list .temple-mobile-meta { min-width: 0; font-size: .8rem; line-height: 1.25; }
  main .temple-current-list .temple-mobile-meta, main .temple-person-list .temple-mobile-meta { border-radius: .5rem; background: var(--bs-tertiary-bg); padding: .2rem .4rem; }
  main .temple-person-list tr.temple-person-card { grid-template-columns: minmax(0, 1fr) auto; }
  main .temple-person-list .temple-identity-cell { grid-column: 1 / -1; grid-row: 1; }
  main .temple-person-list .temple-person-reading { grid-column: 1 / -1; grid-row: 2; color: var(--bs-secondary-color); }
  main .temple-person-list .temple-person-status { grid-column: 1; grid-row: 3; }
  main .temple-person-list .temple-person-district { grid-column: 2; grid-row: 3; }
  main .temple-person-list .temple-person-household { grid-column: 1 / -1; grid-row: 4; }
  main .temple-person-list .temple-person-address { grid-column: 1; grid-row: 5; }
  main .temple-person-list .temple-person-contacts { grid-column: 2; grid-row: 5; }
  main .temple-current-list .temple-household-card td::before,
  main .temple-person-list .temple-person-card td::before { content: none; }
  main .temple-detail-badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
  main .temple-person-affiliation { margin: -.35rem 0 .65rem; font-size: .9rem; overflow-wrap: anywhere; }
  main .temple-person-affiliation span { display: block; }
  main .temple-person-affiliation a { display: inline-flex; align-items: center; min-height: 2.75rem; }
  main .temple-person-dharma { display: block; margin-top: .35rem; font-size: .9rem; overflow-wrap: anywhere; }
  main .temple-quick-actions h2, main .temple-section-priority h2 { font-size: 1rem; margin-bottom: .4rem; }
  main .temple-section-priority { padding: .65rem; margin-bottom: .65rem; }
  main .temple-mobile-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
  main .temple-mobile-action-grid .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 0; width: 100%; padding: .4rem; font-size: .875rem; line-height: 1.25; text-align: center; }
  main .temple-mobile-section-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; overflow: visible; }
  main .temple-mobile-section-nav a { justify-content: center; min-width: 0; padding: .3rem; line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
  main .temple-quick-actions + .temple-mobile-section-nav { margin-top: .5rem; }
  main .temple-mobile-section-nav + .row { --bs-gutter-y: .75rem; }
  main .temple-section-nav { flex-wrap: nowrap; overflow-x: auto; }
  main .temple-section-nav a { flex: none; }
  main .temple-action-row .btn { max-width: 100%; white-space: normal; text-align: left; }
  main .temple-facts { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  main .temple-facts dd { margin-bottom: .75rem; }
}
