.photo-gallery{min-width:0;background:#f1eee7;border:1px solid #e6e2d9;border-radius:20px;padding:20px;align-self:start}.photo-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:2px 0 16px;color:#6c6d73}.photo-stage{position:relative;display:block;width:100%;height:390px;padding:22px;border:0;border-radius:10px;background:radial-gradient(ellipse at center,#fcfbf8,#e2dfd7);overflow:hidden;cursor:zoom-in}.photo-stage img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 13px 12px #25283826);transition:transform .3s}.photo-stage:hover img{transform:scale(1.025)}.photo-expand{position:absolute;right:14px;top:14px;background:#fffffff0;border-radius:30px;padding:7px 12px;font-size:11px;box-shadow:0 2px 12px #0001}.photo-number{position:absolute;bottom:15px;left:17px;border-radius:8px;padding:5px 10px;background:#fffffff0;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.photo-number small{font-size:12px;color:#737780}.photo-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#626879;min-height:42px}.photo-caption>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-strip{display:flex;gap:12px;overflow-x:auto;padding:5px 3px 12px;scrollbar-width:thin}.photo-tile,.photo-add{position:relative;flex:0 0 88px;height:94px;padding:5px;background:#fff;border:2px solid transparent;border-radius:9px}.photo-tile img{width:100%;height:100%;object-fit:cover;border-radius:5px}.photo-tile span{position:absolute;left:8px;bottom:8px;font-size:10px;background:#fff;padding:1px 5px;border-radius:3px}.photo-tile.selected{border-color:#141b4d;transform:rotate(-3deg);box-shadow:0 4px 8px #141b4d18}.photo-add{background:transparent;border:1px dashed #9c9b95;font-size:10px;line-height:1.5;color:#555c6e}.photo-add>span{display:block;font-size:23px;font-weight:300;line-height:1.1;margin-bottom:5px}.photo-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.photo-controls button{font-size:11px;background:#ffffffb5}.photo-status{font-size:10px;line-height:1.6;color:#737780;margin:12px 0 0}.photo-gallery button:focus-visible{outline:3px solid #0091da;outline-offset:3px}.photo-lightbox{width:min(1200px,95vw);max-width:95vw;height:92vh;max-height:92vh;padding:24px;background:#131828;color:white;border:0;border-radius:18px}.photo-lightbox::backdrop{background:#090d1ae8;backdrop-filter:blur(8px)}.lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.lightbox-top strong{display:block;font-size:20px}.lightbox-top small{display:block;color:#b7becd;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.photo-lightbox button{background:#ffffff12;color:white;border-color:#ffffff30}.lightbox-stage{height:calc(100% - 110px);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:18px;padding:20px 0}.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-stage button{font-size:28px;padding:4px}.lightbox-bottom{display:flex;justify-content:space-between;font-size:12px;color:#b7becd}.lightbox-bottom>span:first-child{color:#fff}.photo-gallery button:disabled{opacity:.45;cursor:default}@media(max-width:1100px){.photo-stage{height:330px}}@media(max-width:850px){.photo-stage{height:420px}}@media(max-width:480px){.photo-gallery{padding:12px}.photo-stage{height:310px;padding:14px}.photo-heading{font-size:8px;letter-spacing:1px}.photo-lightbox{padding:14px}.lightbox-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px}.lightbox-bottom{font-size:9px}.lightbox-top strong{font-size:16px}}@media(prefers-reduced-motion:reduce){.photo-stage img{transition:none}}
