/* photo-capacity-20261023 */
.photo-upload-unavailable-mark{display:none}
.grave-dialog .upload-grave-photo.photo-capacity-full{border-color:#b96b70;background:#fff1f1;color:#912b34;cursor:not-allowed}
.upload-grave-photo.photo-capacity-full .photo-upload-unavailable-mark{display:inline}
.grave-photo-dialog{box-sizing:border-box;width:min(740px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:0;border:1px solid #9fb8ac;border-radius:14px;background:white;color:#183b30;font:16px/1.55 Arial;overflow:hidden}
.grave-photo-dialog[open]{display:flex;flex-direction:column}.grave-photo-dialog::backdrop{background:#10281f99}
.grave-photo-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#e8f4ec;border-bottom:1px solid #cbded1}
.photo-upload-form textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ba99a;border-radius:7px;font:inherit;resize:vertical}.photo-memory-text{margin:0 0 12px;text-align:center;font-size:20px;font-weight:bold;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.grave-photo-dialog h2{margin:0;font-size:22px}.grave-photo-dialog button,.grave-photo-dialog input{font:inherit;box-sizing:border-box}
.grave-photo-dialog .photo-close{flex:none;width:44px;height:44px;padding:0;border:1px solid #a6c0b1;border-radius:8px;background:white;color:#183b30;font-size:28px}
.photo-modal-body{min-height:0;overflow:auto;padding:18px 22px;overscroll-behavior:contain;overflow-wrap:anywhere}.photo-declaration ul{padding-left:22px}.photo-declaration li{margin:10px 0}
.photo-upload-form{display:grid;gap:14px}.photo-upload-form>label:not(.photo-consent){display:grid;gap:6px;font-weight:bold}.photo-upload-form input:not([type=checkbox]){width:100%;max-width:100%;padding:10px;border:1px solid #8ba99a;border-radius:7px;background:white}.photo-upload-form input[hidden]{display:none}
.photo-upload-form .photo-consent{display:flex;gap:10px;align-items:flex-start}.photo-consent input{flex:none;width:20px;height:20px;margin:3px 0 0}
.photo-submit{padding:13px 18px;background:#245744;color:white;border:0;border-radius:8px;min-height:48px;font-weight:bold}.photo-submit:disabled{opacity:.6}.photo-upload-status{margin:0}.photo-upload-previews{display:flex;gap:10px;flex-wrap:wrap}.photo-upload-previews img{max-width:120px;max-height:120px;border-radius:8px;object-fit:contain}
.photo-consent-accept,.photo-consent-revoke{padding:12px;border:1px solid #739b85;border-radius:8px;background:#edf7ef;color:#244f36;font-weight:bold;min-height:44px}.photo-upload-form button[hidden]{display:none!important}
.grave-photo-dialog figure{margin:0 0 24px}.grave-photo-dialog figure img{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain;border-radius:8px}.grave-photo-dialog figcaption{display:grid;gap:4px;padding:10px;text-align:center}.grave-photo-dialog figcaption span{font-size:13px}.grave-photo-dialog a{color:#245744}
.grave-photo-dialog :is(button,a,input):focus-visible{outline:3px solid #b47a20;outline-offset:2px}
@media(max-width:480px){.grave-photo-dialog h2{font-size:18px}.photo-modal-body{padding:14px}.grave-photo-dialog>header{padding:10px 14px}}
.grave-photo-gallery{position:fixed;inset:0;margin:auto;width:min(900px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}
.grave-photo-gallery>header{flex:none}.grave-photo-gallery .photo-close{margin-left:auto;align-self:flex-start}
.grave-photo-gallery figure{margin:0}.photo-carousel-viewer{position:relative;min-height:100px;display:flex;align-items:center;justify-content:center;background:#f1f5f2;border-radius:10px}
.grave-photo-gallery .photo-carousel-viewer img{max-height:calc(100dvh - 250px);max-width:100%;object-fit:contain;margin:0 auto}
.grave-photo-gallery .photo-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;min-height:44px;padding:0;border:1px solid #9cb5a8;border-radius:10px;background:#fffffff2;color:#245744;font-size:36px;line-height:1;box-shadow:0 2px 8px #183b3026;cursor:pointer}
.photo-carousel-arrow[hidden]{display:none!important}.photo-previous{left:8px}.photo-next{right:8px}.photo-carousel-position{font-variant-numeric:tabular-nums;font-weight:bold}
@media(max-width:480px){.grave-photo-gallery .photo-carousel-arrow{width:40px;height:48px}.photo-previous{left:4px}.photo-next{right:4px}}
