html,body{height:100%;margin:0;padding:0;overflow:hidden}
body #map{height:100vh;height:100dvh;width:100%}
[hidden]{display:none!important}
#deceasedSearchToggle{position:fixed;right:16px;top:16px;z-index:1100;display:flex;align-items:center;gap:8px;min-height:52px;padding:12px 18px;border:1px solid #cbbda8;border-radius:28px;background:#fffaf0;color:#24382e;box-shadow:0 2px 12px #0003;font:600 15px Arial;cursor:pointer;touch-action:manipulation}
#deceasedSearchToggle svg{width:24px;height:24px}
#deceasedSearch{box-sizing:border-box;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;background:radial-gradient(ellipse at top left,#fffaf0,transparent 65%),#f1eadf;color:#303c35;font:16px/1.5 Arial,sans-serif;overflow:hidden}
#deceasedSearch[open]{display:flex;flex-direction:column}
#deceasedSearch *{box-sizing:border-box}
#deceasedSearch header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:12px 20px;border-bottom:1px solid #dfd4c4}
#deceasedSearch h1{font-size:22px;margin:0}
#deceasedSearch button,#deceasedSearch input{font:inherit;min-height:44px;touch-action:manipulation}
#deceasedSearchClose{width:44px;height:44px;flex:none;border:1px solid #cbbda8;background:white;border-radius:8px;font-size:26px!important;cursor:pointer}
.deceased-scroll{overflow:auto;min-height:0;flex:1;padding:24px;overscroll-behavior:contain}
.deceased-content{max-width:900px;margin:auto}
#deceasedSearchForm{padding:24px;background:white;border:1px solid #e0d7ca;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
#deceasedSearchForm label{display:block;font-size:14px;font-weight:bold;margin-bottom:6px}
#deceasedSearchForm input{width:100%;border:1px solid #b8b6ab;border-radius:6px;padding:10px;color:#303c35;background:white}
#deceasedSearchForm input[readonly]{background:#f6f3ed}
.deceased-wide{grid-column:1/-1}
#deceasedSearchForm button{border:0;border-radius:7px;background:#245744;color:white;padding:12px;cursor:pointer}
#deceasedSearchStatus{margin:18px 0 12px}
#deceasedResults{list-style:none;padding:0;margin:0}
#deceasedResults button{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;width:100%;padding:14px;border:1px solid #e0d7ca;border-radius:8px;background:white;color:#303c35;margin-bottom:8px;cursor:pointer}
#deceasedResults strong,#deceasedResults small{display:block;overflow-wrap:anywhere}
#deceasedResults small{font-size:13px;color:#596257;font-weight:normal}
.deceased-years{white-space:nowrap;font-size:14px;color:#66533d}
#deceasedMore{margin:12px 0;width:100%;border:1px solid #cbbda8;background:white;border-radius:7px;cursor:pointer}
#deceasedSearch button:focus-visible,#deceasedSearch input:focus-visible,#deceasedSearchToggle:focus-visible{outline:3px solid #98712e;outline-offset:2px}
#cemeteryLoading{position:fixed;inset:0;z-index:2000;background:#f1eadf;display:flex;flex-direction:column;align-items:center;justify-content:center;font:18px Arial;text-align:center;padding:24px;color:#303c35}
#cemeteryLoadHelp{max-width:420px;font-size:14px;line-height:1.5}
.loading-wheel{display:block;width:40px;height:40px;border:4px solid #d9cfbd;border-top-color:#245744;border-radius:50%;animation:cemetery-spin 1s linear infinite}
@keyframes cemetery-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-wheel{animation:none}}
@media(max-width:540px){.deceased-scroll{padding:14px}#deceasedSearchForm{padding:16px;gap:14px;grid-template-columns:1fr}.deceased-wide{grid-column:auto}#deceasedSearch header{padding:10px 14px}#deceasedSearch h1{font-size:19px}#deceasedResults button{align-items:flex-start;gap:8px}.deceased-years{font-size:12px}}

#deceasedSearchToggle{box-sizing:border-box;background:#d2f5df;color:#24382e;border-color:#afcdb8;border-radius:50%;width:90px;height:90px;min-height:90px;flex-direction:column;justify-content:center;gap:3px;padding:8px;font-size:12px}#deceasedSearchToggle svg{width:34px;height:34px}

#deceasedSummary{flex:1;font-size:14px;line-height:1.5;margin:0 16px}#deceasedSearch header{flex-wrap:wrap}#deceasedSearchClose{margin-left:auto}@media(max-width:600px){#deceasedSummary{order:3;flex-basis:100%;margin:0}#deceasedSearch header{gap:8px}}

#deceasedResults{margin-top:18px}
