.box-photo-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:.75rem;margin:1rem 0;padding:0;list-style:none}.box-photo-editor li{min-width:0;border:1px solid #8886;border-radius:12px;padding:.5rem}.box-photo-editor img{width:100%;height:120px;object-fit:contain}.box-photo-editor button,.box-gallery-dialog button,.box-gallery-open{min-height:44px;min-width:44px;padding:.5rem .75rem;border-radius:10px}.box-photo-editor button:focus-visible,.box-gallery-dialog button:focus-visible{outline:3px solid #a8c8ff;outline-offset:2px}.box-photo-editor .photo-controls{display:flex;flex-wrap:wrap;gap:.25rem}.box-gallery-dialog{width:min(94vw,960px);max-height:92dvh;padding:1rem;border:1px solid #8886;border-radius:16px;background:#faf9f6;color:#2f2f2f}.box-gallery-dialog::backdrop{background:#000b}.dark .box-gallery-dialog{background:#2f2f2f;color:#faf9f6}.box-gallery-dialog header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.box-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;max-width:100%}.box-gallery-track figure{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:center}.box-gallery-track img{display:block;width:100%;height:60dvh;object-fit:contain}.box-gallery-track figcaption{text-align:center;padding:.5rem}.box-gallery-thumbs{display:flex;gap:.5rem;overflow-x:auto;margin-top:.5rem}.box-gallery-thumbs img{width:56px;height:44px;object-fit:cover}.box-gallery-thumbs button{flex-shrink:0;border:1px solid #8888}.box-gallery-dialog [role=status]{padding:.5rem 0}.box-gallery-open{display:inline-flex;align-items:center;gap:.5rem;margin:.5rem}
.box-gallery-open[hidden]{display:none}
.box-card-labels{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;min-width:0}
.box-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.box-card-labels .box-gallery-icon{flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;display:inline-flex;justify-content:center;align-items:center}
.box-card-labels .box-gallery-icon[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.box-gallery-dialog .fa-spin{animation:none}}
