.photo-button{display:block;width:100%;padding:.35rem;background:#edf3ee;color:#193f32;border:1px solid #cedbd1;border-radius:.4rem;text-align:center;cursor:zoom-in}
.photo-button img{display:block;width:100%;height:10rem;object-fit:contain}.photo-button span{display:block;font-size:.85rem}.photo-empty{display:block;padding:.6rem;color:#516657;font-size:.85rem}
.inventory-photo{width:6rem}.inventory-photo .photo-button img{height:5rem}.inventory-editor-photo{max-width:16rem;margin:1rem 0}
.gift-viewer{width:min(62rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;padding:1rem;border:1px solid #a5b8aa;border-radius:.65rem;background:#f8faf8;color:#193f32;font:16px/1.5 system-ui,sans-serif}
.gift-viewer::backdrop{background:rgba(0,0,0,.7)}.gift-viewer h2{margin:0;font-size:1.3rem;overflow-wrap:anywhere}.gift-viewer header,.gift-viewer nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.gift-viewer button{font:inherit;min-height:44px;padding:.5rem .8rem;border-radius:.4rem;border:1px solid #18533d;background:#18533d;color:white;cursor:pointer}.gift-viewer button:disabled{opacity:.5;cursor:not-allowed}.gift-viewer figure{margin:.75rem 0;text-align:center;touch-action:pan-y pinch-zoom;min-height:8rem}.gift-viewer img{display:block;margin:auto;max-width:100%;max-height:65dvh;object-fit:contain;width:auto;height:auto}.gift-viewer p{overflow-wrap:anywhere}.gift-viewer [hidden]{display:none!important}.gift-viewer :focus-visible,.photo-button:focus-visible{outline:3px solid #b25917;outline-offset:3px}
