.hb-bg-trigger{position:relative;cursor:zoom-in}.hb-bg-trigger::after{content:'';position:absolute;top:10px;right:10px;width:30px;height:30px;background:rgba(0,0,0,0.6) url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') center/16px no-repeat;border-radius:50%;opacity:0;transition:opacity 0.3s;z-index:2}.hb-bg-trigger:hover::after{opacity:1}.hb-modal-preview{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#000;background-color:rgba(0,0,0,0);transition:background-color 0.3s ease}.hb-modal-preview.showing{display:block;background-color:rgba(0,0,0,0.92)}.hb-modal-image-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.7);transition:transform 0.4s cubic-bezier(0.175,0.885,0.32,1.275);max-width:90%;max-height:90vh;opacity:0;transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275)}.hb-modal-preview.showing .hb-modal-image-container{transform:translate(-50%,-50%) scale(1);opacity:1}.no-csstransforms .hb-modal-image-container{position:absolute;top:10%;left:10%;width:80%;height:80%;margin:auto;opacity:0;transition:opacity 0.4s ease}.no-csstransforms .hb-modal-preview.showing .hb-modal-image-container{opacity:1}.hb-modal-image{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,0.5);position:relative;top:50%;transform:translateY(-50%)}.hb-modal-close{position:absolute;top:25px;right:40px;color:#fff;font-size:42px;font-weight:bold;cursor:pointer;z-index:10000;text-decoration:none;opacity:0;transform:translateY(-20px);transition:all 0.3s ease 0.1s}.hb-modal-preview.showing .hb-modal-close{opacity:1;transform:translateY(0)}.hb-modal-close:hover{color:#ff6b6b}.hb-modal-caption{position:absolute;bottom:30px;left:0;width:100%;text-align:center;color:#ddd;padding:15px 0;font-size:16px;line-height:1.5;opacity:0;transform:translateY(20px);transition:all 0.3s ease 0.2s}.hb-modal-preview.showing .hb-modal-caption{opacity:1;transform:translateY(0)}.hb-preview-trigger{cursor:pointer;transition:transform 0.2s ease,opacity 0.2s ease}.hb-preview-trigger:hover{transform:scale(1.03);opacity:0.9}@media screen and (min-width:1px){.hb-modal-preview{background-color:rgba(0,0,0,0)}.hb-modal-preview.showing{background-color:rgba(0,0,0,0.92)}}