.detail-gallery a.gallery-item{display:block;position:relative;cursor:zoom-in}.detail-gallery a.gallery-item:focus-visible{outline:3px solid #f8b0c5;outline-offset:-4px}.gallery-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0008;color:#fff;font-size:16px;font-weight:600}.gallery-preview-open{overflow:hidden}.gallery-preview{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;padding:20px 24px;border:0;background:#08080bf2;color:#fff;box-sizing:border-box}.gallery-preview::backdrop{background:#000e}.gallery-preview[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;min-width:0}.preview-counter{font-size:14px;letter-spacing:2px}.gallery-preview button{display:flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;border:1px solid #ffffff45;border-radius:12px;background:#25212be6;color:#fff;cursor:pointer;font:inherit}.gallery-preview button:hover{background:#58404e}.gallery-preview button:focus-visible{outline:2px solid #f8b0c5;outline-offset:3px}.preview-close{padding:9px 18px;flex-shrink:0}.preview-stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0}.preview-image{display:block;max-width:calc(100% - 124px);max-height:100%;width:100%;height:100%;object-fit:contain;user-select:none}.gallery-preview .preview-previous,.gallery-preview .preview-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:62px;font-size:38px;line-height:1;z-index:1}.preview-previous{left:0}.preview-next{right:0}.gallery-preview [hidden]{display:none!important}.preview-caption{text-align:center;font-size:13px;line-height:1.6;margin:0;padding:5px 45px;overflow-wrap:anywhere;color:#dfd7df}.preview-error{position:absolute;max-width:80%;padding:18px;background:#30212beF;border-radius:12px;color:#fff;text-align:center}@media(max-width:600px){.gallery-preview{padding:12px 10px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));gap:8px}.preview-image{max-width:100%}.gallery-preview .preview-previous,.gallery-preview .preview-next{min-width:36px;width:36px;height:48px;font-size:30px;border-radius:10px;background:#17131bd9}.preview-caption{padding:4px 8px;font-size:12px}.preview-close{padding:8px 14px}.preview-counter{letter-spacing:1px}}
